-
Sub-task
-
Resolution: Not a bug
-
Low
-
None
I have some ideas/suggestions on the handling of contributed code which I would like to discuss with you.
1. I have noticed that contributed packages have different structure inside and complicated installation instructions. I think this can be avoided.
I would require the contributors to repeat moodle directory structure within the package. Therefore if package is unzipped into the root folder, files/folders will automatically appear in their place.
Pros:
- No need to write installation instructions (place this folder there, this there, ...); less possibility to misplace objects for users
- We can do automatic check of the packages when they are uploaded: check that no core files are replaced, check that directory and file names follow guidelines (I have noticed folder names with spaces in some plugin packages), locate version.php and determine by it's location and content the type of extension
- It is a step towards "Post release: Automatically install plugins from within your Moodle site"
Cons: - All existing packages need to be reassembled
(I don't see any other cons, do you?)
2.
categories and tags.
Installation of the contributed code may consist of one or both of the following:
a) Adding files to the folders where they are picked up by Moodle automatically (plus maybe adding some support files into lib directory, which I don't consider correct although)
I have noticed the following main categories: Module, Block, Plugin. But there can be both module and block inside one package.
b) Applying the patch to the existing core files:
Sometimes the contributed code consists only of the patch. I guess in this case the contributor should not upload zip packages but only upload proper formatted diff (also, to be run from the moodle root folder). There should be one installation instruction for applying any patch and all contributed patches should follow the guidelines.
Sometimes the patch is additional to the module/plugin and is recommended (I've noticed somewhere adding lines to the file with translatable strings)
I think we should provide the strict guidelines and functionality to upload both files and patches (better with automatic pre-checking).
Returning to the categories. I'm not quite sure what Sam meant by "category", but in any case it seems that this should be multiple-choice. Also there should be tagging by functionality
(Mobile, User Management, Content, Media, Assignment, Quiz, ...), so user interested in particular functionality can easily browse available extensions, whether they are modules, plugins, blocks or patches. Tags of course are multiple-choice as well.
I think that convenient categorization/tagging is the most important thing because a lot of users do not search by keyword but prefer to browse by functionality.
3. (minor)
I personally don't like the download tab where downloading process starts automatically. First, the download statistics may be inaccurate (if download starts when user do not expect, he press "cancel", but the download counter is already triggered). Second, there are some links on this page ("Release notes", etc.), after clicking on any of them the download prompt appear again (quite annoying and breaks statistics again).
Open for discussion