Moodle
  1. Moodle
  2. MDL-17017

Admin: Evaluate file structure for administrative functions for consistency

    Details

    • Type: Task Task
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.0
    • Fix Version/s: None
    • Component/s: Administration
    • Labels:
      None
    • Affected Branches:
      MOODLE_20_STABLE
    • Rank:
      2218

      Description

      In response to CONTRIB-605 for adding tools to bulk_delete courses and possibly to uploadcourses (MDL-13114) and uploadroles (MDL-15187) I began looking at where those files ought to be in the tree. For the sake of simplicity and consistency, I think files relating to the administration of users should be in the /admin/user folder, those for roles in the /admin/roles, and those for courses in /admin/course. The one thing that strikes me as inconsistent is the location of the user files. I think initially the admin folder was pretty simple but as the administration side has grown we have not cleaned things up as we ought. I think 2.0 would be a good opportunity to do so. I would advocate for moving the files: uploadpicture_form.php, uploadpicture.php, uploaduser_form.php, uploaduser.php, and user.php to /admin/user. I include the picture files as user files because the profile pics are associated with users. I eventually would also like to see a /admin/course folder created so things like an uploadcourse.php, deletecourse.php, etc. If we are consistent with where the user files are then in CONTRIB-605 it makes it clearer where the course files should go. Thanks for considering moving the user files and giving a good critical look at how things are currently organized. Peace - Anthony

      p.s. - I'm marking this as major because I think after 2.0 it would be difficult to go back and do but feel free to re-prioritize as needed.

        Issue Links

          Activity

          Hide
          Anthony Borrow added a comment -

          I see this as possibly being related to http://docs.moodle.org/en/Roadmap#Administrative_improvements and the goal of being able to better interface with other systems. The ability to upload and delete courses and mass assign user roles via CSV files is a step in the right direction in providing Moodle administrators options for getting data in. Similarly, export options could also be added to the /admin/course, admin/user, and admin/roles paths. BTW, since I'm nitpicking at consistency, why is the directory /admin/roles and not /admin/role?

          Show
          Anthony Borrow added a comment - I see this as possibly being related to http://docs.moodle.org/en/Roadmap#Administrative_improvements and the goal of being able to better interface with other systems. The ability to upload and delete courses and mass assign user roles via CSV files is a step in the right direction in providing Moodle administrators options for getting data in. Similarly, export options could also be added to the /admin/course, admin/user, and admin/roles paths. BTW, since I'm nitpicking at consistency, why is the directory /admin/roles and not /admin/role?
          Hide
          Anthony Borrow added a comment -

          As I have come back to these issues of bulk course actions (backup, restore, delete, hide, and possibly a backup and delete) and upload courses, it strikes me that Dan's comment on CONTRIB-605 is on the money. The existing UI for /course/category.php handles most of the functionality for managing existing courses. We already have the list of courses by category which is searchable with check boxes. Currently the only bulk operation supported is to move those courses to another category. It would be good to add options for hide, backup, delete, and possibly backup and delete.

          In addition, I think it would be good in the Site administration block to have a upload courses option similar to upload users. Functional code for these options already exists in the above referenced tasks. One problem has been some confusion among the various customizations. For example, there were two course import options (an older one by Rory Allford) and a newer one by Jeff Church which had mass import and delete. Then there was code written by the folks at LSU contributed by Robert Russo that provided backup and delete functionality.

          I think the community would best be served by providing these options in CORE as they are the same type of management options that are available for users. Similarly, I think being able to upload not only enrollments, but also roles would be helpful in managing a site and helping to integrate it with various SISs. I see this type of functionality as also being related to http://docs.moodle.org/en/Student_Information_API.

          Peace - Anthony

          Show
          Anthony Borrow added a comment - As I have come back to these issues of bulk course actions (backup, restore, delete, hide, and possibly a backup and delete) and upload courses, it strikes me that Dan's comment on CONTRIB-605 is on the money. The existing UI for /course/category.php handles most of the functionality for managing existing courses. We already have the list of courses by category which is searchable with check boxes. Currently the only bulk operation supported is to move those courses to another category. It would be good to add options for hide, backup, delete, and possibly backup and delete. In addition, I think it would be good in the Site administration block to have a upload courses option similar to upload users. Functional code for these options already exists in the above referenced tasks. One problem has been some confusion among the various customizations. For example, there were two course import options (an older one by Rory Allford) and a newer one by Jeff Church which had mass import and delete. Then there was code written by the folks at LSU contributed by Robert Russo that provided backup and delete functionality. I think the community would best be served by providing these options in CORE as they are the same type of management options that are available for users. Similarly, I think being able to upload not only enrollments, but also roles would be helpful in managing a site and helping to integrate it with various SISs. I see this type of functionality as also being related to http://docs.moodle.org/en/Student_Information_API . Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Marc Grober's recap at http://moodle.org/mod/forum/discuss.php?d=91850#p427786 provides a good summary of the different pieces of code for course uploading, deleting, and backing up functions.

          Show
          Anthony Borrow added a comment - Marc Grober's recap at http://moodle.org/mod/forum/discuss.php?d=91850#p427786 provides a good summary of the different pieces of code for course uploading, deleting, and backing up functions.
          Hide
          Anthony Borrow added a comment -

          I removed the link to MDL-15187 which was related to uploading role assignments via CSV file since these functions primarily relate to managing courses. MDL-15187 is more related the work Tim Hunt has been doing on role usability. That said, this issue does hope to make the file structure for managing (uploading and bulk operations for) users, courses, roles consistent. Peace - Anthony

          Show
          Anthony Borrow added a comment - I removed the link to MDL-15187 which was related to uploading role assignments via CSV file since these functions primarily relate to managing courses. MDL-15187 is more related the work Tim Hunt has been doing on role usability. That said, this issue does hope to make the file structure for managing (uploading and bulk operations for) users, courses, roles consistent. Peace - Anthony
          Hide
          Tim Hunt added a comment -

          Don't know about bulk user operations. I think they are currently pluggable, but I don't know where the code is. Anyway, it is probably not worth changing.

          Admin stuff - well admin reports can add themselves anywhere in the admin tree now. Look at unit tests and capability report in HEAD. I think it is best to stick to a single sort of admin plugin, even if admin/report is not the most natural path for all applications.

          Show
          Tim Hunt added a comment - Don't know about bulk user operations. I think they are currently pluggable, but I don't know where the code is. Anyway, it is probably not worth changing. Admin stuff - well admin reports can add themselves anywhere in the admin tree now. Look at unit tests and capability report in HEAD. I think it is best to stick to a single sort of admin plugin, even if admin/report is not the most natural path for all applications.
          Hide
          Ashley Gooding added a comment -

          Hi, I'm one of the programmers working with Jeff Church at ASU, and my co-worker and I designed a bunch of bulk upload/delete tools for moodle 1.7, 1.8, and 1.9. I recently updated our bulk course delete tool for 1.9 to be more efficient as well as our bulk course upload tool. I read your post here, and I'm not sure if this is what you were looking for, but if you would like to me to upload, please let me know, and I would be happy to.

          ~Ashley Gooding

          Show
          Ashley Gooding added a comment - Hi, I'm one of the programmers working with Jeff Church at ASU, and my co-worker and I designed a bunch of bulk upload/delete tools for moodle 1.7, 1.8, and 1.9. I recently updated our bulk course delete tool for 1.9 to be more efficient as well as our bulk course upload tool. I read your post here, and I'm not sure if this is what you were looking for, but if you would like to me to upload, please let me know, and I would be happy to. ~Ashley Gooding
          Hide
          Anthony Borrow added a comment -

          Ashley - Thanks for your efforts with the bulk course delete tool for 1.9. What I am really looking for here is moving some files around in Moodle core to be more consistent and predictable about where bulk operations will be defined. It looks like you found the right place to share the updated version of your code with Robert Russo. Thanks for your willingness to share the code. Robert has been kind enough to agree to help maintain the code as part of the backadel block. Let me know if you have any other questions. Peace - Anthony

          Show
          Anthony Borrow added a comment - Ashley - Thanks for your efforts with the bulk course delete tool for 1.9. What I am really looking for here is moving some files around in Moodle core to be more consistent and predictable about where bulk operations will be defined. It looks like you found the right place to share the updated version of your code with Robert Russo. Thanks for your willingness to share the code. Robert has been kind enough to agree to help maintain the code as part of the backadel block. Let me know if you have any other questions. Peace - Anthony
          Hide
          Robert Russo added a comment -

          Ashley - Can you attach the latest version to http://tracker.moodle.org/browse/CONTRIB-605 so I can make sure our code is as efficient as possible?

          Show
          Robert Russo added a comment - Ashley - Can you attach the latest version to http://tracker.moodle.org/browse/CONTRIB-605 so I can make sure our code is as efficient as possible?
          Hide
          Michael de Raadt added a comment -

          Thanks for reporting this issue.

          We have detected that this issue has been inactive for over a year. It was reported as affecting versions that are no longer supported.

          If you believe that this issue is still relevant to current versions (2.5 and beyond), please comment on the issue. Issues left inactive for a further month will be closed.

          Michael d.

          TW9vZGxlDQo=

          Show
          Michael de Raadt added a comment - Thanks for reporting this issue. We have detected that this issue has been inactive for over a year. It was reported as affecting versions that are no longer supported. If you believe that this issue is still relevant to current versions (2.5 and beyond), please comment on the issue. Issues left inactive for a further month will be closed. Michael d. TW9vZGxlDQo=
          Hide
          Michael de Raadt added a comment -

          I'm closing this issue as it has been inactive for over a year has been recorded as affecting versions that are no longer supported.

          This is being done as part of a bulk annual clean-up of issues.

          If you still believe this is an issue in supported versions, please create a new issue.

          Show
          Michael de Raadt added a comment - I'm closing this issue as it has been inactive for over a year has been recorded as affecting versions that are no longer supported. This is being done as part of a bulk annual clean-up of issues. If you still believe this is an issue in supported versions, please create a new issue.

            People

            • Votes:
              8 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: