Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[4] Revision of protected and locked states for core extensions in #__extensions table (update and installation) #28563

Merged
merged 33 commits into from
May 2, 2020

Conversation

ReLater
Copy link
Contributor

@ReLater ReLater commented Apr 4, 2020

Pull Request for Issue #28527

Related pr #28462

Summary of Changes

  • Revision of SQL files (update and installation). protected and locked state.
  • Additional corrections in PostgreSql where some protected and locked entries were erroneously inverted.

Before

  • Some extensions were protected and should not. One could not disable them with no clear reason.

After

  • Only some extensions are left that can not be disabled. All core extensions are still locked (not uninstallable).

Testing

This is a list of extensions that can be disabled at current state.

If somebody disagrees please add a short comment why.
I know that it's stupid to deactivate this or that in a pure core Joomla but from my point of view developers should have a chance to deactivate more than in the past when they want to replace core functionalities. Decisions like that (protected yes or no) are always a double-edged sword.

Hint: This list does not have a locked column because all core extensions are locked=1.
It contains a client_id column to differentiate between FE and BE extensions with the same name; e.g. mod_custom.

Last update: 2020-04-14.

extension_id name type client_id protected
1 com_wrapper component 1 0
3 com_banners component 1 0
7 com_contact component 1 0
16 com_newsfeeds component 1 0
21 com_redirect component 1 0
23 com_finder component 1 0
25 com_tags component 1 0
26 com_contenthistory component 1 0
29 com_fields component 1 0
30 com_associations component 1 0
31 com_privacy component 1 0
32 com_actionlogs component 1 0
34 com_csp component 1 0
38 mod_articles_archive module 0 0
39 mod_articles_latest module 0 0
40 mod_articles_popular module 0 0
41 mod_banners module 0 0
42 mod_breadcrumbs module 0 0
43 mod_custom module 0 0
44 mod_feed module 0 0
45 mod_footer module 0 0
46 mod_login module 0 0
47 mod_menu module 0 0
48 mod_articles_news module 0 0
49 mod_random_image module 0 0
50 mod_related_items module 0 0
51 mod_stats module 0 0
52 mod_syndicate module 0 0
53 mod_users_latest module 0 0
54 mod_whosonline module 0 0
55 mod_wrapper module 0 0
56 mod_articles_category module 0 0
57 mod_articles_categories module 0 0
58 mod_languages module 0 0
59 mod_finder module 0 0
60 mod_custom module 1 0
61 mod_feed module 1 0
62 mod_latest module 1 0
63 mod_logged module 1 0
64 mod_login module 1 0
65 mod_loginsupport module 1 0
66 mod_menu module 1 0
67 mod_popular module 1 0
68 mod_quickicon module 1 0
69 mod_frontend module 1 0
70 mod_messages module 1 0
71 mod_post_installation_messages module 1 0
72 mod_user module 1 0
73 mod_title module 1 0
74 mod_toolbar module 1 0
75 mod_multilangstatus module 1 0
76 mod_version module 1 0
77 mod_stats_admin module 1 0
78 mod_tags_popular module 0 0
79 mod_tags_similar module 0 0
80 mod_sampledata module 1 0
81 mod_latestactions module 1 0
82 mod_privacy_dashboard module 1 0
83 mod_submenu module 1 0
84 mod_privacy_status module 1 0
86 plg_authentication_ldap plugin 0 0
87 plg_content_contact plugin 0 0
88 plg_content_emailcloak plugin 0 0
89 plg_content_loadmodule plugin 0 0
90 plg_content_pagebreak plugin 0 0
91 plg_content_pagenavigation plugin 0 0
92 plg_content_vote plugin 0 0
93 plg_editors_codemirror plugin 0 0
95 plg_editors_tinymce plugin 0 0
96 plg_editors-xtd_article plugin 0 0
97 plg_editors-xtd_image plugin 0 0
98 plg_editors-xtd_pagebreak plugin 0 0
99 plg_editors-xtd_readmore plugin 0 0
100 plg_system_languagefilter plugin 0 0
101 plg_system_cache plugin 0 0
102 plg_system_debug plugin 0 0
103 plg_system_log plugin 0 0
104 plg_system_redirect plugin 0 0
105 plg_system_remember plugin 0 0
106 plg_system_sef plugin 0 0
107 plg_system_logout plugin 0 0
108 plg_user_contactcreator plugin 0 0
109 plg_user_joomla plugin 0 0
110 plg_user_profile plugin 0 0
111 plg_extension_joomla plugin 0 0
112 plg_content_joomla plugin 0 0
113 plg_system_languagecode plugin 0 0
114 plg_quickicon_joomlaupdate plugin 0 0
115 plg_quickicon_downloadkey plugin 0 0
116 plg_quickicon_extensionupdate plugin 0 0
117 plg_captcha_recaptcha plugin 0 0
118 plg_system_highlight plugin 0 0
119 plg_content_finder plugin 0 0
120 plg_finder_categories plugin 0 0
121 plg_finder_contacts plugin 0 0
122 plg_finder_content plugin 0 0
123 plg_finder_newsfeeds plugin 0 0
124 plg_finder_tags plugin 0 0
125 plg_twofactorauth_totp plugin 0 0
126 plg_authentication_cookie plugin 0 0
127 plg_twofactorauth_yubikey plugin 0 0
128 plg_system_updatenotification plugin 0 0
129 plg_editors-xtd_module plugin 0 0
130 plg_system_stats plugin 0 0
131 plg_installer_packageinstaller plugin 0 0
132 plg_installer_folderinstaller plugin 0 0
133 plg_installer_urlinstaller plugin 0 0
134 plg_quickicon_phpversioncheck plugin 0 0
135 plg_editors-xtd_menu plugin 0 0
136 plg_editors-xtd_contact plugin 0 0
137 plg_system_fields plugin 0 0
138 plg_fields_calendar plugin 0 0
139 plg_fields_checkboxes plugin 0 0
140 plg_fields_color plugin 0 0
141 plg_fields_editor plugin 0 0
142 plg_fields_imagelist plugin 0 0
143 plg_fields_integer plugin 0 0
144 plg_fields_list plugin 0 0
145 plg_fields_media plugin 0 0
146 plg_fields_radio plugin 0 0
147 plg_fields_sql plugin 0 0
148 plg_fields_text plugin 0 0
149 plg_fields_textarea plugin 0 0
150 plg_fields_url plugin 0 0
151 plg_fields_user plugin 0 0
152 plg_fields_usergrouplist plugin 0 0
153 plg_fields_subfields plugin 0 0
154 plg_content_fields plugin 0 0
155 plg_editors-xtd_fields plugin 0 0
156 plg_sampledata_blog plugin 0 0
157 plg_system_sessiongc plugin 0 0
158 plg_content_confirmconsent plugin 0 0
159 plg_system_actionlogs plugin 0 0
160 plg_actionlog_joomla plugin 0 0
161 plg_system_privacyconsent plugin 0 0
162 plg_system_logrotation plugin 0 0
163 plg_privacy_user plugin 0 0
164 plg_quickicon_privacycheck plugin 0 0
165 plg_user_terms plugin 0 0
166 plg_user_token plugin 0 0
167 plg_privacy_contact plugin 0 0
168 plg_privacy_content plugin 0 0
169 plg_privacy_message plugin 0 0
170 plg_privacy_actionlogs plugin 0 0
171 plg_captcha_recaptcha_invisible plugin 0 0
172 plg_privacy_consents plugin 0 0
173 plg_behaviour_taggable plugin 0 0
174 plg_behaviour_versionable plugin 0 0
175 plg_installer_webinstaller plugin 0 0
176 plg_system_httpheaders plugin 0 0
177 plg_sampledata_multilang plugin 0 0
179 plg_installer_override plugin 0 0
180 plg_quickicon_overridecheck plugin 0 0
181 plg_extension_finder plugin 0 0
182 plg_system_skipto plugin 0 0
183 plg_api-authentication_basic plugin 0 0
184 plg_api-authentication_token plugin 0 0
185 plg_webservices_banners plugin 0 0
186 plg_webservices_config plugin 0 0
187 plg_webservices_contact plugin 0 0
188 plg_webservices_content plugin 0 0
189 plg_webservices_languages plugin 0 0
190 plg_webservices_menus plugin 0 0
191 plg_webservices_messages plugin 0 0
192 plg_webservices_modules plugin 0 0
193 plg_webservices_newsfeeds plugin 0 0
194 plg_webservices_plugins plugin 0 0
195 plg_webservices_privacy plugin 0 0
196 plg_webservices_redirect plugin 0 0
197 plg_webservices_tags plugin 0 0
198 plg_webservices_templates plugin 0 0
199 plg_webservices_users plugin 0 0
200 plg_filesystem_local plugin 0 0
201 plg_media-action_crop plugin 0 0
202 plg_media-action_resize plugin 0 0
203 plg_media-action_rotate plugin 0 0
204 plg_system_accessibility plugin 0 0
205 PLG_SYSTEM_WEBAUTHN plugin 0 0
206 atum template 1 0
207 cassiopeia template 0 0
?? fof library 0 0

