Periods format

Course formats ::: format_periods
Maintained by Marina Glancy
This course format allows to set duration for each section (period) in days, weeks, months or years. Each individual section (period) may override this duration. The course settings allow automatically collapse or hide past or future periods.
Latest release:
91 sites
11 downloads
45 fans
Current versions available: 3

This course format allows to set duration for each section (period) in days, weeks, months or years. Each individual section (period) may override this duration.

The course settings allow automatically collapse or hide past or future periods. For the past periods it is possible to hide them from course view page but have each individual module still accessible through reports and/or gradebook. Also it is possible to hide past periods only if all activities in them are completed and show otherwise.

Current section is automatically highlighted.


Please note that this format takes advantage of the new feature introduced only in 2.8 (see MDL-46937), so it will not work properly on 2.7.

Related issues and discussions: https://moodle.org/mod/forum/discuss.php?d=268797 , MDL-47318 , MDL-47516

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3

Contributors

Marina Glancy (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Comments

  • David Mudrák
    Tue, 13 Jan 2015, 2:45 AM
    Hi Marina. Thanks for sharing this plugin with the community. I really missed the provided functionality when I was using Moodle as a teacher. I am sure it will make many teachers really happy - well done on that.

    There were some formal coding style issues detected by the cibot. Although we do not generally discriminate against them, I thought it might be good if HQ people tried to have their own plugin in just a perfect state (I am aware it's not always possible to make cibot 100% happy but there seem to be some issues reported that should be easy to fix). I know some community developers watch our repos as examples of good coding practises and it's harder to encourage them to follow our strict guidelines if we ourselves do not do so. Thanks for understanding.

    Please note the GNU/GPL boilerplate is recommended at the beginning of each file - http://docs.moodle.org/dev/Coding_style#Files

    The code in the file periodduration.php uses `format_period_*` frankenstyle prefix while the correct one should be `format_periods_*` (plural). By the way, I'm just curious what was the reason for the custom implementation of lib/form/duration.php. Was there no way to re-use the core element?

    Please fix the missing bug tracker URL reported by the plugin checker above. If you plan to use our tracker, feel free to create the required CONTRIB component yourself or just let us know and we will process it.

    For now, I am going to mark this plugin as needing more work until we get these issues resolved. Thanks for your patience with the review and approval process.
  • Marina Glancy
    Wed, 14 Jan 2015, 9:00 AM
    Hi David,
    thanks for the review. I'll look at the codechecker results.
    As for GPL boilerplate - it's a bit weird to say that "his file is part of Moodle - http://moodle.org/". Does it mean when plugin is published in this directory it becomes part of Moodle?

    Regarding duration - standard element has units: minute, hour, day, week (or something like that) and each unit is identified by the exact number of seconds. It is impossible to use it when the duration is a month, because you can not know the exact number of seconds (or days) in a month. Besides, format_weeks has a hack when 2 hours are added to the course start date to avoid DST confusions. Because in case of DST change in the middle of the course one week should be an hour longer or shorter.

    In my format the period duration can be set in days, weeks, months or years (internally stored as string instead of number of seconds) and it uses php functions to add a time interval, so "month" is a real month and even in case of DST change the midnight is still midnight.
  • Marina Glancy
    Wed, 14 Jan 2015, 4:18 PM
    Hi David, some codechecker complains can not be addressed because of our formslib
  • David Mudrák
    Wed, 14 Jan 2015, 6:58 PM
    Hi Marina. Re "this file is part of Moodle", the way how I understand it is that it says this plugin is part of the Moodle project. In other words, it's a Moodle plugin and not, for example, Drupal plugin. Anyway, please free to amend that so it says what you like.
    Thanks for the explanation of the duration class. It makes perfect sense now. I'll be happy to approve this plugin as I really think it will be a great contribution for many teachers. Thanks a lot for your work on this course format. Please do not forget to schedule it for re-approval one you upload the new version (sorry for learning the old eagle how to fly and work with local_plugins smile)
  • David Mudrák
    Wed, 14 Jan 2015, 6:59 PM
    ... and yes, I know about of the formslib and the syntax checker. That is why I said above "I am aware it's not always possible to make cibot 100% happy"
  • Marina Glancy
    Thu, 15 Jan 2015, 11:06 AM
    I set it yesterday into "waiting for approval" state, what else should I do?
  • Anthony Borrow
    Thu, 15 Jan 2015, 12:53 PM
    Marina - Thanks for tidying things up. I installed and played around with this course format and it worked as expected. I am going to go ahead and approve this. Peace -Anthony
  • Michael Storzieri
    Wed, 20 May 2015, 3:35 AM
    So, does the plugin show but block the student from accessing future class info until the time I set it to be available?

    Can it be set to only let the student move to the next lesson if they pass the one they are on?
  • Marina Glancy
    Wed, 20 May 2015, 7:25 AM
    Every course format can do that using completion and conditional availability https://docs.moodle.org/29/en/Conditional_activities_settings
  • Rahul Paul
    Thu, 4 June 2015, 5:28 PM
    The course format must be using the course start date to calculate its own dates. Would it be possible to be able to use the user's enrollment date start instead for this purpose? This way one could have courses where a user can enroll any time and then sections would become available in a controlled manner starting from the date of enrollment.
  • Micah Yarborough
    Tue, 7 July 2015, 5:49 PM
    I would like this info as well. I would like to use weekly period format, however, start date must be enrollment date for each individual user.
  • Marina Glancy
    Mon, 24 Aug 2015, 1:41 PM
    It is not possible in this course format. Feel free to create an improvement issue in bug tracker (see the link above)
  • admin admin
    Sat, 14 Nov 2015, 9:04 AM
    Hi Marina, I too would like this format but with start date based on enrollment date. Will add to the bug trcker.

    Rahul, Micah, Greicy - did you find any course formats that can do this?

    Thanks

    Mike
  • admin admin
    Sat, 14 Nov 2015, 9:05 AM
    Or Marina - do you know of any course formats that can do this? I'm wondering if there is a database of course formats anywhere?
Please login to post comments