For the last couple of weeks I have been working on a new type of Local plugin which I'm currently calling "local_annotations". The plugin makes it possible to set up highly customisable annotations which are targeted at specific pages on a Moodle site. These annotations can then draw a user's attention to a specific area of the page they are visiting and give them information about a function or feature. I've uploaded a short demonstration video at
The features I have completed so far are:
- Annotations instances are stored in the database; highly customisable
- User "views" are tracked either by the page load or by their session
- Annotations can be displayed on specific pages using the following filters:
- Part of a page ID:- eg like '%course-view%'
- Part of a page class:- eg like '%pagelayout-frontpage%'
- The page theme:- eg 'afterburner'
- The user's language:- eg 'en-us'
- Whether a user has editing capability
- Whether a user has editing turned on
- Whether the user needs to be logged in
- Annotations can be positioned and sized on a per-instance basis
- Annotations are given a "display from" and a "display until" value to dictate which page views they appear on
- Annotations can be given a sequence allowing a user to be guided around a page (currently JS only)
- Support for mainstream browsers including IE8
There is still a lot of work to do on the back end as I am currently adding annotation instances through phpmyadmin, I'm coming up with ideas for a simple user interface for quickly adding and editing notes. I also need to alter my database queries to make use of the $DB helper functions.
I hope you like the concept and would be glad to hear your thoughts on what I have so far.