This is a tab separated txt file of the list above that you can download

https://re-later.eu/e0mxh_extensions-2.txt

@infograf768
Copy link
Member

Please add languagefilter system plugin to your list.

@ReLater
Copy link
Contributor Author

ReLater commented Apr 4, 2020

Please add languagefilter system plugin to your list.

It's already there
See line 115.

can not be uninstalled (locked = 1).
but can be disabled (protected = 0).

Correct?

@ReLater
Copy link
Contributor Author

ReLater commented Apr 4, 2020

My list above is just a Summary of Changes. It doesn't include extensions that have already the correct states.

@richard67
Copy link
Member

@ReLater Just at the end when all is ready in the update sql, don't forget to change the joomla.sql, too, and please do all for both mysql and postgresql.

@ReLater
Copy link
Contributor Author

ReLater commented Apr 4, 2020

Just at the end when all is ready in the update sql, don't forget to change the joomla.sql, too, and please do all for both mysql and postgresql.

Jepp. Please read #28527 (comment)

@richard67
Copy link
Member

richard67 commented Apr 4, 2020

@ReLater List in description looks ok to me, the actual sql changes I haven't verified yet.

Update: I've just checked the changes in the update sql, and to me they look consistent to the descriptions. So that looks good to me so far.

@richard67
Copy link
Member

