Moodle Community Sites
  1. Moodle Community Sites
  2. MDLSITE-571

Research a replacement for the modules and plugins database

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Component/s: moodle.org
    • Labels:
      None
    • Rank:
      25433

      Description

      1. plugin-entry-form.html
        21 kB
        Robert Brenstein
      2. plugin-entry-form.html
        21 kB
        Robert Brenstein

        Issue Links

          Activity

          Helen Foster created issue -
          Helen Foster made changes -
          Field Original Value New Value
          Link This issue will help resolve MDLSITE-406 [ MDLSITE-406 ]
          Helen Foster made changes -
          Link This issue has been marked as being related by MDLSITE-551 [ MDLSITE-551 ]
          Helen Foster made changes -
          Link This issue will help resolve MDLSITE-353 [ MDLSITE-353 ]
          Helen Foster made changes -
          Link This issue will help resolve MDLSITE-271 [ MDLSITE-271 ]
          Hide
          Don Hinkelman added a comment -

          Hi Helen, Thanks for starting this off. I am looking forward to hearing Anthony's and others' thoughts on requirements for this new modules/plugins database. Many of my ideas come from using Versiontracker. May I begin a little brainstorning?

          • roles (4): authors, users, moderators (assigned to review modules or module groups), administrator(s) of whole process
          • reviews by users, reviews by version
          • yes/no comment on reviews (Was this review helpful?)
          • ratings by users, moderators
          • submission form for authors
          • download by version for users (1.6 --2.0)
          • download counting--for a "most downloaded" block
          • searching--default view shows most popular, views according module/plugin/hack/block
          • links to documentation, forums, similar/associated modules
          • overall quality rating (done by moderator) considering operation, bugfixing, documentation, versions, usefulness, code standards
          Show
          Don Hinkelman added a comment - Hi Helen, Thanks for starting this off. I am looking forward to hearing Anthony's and others' thoughts on requirements for this new modules/plugins database. Many of my ideas come from using Versiontracker. May I begin a little brainstorning? roles (4): authors, users, moderators (assigned to review modules or module groups), administrator(s) of whole process reviews by users, reviews by version yes/no comment on reviews (Was this review helpful?) ratings by users, moderators submission form for authors download by version for users (1.6 --2.0) download counting--for a "most downloaded" block searching--default view shows most popular, views according module/plugin/hack/block links to documentation, forums, similar/associated modules overall quality rating (done by moderator) considering operation, bugfixing, documentation, versions, usefulness, code standards
          Hide
          David Mudrak added a comment -

          Instead of leaving the current system based on the Moodle Database module, why not to improve the Database module to fit the M&PD needs? Other day, I was thinking about using it as a small bug tracking system. There are just several features needed (more field types like auto increment/serial field, workflow support etc.) and not only M&PD but all Moodle users might profit from the Database module improvements. As we say in Czech, let us kill two flies in one slap (http://en.wiktionary.org/wiki/kill_two_birds_with_one_stone)

          Show
          David Mudrak added a comment - Instead of leaving the current system based on the Moodle Database module, why not to improve the Database module to fit the M&PD needs? Other day, I was thinking about using it as a small bug tracking system. There are just several features needed (more field types like auto increment/serial field, workflow support etc.) and not only M&PD but all Moodle users might profit from the Database module improvements. As we say in Czech, let us kill two flies in one slap ( http://en.wiktionary.org/wiki/kill_two_birds_with_one_stone )
          Hide
          Robert Brenstein added a comment -

          I am attaching is a fake html page which is a shot at reworking plugins database input using the current module, possibly with some extra tuning. I changed the order, ligned things up, resized inputs to match, expanded some labels, etc. A few comments are inserted within the page, hopfully not too distracting.

          Show
          Robert Brenstein added a comment - I am attaching is a fake html page which is a shot at reworking plugins database input using the current module, possibly with some extra tuning. I changed the order, ligned things up, resized inputs to match, expanded some labels, etc. A few comments are inserted within the page, hopfully not too distracting.
          Robert Brenstein made changes -
          Attachment plugin-entry-form.html [ 16477 ]
          Hide
          Robert Brenstein added a comment -

          same but in UTF8 encoding

          Show
          Robert Brenstein added a comment - same but in UTF8 encoding
          Robert Brenstein made changes -
          Attachment plugin-entry-form.html [ 16478 ]
          Hide
          David Mudrak added a comment -

          Thanks for your work, Robert! As I can see, the big issue will be reports (listings) of the MPD. Has anybody else here seen how Lotus Notes database views work? Imho this is the area where the current Database module needs improvements.

          Show
          David Mudrak added a comment - Thanks for your work, Robert! As I can see, the big issue will be reports (listings) of the MPD. Has anybody else here seen how Lotus Notes database views work? Imho this is the area where the current Database module needs improvements.
          Hide
          Matt Gibson added a comment -

          I've just run into the problem of people adding support requests as comments on the modules and plugins page, which I didn't notice for a month (and then only by chance). Any replacement system must have the ability to email the maintainer whenever a comment is added.

          Show
          Matt Gibson added a comment - I've just run into the problem of people adding support requests as comments on the modules and plugins page, which I didn't notice for a month (and then only by chance). Any replacement system must have the ability to email the maintainer whenever a comment is added.
          Hide
          Daniel Montambo added a comment -

          I agree with all you for a new way to share Moodle module , maybe just trying to get in touch with the team of Moset Tree. The technology driving the Extensions Directory has been donated by Lee, of Mosets.

          "Just so you know, I was extremely enthusiastic when the Joomla! team invited me to help them solve this problem by creating an extensions directory using Mosets Tree. I agreed and immediately started working closely with the Directory Team. Thanks goes to them for their excellent team work, to the Forum moderators for testing and comments, and to Ken Mcdonald specifically for his excellent list of extensions popularly known as 'Ken's List'."

          They love to have big team working with their products :

          Mosets Tree is the directory extension that powers Joomla! Extensions Directory. We have been extremely excited to be working with the Joomla! team to develop this site. Every feature you see in the Extensions Directory is available in Mosets Tree, except for a few customizations that is specific to Extensions Directory.

          You can read more about the launch announcement here :

          http://www.joomla.org/announcements/general-news/985-extensions-announcement.html

          http://www.mosets.com/tree/

          Show
          Daniel Montambo added a comment - I agree with all you for a new way to share Moodle module , maybe just trying to get in touch with the team of Moset Tree. The technology driving the Extensions Directory has been donated by Lee, of Mosets. "Just so you know, I was extremely enthusiastic when the Joomla! team invited me to help them solve this problem by creating an extensions directory using Mosets Tree. I agreed and immediately started working closely with the Directory Team. Thanks goes to them for their excellent team work, to the Forum moderators for testing and comments, and to Ken Mcdonald specifically for his excellent list of extensions popularly known as 'Ken's List'." They love to have big team working with their products : Mosets Tree is the directory extension that powers Joomla! Extensions Directory. We have been extremely excited to be working with the Joomla! team to develop this site. Every feature you see in the Extensions Directory is available in Mosets Tree, except for a few customizations that is specific to Extensions Directory. You can read more about the launch announcement here : http://www.joomla.org/announcements/general-news/985-extensions-announcement.html http://www.mosets.com/tree/
          Hide
          Helen Foster added a comment -

          Thanks everyone for your comments.

          Just adding a link to http://docs.moodle.org/en/Development:Modules_and_plugins_improvements

          Show
          Helen Foster added a comment - Thanks everyone for your comments. Just adding a link to http://docs.moodle.org/en/Development:Modules_and_plugins_improvements
          Hide
          Anthony Borrow added a comment -

          I have summarized some of this on the Docs page referenced above.

          Popularity (downloads, installs, views?)
          Ratings (user/developer)
          Comments
          Ability to filter by (version, type, keyword)
          Quality assessment (gold, silver, bronze medals?)
          Status (active, inactive) - by default do not show inactive (no maintainer and/or for a version of Moodle not currently being supported)
          Tag - ability to tag related projects (questionnaire and feedback are both survey like modules)

          Did I miss anything crucial?

          Show
          Anthony Borrow added a comment - I have summarized some of this on the Docs page referenced above. Popularity (downloads, installs, views?) Ratings (user/developer) Comments Ability to filter by (version, type, keyword) Quality assessment (gold, silver, bronze medals?) Status (active, inactive) - by default do not show inactive (no maintainer and/or for a version of Moodle not currently being supported) Tag - ability to tag related projects (questionnaire and feedback are both survey like modules) Did I miss anything crucial?
          Hide
          Don Hinkelman added a comment -

          Hi Anthony,

          Thanks for working on this. It is really needed.

          I agree with all of the above in your list. In particular, it also needs to show a version history. Also something about what it is compatible with. This is complicated. For example, the Sharing Cart has had 12 versions released in Moodle 1.9. Each one solves a particular problem in compatibility--either with a new point version of Moodle 1.9.x or with a third party modules. Since it is impossible to be compatible with all third party modules, it would be good to show which third party modules it has been tested with and the results.

          Also ratings (stars) and reviews (written assessment) might be combined, as in Amazon book reviews. And readers should rate a review as helpful/not helpful. It would be good to rate on a rubric scale that is combined into a general rating. ie: stability, usefulness, documentation, interface, settings)

          Show
          Don Hinkelman added a comment - Hi Anthony, Thanks for working on this. It is really needed. I agree with all of the above in your list. In particular, it also needs to show a version history. Also something about what it is compatible with. This is complicated. For example, the Sharing Cart has had 12 versions released in Moodle 1.9. Each one solves a particular problem in compatibility--either with a new point version of Moodle 1.9.x or with a third party modules. Since it is impossible to be compatible with all third party modules, it would be good to show which third party modules it has been tested with and the results. Also ratings (stars) and reviews (written assessment) might be combined, as in Amazon book reviews. And readers should rate a review as helpful/not helpful. It would be good to rate on a rubric scale that is combined into a general rating. ie: stability, usefulness, documentation, interface, settings)
          Hide
          Michael de Raadt added a comment -

          Hi Guys,

          I'm keenly following this.

          I'm at MoodleMootAu10 and I just had a chat with Julian Ridden about this. I believe we agreed on a couple of points.

          • We should be forcing contributed code onto CVS/git. It ensures that code is available and removes the temptation for contributors to add advertising or requiring commitments before you can download the code.
          • Uploading code to the repository need not be through CVS. A simpler facility, for those who want it, could be achieved through the Web, which puts the code into the repository.
          • Quality can be subjective. How do we ensure objectivity? Could a bad initial review destroy what could eventually become a string contribution in future?
          • Creating "editor" or "approver" roles could create bottlenecks to getting code out. It should be possible for code to be accessed before it is approved or "finalised" at a level of risk. (I'm not sure that Julian agreed with this, but he was concerned about bottlenecks).

          Michael;

          Show
          Michael de Raadt added a comment - Hi Guys, I'm keenly following this. I'm at MoodleMootAu10 and I just had a chat with Julian Ridden about this. I believe we agreed on a couple of points. We should be forcing contributed code onto CVS/git. It ensures that code is available and removes the temptation for contributors to add advertising or requiring commitments before you can download the code. Uploading code to the repository need not be through CVS. A simpler facility, for those who want it, could be achieved through the Web, which puts the code into the repository. Quality can be subjective. How do we ensure objectivity? Could a bad initial review destroy what could eventually become a string contribution in future? Creating "editor" or "approver" roles could create bottlenecks to getting code out. It should be possible for code to be accessed before it is approved or "finalised" at a level of risk. (I'm not sure that Julian agreed with this, but he was concerned about bottlenecks). Michael;
          Helen Foster made changes -
          Link This issue will help resolve MDLSITE-1152 [ MDLSITE-1152 ]
          Martin Dougiamas made changes -
          Assignee Helen Foster [ tsala ] Sam Hemelryk [ samhemelryk ]
          Hide
          Sam Hemelryk added a comment -

          Just quoting something David mentioned in dev chat so that it doesn't get forgotten:

          (16:04:56) david: note for Sam: the new m&p must contain 'how to request pull' field

          Show
          Sam Hemelryk added a comment - Just quoting something David mentioned in dev chat so that it doesn't get forgotten: (16:04:56) david: note for Sam: the new m&p must contain 'how to request pull' field
          Hide
          Sam Hemelryk added a comment -

          Hi guys,

          Quick note, I've started working on the proposal for this now.
          You can check out the direction it is all heading at http://docs.moodle.org/en/Development:Modules_and_plugins_replacement_proposal

          Cheers
          Sam

          Show
          Sam Hemelryk added a comment - Hi guys, Quick note, I've started working on the proposal for this now. You can check out the direction it is all heading at http://docs.moodle.org/en/Development:Modules_and_plugins_replacement_proposal Cheers Sam
          Hide
          Anthony Borrow added a comment -

          Sam - Looks like you have a good start. I'll give Docs page a closer review this weekend. Would you prefer comments here in the tracker or in the talk section of the wiki? With git, there may be multiple versions for a particular version. For example, say a partner "certifies" a particular version of a module and the primary maintainer continues to work on the code. I would envision that we would want a 1 to many relationship there so that we could see all of the available downloads and their popularity, etc. Have you given thought to how we might get download statistics with things all over the place? I think this makes it more important that we begin modifying the site registration routine to communicate back what modules and blocks are installed. In any case, more thoughts coming. Let me know how I can best be of help. Peace - Anthony

          Show
          Anthony Borrow added a comment - Sam - Looks like you have a good start. I'll give Docs page a closer review this weekend. Would you prefer comments here in the tracker or in the talk section of the wiki? With git, there may be multiple versions for a particular version. For example, say a partner "certifies" a particular version of a module and the primary maintainer continues to work on the code. I would envision that we would want a 1 to many relationship there so that we could see all of the available downloads and their popularity, etc. Have you given thought to how we might get download statistics with things all over the place? I think this makes it more important that we begin modifying the site registration routine to communicate back what modules and blocks are installed. In any case, more thoughts coming. Let me know how I can best be of help. Peace - Anthony
          Hide
          Michael de Raadt added a comment -

          Hi Sam,

          That looks like a good, solid proposal. I'm heading to Moodle HQ next week and hopefully we'll have a chance to chat about it.

          So I don't forget, one idea that has come up before that I didn't see in my quick look at the proposal was how Moodle itself will link into the new M&P. I assume the "Check plugin versions" web service is partially intended for the purpose of showing an administrator if their modules/blocks/etc. are up to date. I think the change towards that advisory functionality should be considered in conjunction with the M&P update. There could also be communication in the direction from a Moodle instance to M&P to provide more statistics to developers if it is volunteered (perhaps automatically) from an administrator.

          Certainly I like the idea of better notifications to CONTRIB developers. I know a lot of information is lost in M&P because there are no notifications. Perhaps there can be stronger linkage between M&P and the Tracker so bug reports and improvement requests go to where they should.

          Michael;

          Show
          Michael de Raadt added a comment - Hi Sam, That looks like a good, solid proposal. I'm heading to Moodle HQ next week and hopefully we'll have a chance to chat about it. So I don't forget, one idea that has come up before that I didn't see in my quick look at the proposal was how Moodle itself will link into the new M&P. I assume the "Check plugin versions" web service is partially intended for the purpose of showing an administrator if their modules/blocks/etc. are up to date. I think the change towards that advisory functionality should be considered in conjunction with the M&P update. There could also be communication in the direction from a Moodle instance to M&P to provide more statistics to developers if it is volunteered (perhaps automatically) from an administrator. Certainly I like the idea of better notifications to CONTRIB developers. I know a lot of information is lost in M&P because there are no notifications. Perhaps there can be stronger linkage between M&P and the Tracker so bug reports and improvement requests go to where they should. Michael;
          Hide
          Sam Hemelryk added a comment -

          Hi guys,

          Thank you for taking the time to read over and give it a good think.
          I am talking to Martin about the proposal this afternoon to ensure he is happy with it (he is reading it for the first time presently).
          From there I will continue to gather feedback and work on it, any suggestions are more than welcome!
          In regards to the questions so far...

          First up Anthony, I am happy for you to either comment here, or on the talk page. As other developers have started commenting on the talk page perhaps that is the better location. Just make sure you add your signature to it, and I'll aim to reply to every comment to ensure that nothing is missed.
          In regards to the versioning question, I would rather avoid the idea of having versions of versions, I would like to think that people can create as many versions of a plugin as they want, and each real version will be represented by a single version in the database. Perhaps the solution is that we should not let people edit a version once it has been uploaded, or if they do edit it we mark it as such, remove awards etc?
          In regards to how this will tie in with Moodle core and the registration routines the answer ties in with Michaels question so I'll answer than in a bit.
          As for how you can best be of help, continue this! asking questions thinking about how you'd like to see it play out.. that is the biggest help at the moment.

          Michael, first up linking to the tracker. Yes. It would be great to tie the two in together in an automatic way. I'll talk to Martin about his plans for tracker and start investigating possibilities there.

          Now Anothony asked about the registration process, and Michael you asked about how Moodle will tie into the new system.
          The webservices are indeed geared towards providing a base to build upon that will allow us to tie the two together with the end goal of having Moodle be able to install, and update plugins you are using from the new system. Similar to the way other projects such as wordpress handle plugins .
          Again I will be talking to Martin this afternoon to find out how far down that rabbit hole is would like to go presently, however either way there will be some discussion about that coming shortly so that at the very least we can factor it into the design of this new system and not find ourselves having to rewrite things again in the near future.

          I hope that answers a few questions, continue with the feedback!

          Cheers
          Sam

          Show
          Sam Hemelryk added a comment - Hi guys, Thank you for taking the time to read over and give it a good think. I am talking to Martin about the proposal this afternoon to ensure he is happy with it (he is reading it for the first time presently). From there I will continue to gather feedback and work on it, any suggestions are more than welcome! In regards to the questions so far... First up Anthony, I am happy for you to either comment here, or on the talk page. As other developers have started commenting on the talk page perhaps that is the better location. Just make sure you add your signature to it, and I'll aim to reply to every comment to ensure that nothing is missed. In regards to the versioning question, I would rather avoid the idea of having versions of versions, I would like to think that people can create as many versions of a plugin as they want, and each real version will be represented by a single version in the database. Perhaps the solution is that we should not let people edit a version once it has been uploaded, or if they do edit it we mark it as such, remove awards etc? In regards to how this will tie in with Moodle core and the registration routines the answer ties in with Michaels question so I'll answer than in a bit. As for how you can best be of help, continue this! asking questions thinking about how you'd like to see it play out.. that is the biggest help at the moment. Michael, first up linking to the tracker. Yes. It would be great to tie the two in together in an automatic way. I'll talk to Martin about his plans for tracker and start investigating possibilities there. Now Anothony asked about the registration process, and Michael you asked about how Moodle will tie into the new system. The webservices are indeed geared towards providing a base to build upon that will allow us to tie the two together with the end goal of having Moodle be able to install, and update plugins you are using from the new system. Similar to the way other projects such as wordpress handle plugins . Again I will be talking to Martin this afternoon to find out how far down that rabbit hole is would like to go presently, however either way there will be some discussion about that coming shortly so that at the very least we can factor it into the design of this new system and not find ourselves having to rewrite things again in the near future. I hope that answers a few questions, continue with the feedback! Cheers Sam
          Anthony Borrow made changes -
          Link This issue will help resolve MDLSITE-965 [ MDLSITE-965 ]
          Helen Foster made changes -
          Link This issue will help resolve MDLSITE-1255 [ MDLSITE-1255 ]
          Hide
          Helen Foster added a comment -

          Resolving as fixed since we now have http://moodle.org/plugins

          Thanks everybody!

          Show
          Helen Foster added a comment - Resolving as fixed since we now have http://moodle.org/plugins Thanks everybody!
          Helen Foster made changes -
          Status Open [ 1 ] Closed [ 6 ]
          Resolution Fixed [ 1 ]
          Martin Dougiamas made changes -
          Workflow jira [ 29627 ] SITES Full Workflow [ 127048 ]

            People

            • Votes:
              12 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development