Diary

Activities ::: mod_diary
Maintained by AL Rachels
Diary is a very advanced version of the Journal plugin. The most notable addition is the capability to make multiple, separate, entries per day, and do so on multiple days. This allows students to revise their writing while retaining the original version. The addition of statistics with auto rating for any min/max combination of characters, words, sentences, or paragraphs also helps to track revision progress of a students writing. The activity can be set to use multiple, time released, writing prompts with each one having it's own auto-rating settings and auto-grading of required phrases, per prompt. With Diary, you can also use completions for, View, Receive a grade, and Receive a passing grade. New in this version is new prompt modes and Completion metrics!
Latest release:
1069 sites
450 downloads
55 fans
Current versions available: 3

The Diary plugin is based off the Journal plugin, but with many more additions and capabilities added. Instead of a single entry, users can start a new entry each calendar day. If enabled, they can go back and edit any previous entry. Also, if enabled, they can edit the date of any entry, which means they can add an entry for previously missed dates. This ALSO means you can make multiple entries for any given day. If, edit dates, is NOT enabled, and a user tries to change the hidden, time created, the attempt will be blocked, an entry put into the logs, and a notice placed in the feedback area for the teacher to see.

There are multiple statistics of character, word, sentence, and paragraph count. Included are unique words, unique one syllable short words, unique two syllable words, and unique three or more syllable words, which will help point out whether the user is using too many small words. In all, there are twenty different statistics that can be shown right after every entry.

Diary uses individual grades for rating each entry, and uses the Moodle Rating system for grades in the Moodle grade book. All the standard rating methods are supported. The user view lists the rating type and the current rating. The teacher report view, also lists the rating type and the current rating for each user, in their entry.

The current version of Diary includes automatic time released prompts. Auto-rating for each writing prompt can use characters, words, sentences, or paragraphs for automatic rating of the entry, but also now can require phrases for auto-rating! All the teacher needs to do for the automatic rating is click a button to add the results to the entry's feedback, then save all the feedback.

When the teacher goes to the report page to grade entries, just like the Journal plugin, they only see the most recently created entry from each user. This is to help prevent a very long page scroll. Diary also uses Groups to help shorten the page. To help prevent extra scrolling, a save all feedback and return button is included between each entry. Since the v3.1.1 release, on the report page, there is now a link for each student that will let the teacher see all of the entries for the selected student. Each of the entries can be graded and feedback text added. Once the teacher is finished, click Save all feedback will update the data for each entry that was changed. If the teacher does not want to make changes, there is a button to take them back to the regular report page.

At the top of both the view and report pages, there is a tool bar. On the normal view page, the toolbar is hidden until the user makes at least one diary entry and saves it. The download results depends upon the user. A regular user (student) can download only their dairy entries, while a teachers gets everyone in the course's entries, and an admin gets all entries for the entire site.

The edit tool (pencil) opens for editing the entry at the top of the view page, and on the report page, it gets the current diary entry for marking.

Each of the directional arrows, sorts the list of entries on the view and report pages. If a teacher has skipped a day or two of grading, they will need to sort for, Lowest rated entries, to get entries they haven't marked yet. Or, even better, use the new link after their name on the report page, Get all Diary entries for this user. The resulting page will allow you to rate and provide feedback for any entry made by the selected user.

If the course format is set to, Weekly, the Days available, setting can be used to control how many days a Diary activity will be available for adding/editing entries. For weekly and any other course format, the Open time and Close time settings can be used to control when a Diary activity is available for adding/editing entries. If a diary activity is not open for adding/editing entries, previously made entries can still be read by the user, and the teacher can still grade entries.

Diary includes Moodle, Tags. It also lets the user turn On/Off the statistics display on the normal view page. If the user is a teacher or higher, the can toggle, Email now/Email later, so that the normal "maxeditingdelay" is bypassed or not.

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2
Screenshot #3
Screenshot #4
Screenshot #5
Screenshot #6
Screenshot #7

Contributors