But I have the feeling that @alikon will want com_finder and workflows be uninstallable ;-) (joke for insider)

@alikon
Copy link
Contributor

alikon commented Apr 4, 2020

ahhh sure i really want those 2 to be unistallable as well
should i say for having a more light core to be user friendly 😄

@richard67
Copy link
Member

@alikon How about mail templates? (other joke for insiders)?

@richard67
Copy link
Member

@ReLater Don't take us serious: Workflows, smart search and mail templates should not be uninstallable. We're just making silly jokes.

@alikon
Copy link
Contributor

alikon commented Apr 4, 2020

mail templates what ?
yeah please forgive me
but it's better to complain about piece of software than the current worldwide situation

p.s
yes agree with @richard67 only silly jokes

@infograf768
Copy link
Member

@ReLater
Not on desktop right now, but when I tested previously, I could uninstall languagefilter plugin.

@joomla-cms-bot joomla-cms-bot added the Language Change This is for Translators label Apr 4, 2020
@ReLater
Copy link
Contributor Author

ReLater commented Apr 4, 2020

@richard67

Just at the end when all is ready in the update sql, don't forget to change the joomla.sql, too, and please do all for both mysql and postgresql.

If you say "We don't support updates and basta." Do we need the update files 4.0.0-2020-03-25.sql at all? Isn't joomla.sql sufficient then? At the end the update files change nothing in a fresh installtion. States are all identical then.

