Moodle is now available
-
@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