Add-ons
  1. Add-ons
  2. CONTRIB-906

Project Course Format with bulk upload and section backup/restore

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.9.3
    • Fix Version/s: None
    • Component/s: Course format: Project
    • Labels:
      None
    • Affected Branches:
      MOODLE_19_STABLE
    • Rank:
      22390

      Description

      Problem: Teachers want to backup/restore/import/delete sections of a course. Currently only individual activities/resources or the whole course can be handled with Moodle 1.9. Also Moodle backup/restore/import do not sort the resources and activities according to topic/theme/project, but separate them by tool categories (ie: forums, quizzes, etc.). Teachers often want to duplicate whole sections which include a mix of activities.

      Solution: We have developed a new course format called the "Project Course Format". It has the following four features:

      • section backup
      • section import
      • bulk file upload
      • automatic upload, naming and creation of "resources" in two clicks

      Issues and status: The format has been working over six months in 1.9 production sites. We are still working on issues which concern moving/duplicating on the same course, and handling quiz question categories. Conversion of existing topics to project course format requires manual rebuilding of links.

      Documentation: http://docs.moodle.org/en/Project_Course_Format
      Discussion: http://moodle.org/mod/forum/discuss.php?d=87044

        Issue Links

          Activity

          Hide
          Anthony Borrow added a comment -

          Don - For the next week or so I will be completing my classes and have many final papers, exams, etc. In short, it is crunch time and I need to focus on the classes to get through the semester. After Dec. 12 I should have more time. If you need a response sooner, let me know and I'll try to squeeze it in but if you can be patient that would be much appreciated. Peace - Anthony

          Show
          Anthony Borrow added a comment - Don - For the next week or so I will be completing my classes and have many final papers, exams, etc. In short, it is crunch time and I need to focus on the classes to get through the semester. After Dec. 12 I should have more time. If you need a response sooner, let me know and I'll try to squeeze it in but if you can be patient that would be much appreciated. Peace - Anthony
          Hide
          Akio Ohnishi added a comment -

          Hello Don and Everyone,
          I am Akio Ohnishi of Version2 Software in Sapporo, Japan. I will be
          programming, updating and contributing this code into CVS in the
          future. Please let us know of any bugs or requests you have.
          Regards, Akio

          Show
          Akio Ohnishi added a comment - Hello Don and Everyone, I am Akio Ohnishi of Version2 Software in Sapporo, Japan. I will be programming, updating and contributing this code into CVS in the future. Please let us know of any bugs or requests you have. Regards, Akio
          Hide
          Anthony Borrow added a comment -

          Don and Akio - It looks like CONTRIB-906 is a patch. Is the code ready that I could have a look at it? Let me know when and where it is and I'll happily take a look. Peace - Anthony

          Show
          Anthony Borrow added a comment - Don and Akio - It looks like CONTRIB-906 is a patch. Is the code ready that I could have a look at it? Let me know when and where it is and I'll happily take a look. Peace - Anthony
          Hide
          Akio Ohnishi added a comment -

          ???:
          -Flash10???????????????????????
          -????????????????????????????????????
          -???????????????????????????????????????????????????????????????

          Changed:
          -corresponded for Flash 10 file upload specification changed.
          -Changed upload, backup and restore icons and view area.
          -Shared with backup/restore libraries to the Sharing Cart Block.
          If Sharing Cart Block exists then syncronize from their libraries.

          Show
          Akio Ohnishi added a comment - ???: -Flash10??????????????????????? -???????????????????????????????????? -??????????????????????????????????????????????????????????????? Changed: -corresponded for Flash 10 file upload specification changed. -Changed upload, backup and restore icons and view area. -Shared with backup/restore libraries to the Sharing Cart Block. If Sharing Cart Block exists then syncronize from their libraries.
          Hide
          Anthony Borrow added a comment -

          Thanks for the uploaded file. The one thing I am going to change in order to keep things as modular as possible is to move the help files under /course/format/project/lang/en_utf8/help/project/. They were previously pulled out separately under /lang/en_utf8/help/format/project/. As a result, I changed the helpbutton calls to:

          $button = helpbutton('directoryname', get_string('directoryname','format_project'), 'format_project', true, false, '', true);

          so that $page is just the file name and the $module is 'format_project". Let me know if you have any questions. I am going to go ahead and upload this to CVS now. Thanks for sharing your hard work with the Moodle community. Peace - Anthony

          Show
          Anthony Borrow added a comment - Thanks for the uploaded file. The one thing I am going to change in order to keep things as modular as possible is to move the help files under /course/format/project/lang/en_utf8/help/project/. They were previously pulled out separately under /lang/en_utf8/help/format/project/. As a result, I changed the helpbutton calls to: $button = helpbutton('directoryname', get_string('directoryname','format_project'), 'format_project', true, false, '', true); so that $page is just the file name and the $module is 'format_project". Let me know if you have any questions. I am going to go ahead and upload this to CVS now. Thanks for sharing your hard work with the Moodle community. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Don and Akio - I have created a component in the tracker to keep track of issues related to the Project course format and bumped both of your privileges in the tracker so that you can manage issues related to the Project course format. The next step is to read/review http://docs.moodle.org/en/Development:Guidelines_for_contributed_code to make sure that all the little things like adding an entry to the Modules and Plugins database, providing the correct download link, creating documentation pages, etc. are completed. Also, I would like for both of you to apply for CVS write access to contrib/plugins/course/format/project so that you can make changes to the code. Don I made you the component lead so that all new bugs, feature requests, etc. for the Course format: Project component will automatically be assigned to you. If you would prefer them to go directly to Akio that is easily changed but I figured it might be easier for you to have a look and respond to them first simply because most of them will be in English and may not be easily understandable. You can then choose to assign those issues to Akio. Please do not hesitate to let me know if there is anything else I can do to be of help. Peace - Anthony

          p.s. - After getting CVS write access, you may want to try updating the installation instructions in the README.txt file just to test the access.

          Show
          Anthony Borrow added a comment - Don and Akio - I have created a component in the tracker to keep track of issues related to the Project course format and bumped both of your privileges in the tracker so that you can manage issues related to the Project course format. The next step is to read/review http://docs.moodle.org/en/Development:Guidelines_for_contributed_code to make sure that all the little things like adding an entry to the Modules and Plugins database, providing the correct download link, creating documentation pages, etc. are completed. Also, I would like for both of you to apply for CVS write access to contrib/plugins/course/format/project so that you can make changes to the code. Don I made you the component lead so that all new bugs, feature requests, etc. for the Course format: Project component will automatically be assigned to you. If you would prefer them to go directly to Akio that is easily changed but I figured it might be easier for you to have a look and respond to them first simply because most of them will be in English and may not be easily understandable. You can then choose to assign those issues to Akio. Please do not hesitate to let me know if there is anything else I can do to be of help. Peace - Anthony p.s. - After getting CVS write access, you may want to try updating the installation instructions in the README.txt file just to test the access.
          Hide
          Anthony Borrow added a comment -

          moving to Course format: Project component

          Show
          Anthony Borrow added a comment - moving to Course format: Project component
          Hide
          Anthony Borrow added a comment -

          Since the code is in CVS, the tracker is setup, and we are just waiting for Don and Akio to apply for CVS write access at http://moodle.org/cvs I am going to go ahead and resolve this issue. Peace - Anthony

          Show
          Anthony Borrow added a comment - Since the code is in CVS, the tracker is setup, and we are just waiting for Don and Akio to apply for CVS write access at http://moodle.org/cvs I am going to go ahead and resolve this issue. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          I did catch a PHP notice on backup:

          Notice: Undefined variable: course in /home/arborrow/Moodle/code/19stable/course/format/project/backuplib.php on line 224

          I am wondering if your really need to declare a global $COURSE and use $COURSE instead of $course since you are not passing $course to the project_backup_get_zipfile_name function.

          Also, after I used the global $COURSE I found:

          Notice: Undefined property: stdClass::$chat_instances in /home/arborrow/Moodle/code/19stable/course/format/project/backup_check.php on line 128

          I think if you do some testing with this with debugging set to show All PHP notices and warnings (not developer mode) you will be able eliminate the notices pretty easily.

          Peace - Anthony

          Show
          Anthony Borrow added a comment - I did catch a PHP notice on backup: Notice: Undefined variable: course in /home/arborrow/Moodle/code/19stable/course/format/project/backuplib.php on line 224 I am wondering if your really need to declare a global $COURSE and use $COURSE instead of $course since you are not passing $course to the project_backup_get_zipfile_name function. Also, after I used the global $COURSE I found: Notice: Undefined property: stdClass::$chat_instances in /home/arborrow/Moodle/code/19stable/course/format/project/backup_check.php on line 128 I think if you do some testing with this with debugging set to show All PHP notices and warnings (not developer mode) you will be able eliminate the notices pretty easily. Peace - Anthony
          Hide
          Mary Parke added a comment -

          Hello!

          So does this mean that the course format: project will appear in standard Moodle installations or is this a package that we need to download and install (a "custom" feature) - when it's available?

          I've many faculty looking for such a feature and would be interested in testing this on our dev server.

          Thank you!

          • Mary
          Show
          Mary Parke added a comment - Hello! So does this mean that the course format: project will appear in standard Moodle installations or is this a package that we need to download and install (a "custom" feature) - when it's available? I've many faculty looking for such a feature and would be interested in testing this on our dev server. Thank you! Mary
          Hide
          Anthony Borrow added a comment -

          Mary - Sorry for not responding sooner. This means that the code will be on Moodle's CVS server in the contrib section so it will be 3rd party contributed code (not part of standard Moodle - aka core). So you would need to download and follow the installation instructions. It is sort of like an additional plugin. Peace - Anthony

          Show
          Anthony Borrow added a comment - Mary - Sorry for not responding sooner. This means that the code will be on Moodle's CVS server in the contrib section so it will be 3rd party contributed code (not part of standard Moodle - aka core). So you would need to download and follow the installation instructions. It is sort of like an additional plugin. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Don - Just a reminder that the code is ready to be maintained on Moodle's CVS server but I do need you and/or Akio to apply for CVS write access by going to http://moodle.org/cvs/ Peace - Anthony

          Show
          Anthony Borrow added a comment - Don - Just a reminder that the code is ready to be maintained on Moodle's CVS server but I do need you and/or Akio to apply for CVS write access by going to http://moodle.org/cvs/ Peace - Anthony
          Hide
          Akio Ohnishi added a comment -

          New versions of Project Course Format.

          • PCF now more reliable with question bank and media files

          For your information, I made English documentation for the Project Course Format here
          http://docs.moodle.org/en/Project_Course_Format

          Show
          Akio Ohnishi added a comment - New versions of Project Course Format. PCF now more reliable with question bank and media files For your information, I made English documentation for the Project Course Format here http://docs.moodle.org/en/Project_Course_Format
          Hide
          Anthony Borrow added a comment -

          Akio - I would like for you to be able to update these yourself in CVS. Please go to http://moodle.org/cvs/ and apply for CVS write access for the project course format and the sharing cart. Peace - Anthony

          Show
          Anthony Borrow added a comment - Akio - I would like for you to be able to update these yourself in CVS. Please go to http://moodle.org/cvs/ and apply for CVS write access for the project course format and the sharing cart. Peace - Anthony
          Hide
          Anthony Borrow added a comment -

          Closing all of my resolved issues. Peace - Anthony

          Show
          Anthony Borrow added a comment - Closing all of my resolved issues. Peace - Anthony

            People

            • Votes:
              3 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development