AL Rachels (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments

Show comments
  • Dr. Nellie Deutsch
    Sat, 21 Mar 2026, 7:19 PM
    Hi AL, I hope you can continue with the email notifications. They don't seem to be working on Moodle 5.1.
  • AL Rachels
    Sat, 21 Mar 2026, 11:48 PM
    Hi Dr. Deutsch,
    Have you tried the Diary v4.0.1 branch from the github source control URL? I am still doing some testing before release and email is one of the items needing to be tested. I am in the middle of moving the DNS account for my development site and expect it to be two or three days before I can (hopefully) test email. I do have a demo site that the email works on, but the Moodle is only 4.5.&+ I think. That site is not hosted internally and the Internet provider has dropped native Moodle support and limits my account to about 260K file names. Moodle has gotten so big in file count that I have had to scale back what I can run on that provider.
  • Dr. Nellie Deutsch
    Sun, 22 Mar 2026, 9:45 PM
    Thank you, Al. I wasn't able to locate v4.0.1 on the github.
  • AL Rachels
    Sun, 22 Mar 2026, 11:32 PM
  • Dr. Nellie Deutsch
    Mon, 23 Mar 2026, 1:50 AM
    I get a popup with "sorry the requested file could not be found" when I create an entry with both the 400 and 401version.
  • AL Rachels
    Tue, 24 Mar 2026, 4:17 AM
    I am so sorry that it is not going smoothly for you. Was there any other info available? It will be temporarily slow for me to do any testing due to moving from one Domain Name Registrar to another making it difficult for me to do any "reliable" trouble-shooting. It would help if you could start a new issue on the github account you reach when you click the link above for Source Control URL. That way, you can show pictures and maybe a Debug Listing.
  • AL Rachels
    Sat, 28 Mar 2026, 5:37 AM
    Teaser! The master branch has some REALLY interesting stuff in it. Little things like Required Phrases in each prompt, plus other stuff to go along with it. (Slapped fingers away from the keyboard! LOL)
  • AL Rachels
    Sat, 11 Apr 2026, 1:21 AM
    I have modifications to Prompts on my TODO list. Anyone is welcome to join the conversation regarding proposed changes, over in the discussion, https://moodle.org/mod/forum/discuss.php?d=409226#p1898442
  • Dr. Nellie Deutsch
    Wed, 10 June 2026, 8:02 PM
    Hi Al, I stopped getting email notifications. It worked for a few weeks on Moodle 5.2 and then????
  • AL Rachels
    Fri, 12 June 2026, 1:32 AM
    Hmm, mine still keeps sending to me. I presume you are using Diary v5.1.0. The only thing I can think of to try right now would be to cycle your settings to see if that turns them back on. Frankly, my problem trying to find a solution for something like this is the fact I do not have a real classroom situation and on any given day, I am making constant code changes. Basically my setup never gets to experience long-term problems showing up. Sorry I cannot be more helpful at the moment. I do have a pending Diary v5.1.1 that I will try to get to as soon as my next Content Pages is done. Hopefully today or tomorrow.
  • AL Rachels
    Fri, 12 June 2026, 10:04 PM
    Had a thought just before falling asleep last night, and I am sorry I did not think of it earlier since I have used it so much during development. As an admin, go to Site administration > Server > Tasks > Scheduled tasks. Once there search for Background processing for Diary module. Click the icon for, View logs for Background processing for Diary module. Look through the resulting listing to see if you have any Results of Failure. You can also look for any Success where the Database column has multiple reads especially if it also has any writes. Click the three vertical dots for any such entry, then select View.

    This will give you the results for the cron job for the Start time the Result applies to. While testing during development, I often would trigger conditions so that an email should be sent with the next cron, then go look for it to see why it failed, or was successful.
  • Dr. Nellie Deutsch
    Sat, 13 June 2026, 1:15 AM
    Hi Al, Thank you for your guidance. I followed your suggestion and checked the scheduled task for the Diary module.

    The scheduled task was registered correctly and appeared through CLI as:

    \mod_diary\task\cron_task

    When I ran the task manually, it completed successfully, but it first showed:

    No pending entries to mail.

    I then checked the Diary entries in the database. The recent entry had mailed=0 and submissionemail=1, but the Diary activity had teacheremail=1. Because of that, the scheduled task skipped the entry and did not send the notification.

    After changing the Diary activity setting so that teacheremail=0 for that Diary activity, the scheduled task immediately processed the old unmailed entries and sent the notifications successfully. The logs then showed:

    PREPARING: Sending email to nellie.muller.deutsch@gmail.com

    SUCCESS: Message sent with ID

    After that, I received all the delayed email notifications from the previous Diary entries.

    So the problem was not cron, Moodle email, Gmail, or my course manager role. The issue seems to be that when teacheremail=1, the Diary scheduled task skips the entries, while teacheremail=0 allows the teacher notifications to be sent.

    This looks like the teacher email setting may be reversed or confusing in the activity settings, or the scheduled task may be checking the opposite value from what the setting suggests.

    Thank you again for your help.
  • AL Rachels
    Sat, 13 June 2026, 2:36 AM
    I'm glad that you have gotten things to work again, and I will try to see if I can figure out what causes the setting to un-expectedly change.
  • Dr. Nellie Deutsch
    Sat, 13 June 2026, 3:45 AM
    Hi Al, It looks like the teacher email setting may need to be reviewed in the Diary plugin. The scheduled task appears to skip entries when teacheremail=1, but it sends the notifications when teacheremail=0.

    Could you please check whether the teacher email setting is reversed in the activity form, or whether the scheduled task is checking the wrong value?

    It seems that the form setting, the database value, and the cron logic may not be aligned after the upgrade. If teacheremail=1 is supposed to mean that teacher notifications are enabled or sent immediately, then the scheduled task should probably not skip those entries. If teacheremail=0 is the value required for sending, then the wording in the activity settings may need to be changed so it is clear.

    It may also help to add an upgrade fix for existing Diary activities, because activities that already have teacheremail=1 may silently stop sending notifications after the upgrade. Clearer scheduled task logging would also help, so instead of only showing “No pending entries to mail,” the log could show when entries are being skipped because of the teacheremail value.

    Thank you again for checking this.
  • AL Rachels
    Wed, 17 June 2026, 11:54 PM
    Thanks for the detailed analysis and I will add all this to my Diary TODO list.
1 2 3 4 5 6 7
Please login to post comments