Moodle is now available
-
Hi all,
Moodle is now available in the app store. It's marked as unstable at the moment, we have to add LDAP support and add tests. Do not use in production yet. Thanks to @atrilahiji for much of the work!Code: https://git.cloudron.io/cloudron/moodle-app.git
Docs: https://docs.cloudron.io/documentation/moodle/ -
@atrilahiji When testing moodle a bit more (plugins etc), what I found is there are many different types of plugins - https://docs.moodle.org/dev/Plugin_types . And each plugin type goes into it's own directory (!). Wow, thats quite insane from a packaging perspective.
Do you know how commonly all these plugins are used for moodle? I can only think of moving the whole code wholesale into /app/data like we do in unmanaged WP. What do you think?
-
The plugin situation is what I feared - https://moodle.org/mod/forum/discuss.php?d=323960 and http://james-moodle.blogspot.com/2015/09/those-pesky-moodle-plugins-and-upgrading.html . You just have to copy files all over.
-
One option would be picking common types of plugins and supporting those. Like these:
/path/to/moodle/theme/ - themes
/path/to/moodle/mod/ - activity modules and resources
/path/to/moodle/blocks/ - sidebar blocks
/path/to/moodle/question/ - question types/behaviours/formats
/path/to/moodle/course/format/ - course formats
/path/to/moodle/admin/report/ - admin reports
/path/to/moodle/local - Generic plugins for local customisations
/path/to/moodle/auth - Auth plugins
/path/to/moodle/enrol - Enrollment methods
/path/to/moodle/filter - Filters
/path/to/moodle/webservice - Custom webservices
/path/to/moodle/portfolio - Portfolio plugins (useful for Mahara)Could we symlink those? Part of me is concerned about the "why is x plusing supported on cloudron but not y" for more obscure use cases which might cause more support traffic, but I suppose that part is your call as you and @nebulon are the ones that have to handle that support traffic.
-
@atrilahiji It's too much to symlink. I think /app/data it is. Sucks, but can't blame them really. I saw a copyright header from 1999 in the code (!). That was about the time I was learning to program, hee hee.
I tried several plugins and they all really rely on the code writing all over, so there is no point wasting time trying to fit it into Cloudron's packaging model. For a start, I will go with the list you gave me and we can just fixup the package as we go.
-
@girish I pushed a MR here and my feelings would not be hurt if you decline it: https://git.cloudron.io/cloudron/moodle-app/-/merge_requests/3
This is super sketchy and I'm really not fond of it as a solution. In my mind its either this or move the code to /app/date entirely. Not sustainable the way it is now
-
@atrilahiji It's more complicated unfortunately All those subdirectories already have existing code from upstream. So, let's say
mod
andcourse/format
have existing subdirectories coming in from moodle release. So, we have to keep a copy and reverse symlink etc. It gets very ugly...I have moved everything to /app/data now though (I pushed it). Will push a new package shortly. There was a php snippet in the docs that gave me all the interesting plugin directories - https://git.cloudron.io/cloudron/moodle-app/-/blob/master/plugintypes.php . And then I copy them over like https://git.cloudron.io/cloudron/moodle-app/-/blob/master/start.sh#L44