Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. Announcements
  3. Moodle is now available

Moodle is now available

Scheduled Pinned Locked Moved Announcements
15 Posts 3 Posters 2.4k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by
      #1

      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/

      1 Reply Last reply
      9
      • girishG Offline
        girishG Offline
        girish
        Staff
        wrote on last edited by
        #2

        @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?

        1 Reply Last reply
        0
        • girishG Offline
          girishG Offline
          girish
          Staff
          wrote on last edited by
          #3

          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.

          ? 1 Reply Last reply
          0
          • girishG girish

            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.

            ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #4

            @girish oh boy I didn’t really think of this part... I’ll see if I can come up with anything else but moving everything to the data folder is the last resort.

            1 Reply Last reply
            0
            • ? Offline
              ? Offline
              A Former User
              wrote on last edited by A Former User
              #5

              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.

              girishG 1 Reply Last reply
              0
              • robiR Offline
                robiR Offline
                robi
                wrote on last edited by
                #6

                sounds like we need to make an upstream PR o improve the plugin directory structure.. then we can symlink just that directory and not individual plugins as they get installed.

                is there a config change option on where to save plugins?

                Conscious tech

                1 Reply Last reply
                0
                • ? A Former User

                  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.

                  girishG Offline
                  girishG Offline
                  girish
                  Staff
                  wrote on last edited by
                  #7

                  @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.

                  ? 1 Reply Last reply
                  0
                  • girishG girish

                    @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.

                    ? Offline
                    ? Offline
                    A Former User
                    wrote on last edited by
                    #8

                    @girish Yeah. Nobody ever said Moodle was well written :^)

                    But yeah their plugin system is pretty dated. I can push something to Moodle tracker (their JIRA instance) and see if they agree or decide to stick to their old ways.

                    1 Reply Last reply
                    1
                    • ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by A Former User
                      #9

                      @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 😞

                      1 Reply Last reply
                      0
                      • girishG Offline
                        girishG Offline
                        girish
                        Staff
                        wrote on last edited by
                        #10

                        @atrilahiji It's more complicated unfortunately 🙂 All those subdirectories already have existing code from upstream. So, let's say mod and course/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

                        ? 1 Reply Last reply
                        0
                        • girishG Offline
                          girishG Offline
                          girish
                          Staff
                          wrote on last edited by
                          #11

                          @atrilahiji To add to this, I also found that many plugin do require ../../config.php which breaks with symlinks.

                          ? 1 Reply Last reply
                          0
                          • girishG girish

                            @atrilahiji It's more complicated unfortunately 🙂 All those subdirectories already have existing code from upstream. So, let's say mod and course/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

                            ? Offline
                            ? Offline
                            A Former User
                            wrote on last edited by
                            #12

                            @girish Yeah... the upgrade would get messy.

                            I was just looking over that. That script is magic.

                            This is what I get for panic pushing a MR. I'll remove that.

                            1 Reply Last reply
                            0
                            • girishG girish

                              @atrilahiji To add to this, I also found that many plugin do require ../../config.php which breaks with symlinks.

                              ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by A Former User
                              #13

                              @girish Oh boy. Automating this has turned out to be quite the struggle. Thanks for all your work! I thought it would be easier than it turned out to be 🙂

                              Egg on face for me

                              1 Reply Last reply
                              0
                              • girishG Offline
                                girishG Offline
                                girish
                                Staff
                                wrote on last edited by
                                #14

                                @atrilahiji Ha ha, it's fine. Moodle has been requested often and this is hopefully a one time thing. I think the package is good to go now, the tests are done and all the plugins I could get hold of work.

                                1 Reply Last reply
                                3
                                • girishG Offline
                                  girishG Offline
                                  girish
                                  Staff
                                  wrote on last edited by
                                  #15

                                  Moodle is now marked as stable.

                                  1 Reply Last reply
                                  5
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Bookmarks
                                    • Search