PHPackages                             adamjenkins/moodle-tool\_activitydates - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. adamjenkins/moodle-tool\_activitydates

ActiveMoodle-tool

adamjenkins/moodle-tool\_activitydates
======================================

A Moodle admin tool that bulk-schedules activity open/close dates across a course on a timed-session basis

v0.1.2(3w ago)001GPL-3.0-or-laterPHPCI passing

Since Jul 12Pushed 3w agoCompare

[ Source](https://github.com/adamjenkins/moodle-tool_activitydates)[ Packagist](https://packagist.org/packages/adamjenkins/moodle-tool_activitydates)[ Docs](https://github.com/adamjenkins/moodle-tool_activitydates)[ RSS](/packages/adamjenkins-moodle-tool-activitydates/feed)WikiDiscussions main Synced 1w ago

READMEChangelogDependencies (8)Versions (4)Used By (0)

Activity dates (`tool_activitydates`)
=====================================

[](#activity-dates-tool_activitydates)

A Moodle admin tool that bulk-schedules activity open and close dates across a course on a timed-session basis. Pick a set of activities of the same type (quizzes, choices, feedback, SCORM packages, and any other module whose instance table has `timeopen`/`timeclose` columns), split them into sessions, and write each session's window straight into the module's own dates — giving students native "Opens:/Closes:" display and calendar events, no availability restrictions involved.

Requirements
------------

[](#requirements)

- Moodle 5.0 or later

Installation
------------

[](#installation)

1. Copy the plugin directory into `/public/admin/tool/activitydates/`
2. Visit Site administration → Notifications to run the upgrade

How it works
------------

[](#how-it-works)

From a course's administration menu, a teacher or manager opens **Activity dates**, picks an activity type, and sets a schedule start date, finish date, session length (in days), and how many activities go in each session. The tool splits the course's activities of that type into sessions in course order, and for each selected activity writes an open date at the start of its session and a close date at the end of it (unless "Stay available after session finish" is set, in which case no close date is written).

Activities left unselected are untouched by default, but can optionally be hidden and/or have their dates reset.

Settings
--------

[](#settings)

Site administration → Plugins → Admin tools → Activity dates provides site-wide defaults for the scheduling form: session length, activities per session, and whether activities stay available after their session finishes / unselected activities are hidden by default.

Privacy
-------

[](#privacy)

This plugin stores only course-level scheduling configuration (which activity type, session settings, and which activities are selected) — it does not store or process any personal user data, and implements Moodle's privacy `null_provider`.

Acknowledgements
----------------

[](#acknowledgements)

This plugin was inspired by, and adapts the session-scheduling approach of, [Driprelease](https://moodle.org/plugins/tool_driprelease) by Marcus Green. Where Driprelease controls access with availability restrictions, Activity dates writes each activity's own open/close dates instead.

License
-------

[](#license)

GNU GPL v3 or later —

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance94

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity26

Early-stage or recently created project

 Bus Factor1

Top contributor holds 95.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Total

3

Last Release

27d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c85ec09253e9a275a2586a0551aeea7e319d9560b0fcc4b7b41357b50e847e15?d=identicon)[wisecat](/maintainers/wisecat)

---

Top Contributors

[![adamjenkins](https://avatars.githubusercontent.com/u/11323818?v=4)](https://github.com/adamjenkins "adamjenkins (22 commits)")[![marcusgreen](https://avatars.githubusercontent.com/u/732202?v=4)](https://github.com/marcusgreen "marcusgreen (1 commits)")

---

Tags

moodleschedulingadmin-toolactivity dates

###  Code Quality

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/adamjenkins-moodle-tool-activitydates/health.svg)

```
[![Health](https://phpackages.com/badges/adamjenkins-moodle-tool-activitydates/health.svg)](https://phpackages.com/packages/adamjenkins-moodle-tool-activitydates)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