@richard67
Copy link
Member

@ReLater I haven't said we don't support updates, I have said we don't support updates yet between J4 versions existing up to now. But the update sql files are necessary for updating from 3.10 mainly. Most of the stuff in it is for updating from 3.10. It may be that statements for stuff added in J4 is not necessary in the update sql, but that's only a small part, and leaving it away would make it harder to maintain.

And btw. don't forget postgresql.

@ReLater
Copy link
Contributor Author

ReLater commented Apr 4, 2020

updating from 3.10

Yes, I forgot that completely ;-) What is Joomla 3?

@richard67
Copy link
Member

@ReLater The title of the last commit sounded as if it would also include postgresql/joomla.sql, but it didn't. Maybe just forgotten? Or still in progress?

@ReLater
Copy link
Contributor Author

ReLater commented Apr 4, 2020

Hint for me: Commit "PostgreSql. Installation. All" is "PostgreSql. Update." (wrongly named).

@ReLater
Copy link
Contributor Author

ReLater commented Apr 14, 2020

Quick Icon - Missing Download Key Notification is protected when upgraded from J3.10 to J4 but not with new J4 installation.

Reason "my" update sql 2020-03-25 runs before 2020-04-11. Latter one installs that plugin.

@richard67
Copy link
Member

richard67 commented Apr 14, 2020

@ReLater You can fix the protected value then in these 2020-04-11 files . As we are not beta yet you can update these files.

ReLater and others added 2 commits April 15, 2020 20:12
Co-Authored-By: Quy <[email protected]>
Co-Authored-By: Quy <[email protected]>
@richard67
Copy link
Member

richard67 commented Apr 15, 2020

@ReLater @mbabker posted a comment above regarding the last change. I think he is right. Unfortunately the comment is hidden in the resolved code conversation when not explicitly expanding that, so I post here the link: #28563 (comment)

Update: Links seems not to help, at least not on mobile, when the resolved discussion is not expanded.

@Quy
Copy link
Contributor

Quy commented Apr 20, 2020

I have tested this item ✅ successfully on c15bd16


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/28563.

@richard67
Copy link
Member

richard67 commented Apr 20, 2020

I've found relevant differences between new install and updated from 3.10-dev for MySQL. Will post details soon.
Update: False alarm regarding these differences, they are not related to this PR.

@richard67
Copy link
Member

richard67 commented Apr 20, 2020

I have tested this item 🔴 unsuccessfully on c15bd16

At least one of the SQL update scripts for PostgreSQL contains MySQL name quotes, so an update from 3.10 fails with an SQL error.

Beside this, there are differences in protected and locked statuses between new install and update at least for MySQL. I'll post the details later.
Update: False alarm regarding these differences. But the above error with PostgreSQL still is valid.


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/28563.

@richard67
Copy link
Member

I have tested this item ✅ successfully on c15bd16


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/28563.

@richard67
Copy link
Member

RTC


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/28563.

@joomla-cms-bot joomla-cms-bot added the RTC This Pull Request is Ready To Commit label Apr 20, 2020
@wilsonge wilsonge merged commit 40916b7 into joomla:4.0-dev May 2, 2020
@wilsonge
Copy link
Contributor

wilsonge commented May 2, 2020

Thankyou very much for working through this!

@joomla-cms-bot joomla-cms-bot removed the RTC This Pull Request is Ready To Commit label May 2, 2020
@wilsonge wilsonge added this to the Joomla 4.0 milestone May 2, 2020
@ReLater ReLater deleted the patch-2 branch May 2, 2020 16:29
sakiss pushed a commit to sakiss/joomla-cms that referenced this pull request Oct 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Language Change This is for Translators
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants