chamilo-lms
chamilo-lms copied to clipboard
Remove unused plugins / Fix plugins
There are some plugins that won't work, because of the different changes in Chamilo v2
Can we update this table to know which will be deleted or fixed?
I created this table so you can edit it. This is just a proposal.
Checked in V2 | Plugin name | what to do |
---|---|---|
X | add_cas_login_button | you can delete it, check if silex/security has one |
X | add_cas_logout_button | you can delete it, check if silex/security has one |
X | add_facebook_login_button | you can delete it, check if silex/security has one |
X | add_shibboleth_login_button | you can delete it, check if silex/security has one |
advanced_subscription | keep and integrate later (after 2.0), so need to prepare the structure. Error when calling api_get_setting('advanced_subscription') | |
ai_helper | keep/test/fix | |
azure_active_directory | keep or replace with equivalent (this might be managed by a component now?). Assign to @AngelFQC | |
bbb | keep/test/fix | |
before_login | keep/test/fix | |
buycourses | keep/test/fix & (integrate option) | |
card_game | ? | |
check_extra_field_author_company | ? | |
cleandeletedfiles | ? | |
X | clockworksms | delete: Not aware of anyone using it (@ywarnier) and no effort from external (for pay) provider to contribute |
courseblock | keep/test/fix | |
coursehomenotify | ? | |
courselegal | keep/test/fix & integrate | |
createdrupaluser | keep/test/fix | |
customcertificate | keep/test/fix & integrate (replace current certificate tool?) | |
customfooter | keep/test/fix & integrate | |
dashboard | This is a special case allowing for more blocks. Not really a plugin. | |
X | date | delete: Example initial super basic plugin - not accurate anymore. |
:heavy_check_mark: | dictionary | tested/works :heavy_check_mark: |
embedregistry | keep/test/fix | |
exercise_signature | ? | |
ext_auth_chamilo_logout_button_behaviour | keep/integrate | |
externalnotificationconnect | ? | |
extramenufromwebservice | ? | |
follow_buttons | delete: Not sure this is used nor what it does (@ywarnier) | |
X | formLogin_hide_unhide | delete |
google_maps | keep/test/fix (could be replaced and integrated if using OpenStreetMap) | |
X | google_meet | delete |
grading_electronic | keep/test/fix. Not sure what it does (@ywarnier) | |
X | h5p | delete (replaced by h5pimport) |
h5pimport | keep/test/fix | |
:heavy_check_mark: | hello_world | tested/works :heavy_check_mark: |
ims_lti | keep/test/fix & later integrate to admin section. This should be renamed "LTI tools" as opposed to LTI documents (@ywarnier). | |
X | jcapture | delete |
justification | ? | |
X | kannelsms | delete for now. Maybe will re-introduce later but not aware of anyone using it (@ywarnier) |
X | keycloak | delete (to be replaced by mainstream authentication bundles for Symfony) |
learning_calendar | keep/test/fix | |
lti_provider | keep/test/fix | |
maintenancemode | keep/test/fix & integrate | |
migrationmoodle | keep/test/fix | |
X | mindmap | delete. Imperfect plugin storing global content in one single place. |
nosearchindex | keep/test/fix & integrate | |
notebookteacher | keep/test/fix (what does is do ? (@ywarnier)) | |
X | oauth2 | delete (to be replaced by mainstream authentication bundles for Symfony) |
X | olpc_peru_filter | delete |
onlyoffice | keep/test/fix | |
X | openmeetings | delete (not "replaced" by BBB but not supported in Chamilo since a long time. We recommend using BigBlueButton) |
pausetraining | keep/test/fix | |
pens | keep (should be very minimally intrusive - it's just a standard catalogue of courses) & integrate redirection | |
positioning | keep/test/fix | |
questionoptionsevaluation | keep/test/fix | |
redirection | keep/test/fix | |
remedial_course | keep/test/fix | |
resubscription | keep/test/fix (limits the number of times a user can take a course (through sessions)) | |
:heavy_check_mark: | rss | tested/works :heavy_check_mark: (integrate?) |
search_course | keep/test/fix | |
send_notification_new_lp | keep/test/fix | |
sepe | keep/test/fix | |
X | share_buttons | delete. Not aware of anyone using it (@ywarnier) |
show_regions | tested/works :heavy_check_mark: | |
X | show_user_info | keep/test/fix. Not sure what it does (@ywarnier) (deleted) |
static | keep/test/fix | |
studentfollowup | keep/test/fix | |
surveyexportcsv | keep/test/fix | |
surveyexporttxt | keep/test/fix | |
test2pdf | Integrate directly into the exercises list, as a new export icon. | |
toplinks | ? | |
tour | keep/test/fix | |
userremoteservice | ? | |
vchamilo | keep/test/fix | |
X | whispeakauth | delete (no known user for this plugin) |
X | xapi | delete (moves to main feature) |
zoom | keep/test/fix |
I added a few comments and also for some, I have added "integrate" because I think they can be put in Chamilo by default (without being a plugin).
@baelmyhu ping ...
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
The plugins removed are:
add_cas_login_button add_cas_logout_button add_shibboleth_login_button clockworksms jcapture kannelsms olpc_peru_filter openmeetings share_buttons show_user_info
It is fixed dialog readme popup and options to configure after saving in this PR https://github.com/chamilo/chamilo-lms/pull/4719
It is missing to check the new hooks to use the plugins with symfony, some ones are not working due that.
- Move public/plugin to var/plugins and update paths
- Bring new plugins from 1.11.x
So moving public/plugin to var/plugins doesn't work, because it introduces a vulnerability in that var/ would contain executable PHP code, at least until we are able to convert all plugins to a Bundle structure. As such, the folder will remain in "legacy mode" in public/plugin at least until Chamilo 3.0
In order to improve the management of plugins in Chamilo 2, we need a new table, called "plugin", with roughly this structure:
- id (internal ID)
- title (of the plugin, in slug form)
- installed (0/1 - a bit redundant because only installed plugins should be there, but maybe when a plugin has been uninstalled it would be good to keep them there with a "0" value
- active (0/1)
- version (string in the semver format: https://semver.org/spec/v2.0.0.html)
- access_url_id to specify where it has been installed
This will require a migration, as in v1 the plugins are "installed" through a settings_current entry, and sometimes enabled through another entry.