Moodle 2.0 Plugin
Moodle 1.9 Plugin
Developer documentation
Release notes

Release notes and change log

1.1.3 7 January 2012 Updated to recognize resources in the Moodle 2.4 format.

1.1.3 12 September 2011 Additional logic in module.js to recognize resource links on flexpage course pages. The connector identifies resource links on the page by the icon that is associated with the resource. Previously, it expected this to be the first child of the A element. Now it also considers the previous sibling as this is the way flexpage resources are listed (the icon is there, but it isn't actually a link to the resource).

1.1.2 16 August 2011 Changes to Moodle 1.9 block as requested by MoodleRooms.

1.1.0 14 July 2011 The Moodle 2.0 plugin has been restructured as a block with some of the configuration settings moved into instance settings. Code for globally setting the courses that the plugin should apply to has been removed: it now applies only where the block is active. Each instance of the block can set its own selection between individual and group annotation. For group annotation it can supply its own "master user" who will own the documents in Annotate.

1.0.2 14 March 2011 There are now two separate versions of the plugin: one for Moodle versions prior to 2.0 and one for Moodle 2.0. The difference arises from the different approach to resource management and file handling in Moodle 2. Moodle 2.0 also allows plugin developers more scope to access the system, so some of the workarounds necessary for 1.9 are no longer needed with 2.0.

1.0.1 22 November 2010 Option to have all users share the same version of a resource. Previously, students always got private copies in A.nnotate for each Moodle resource they accessed. Now there is a "shared comments" option in the plugin configuration to make all students share the same version in A.nnotate so they can see each others annotations. If set, this also needs the "Shared comments user" field setting to specify who will be the owner of the shared document. This is the A.nnotate account that will be able to delete the document and its comments.

1.0.0 20 July 2010 This version removes the need for sourcing separate filter files according to which page it is loaded on. Instead, filter.php now just loads filterutil.php once (so filter.php can be called more than once on the same page without any problems). The filterutil.php script checks what page it is on and either just takes the id parameter as it is, or (if it is on mod/resource/view.php) it looks up the course id from the supplied module id.

The only differences from before are at the top of filterutil.php and in the short filter.php and mod_resource_filter.php files. The later is included for backward compatibility, but links in moodle pages can all now point to filter.php.

0.9.9 12 July 2010 The 23 June update only applied to filter.php, as used on courses and files page. This version adds the same changes to resource_view_filter.php which is used on for content served by mod/resouce/view.php. The code has been refactored so both pages (filter.php and resource_view_filter.php) use the same function from filterutil.php to check which files should be enabled.

The difference between filter.php and resource_view_filter.php is that the id parameter on course pages is the course id as required for deciding whether to enable annotation on the course or not. There is also an id parameter on mod/resource/view.php but here it is the module id, not the course id so a lookup is needed to find the course id. This is what resource_view_filter.php does.

0.9.8 6 July 2010: (annotate-moodle-0.9.8.zip) There is a single change in activate.js at line 83: two extra keys have been added in the array of icon types used to identify annotatable resources: "excel.gif" and "pptx.gif" (Moodle uses "excel.gif" rather than "xls.gif" to identify .xls files). Lines 83 and 84 now read:

		var applyTo = {"pdf.gif":bpdf, "word.gif":bdoc, "docx.gif":bdoc, 
		               "xlsx.gif":bxls, "xls.gif":bxls, "excel.gif":bxls,
				   "powerpoint.gif":bppt, "pptx.gif":bppt, "odt.gif":bdoc, "image.gif":bjpg};

0.9.7 23 June 2010: (annotate-moodle-0.9.7.zip) The A.nnotate connection for JPEG images is now working. Images are presented on A.nnotate in the same way as web snapshots by making a simple html page for them. The deduplication option is currently not supported for web snapshots so each user will have a separate copy of the image on the server, but since the scaling features are not applicable th html snapshots, there should be no additional space taken for cached versions at different scales as is done with PDFs. To benefit from the deduplication and resizing features, the images could be converted to PDFs first. There is also an A.nnotate server option to do this but it typically involves resampling the image so some of the original detail may be lost.

0.9.6 21 June 2010: (annotate-moodle-0.9.6.zip) There are changes to the filter settings screen (filtersettings.php) and filter.php to allow finer grained selection of what document types are activated. The filter settings screen now has separate options for PDF, MS Word, Excel, PowerPoint and JPEG images.

As well as these global settings, the CourseIDs line supports course-specific settings. Previously, this was just a comma separated list of course IDs such as "3,6,12". Now, each course can override the global filters by appending "+" or "-" followed by the file type keys ("pdf", "doc", "xls", "ppt" and "jpg"). For example, to remove Word and Excel annotation from course 6, the course line would be "3,6-doc-xls,12". If JPEG annotation is not on by default, it could be added to course 12 by changing this line to: "3,6-doc-xls,12+jpg". The "*" character is also supported as a wildcard selector, so "3,6-doc,12-*+jpg" remove annotation from everything for course 12 and then adds jpeg back in. In this case the course 12 settings will be independent of whatever is set for the global settings. Likewise to annotate all but jpeg, irrespective of other settings it would be: "3,6-doc,12+*-jpg".

0.9.5 25 February 2010: (annotate-moodle-0.9.5.zip) This resolves a problem with directory listings via mod/resource/view.php. For this script, the "id" parameters that is supplied is the ID of a course module, not of a course. If filtering by courses is enabled in the filter plugin screen, then, with version 0.9.4, the ID of the module must be added to the list of IDs in the plugin settings to enable A.nnotate in the directory listing.

This version resolves the problem with a separate filter file, resource_view_filter.php, which is loaded from the custom script for mod/resource/view.php instead of the existing filter.php. The new filter file looks up the course module from its ID, then uses the course ID to test against the enabled courses. This removes any need to add module IDs to the list of enabled IDs.

The only changes from 0.9.4 are an extra file resource_view_filter.php (zipped) to go in the filter/annotate directory and a change in customscripts/mod/resource/view.php (or the corresponding Moodle source file if the require_once lines are put in explicitly) so that it loads this file instead of the other. The line:

should be replaced with:

A full zip file for 0.9.5 is provided for convenience in new installations. But the only changes are the additional file and changed "require_once" line. It is not necessary to upgrade the whole plugin to get the improved behavior.

0.9.4 19 February 2010: (annotate-moodle-0.9.4.zip) There are two changes in this release to remove direct use of $_GET from the php in accordance with the Massey security check.

0.9.3 12 February 2010: Modified the deduplication settings to take advantage of a server feature to allow base documents to stored independently of any particular account.

0.9.2 9 February 2010: Added support for selecting courses by entering a list of course IDs in the filter settings page. This page also offers a configuration test to check the connection between the plugin and the specified A.nnotate server.

0.9.0 23 January 2010: Deduplication support in conjunction with a.nnotate server version 3.1. There is a new "Deduplicate" option on the plugin configuration panel which makes the server share its cache for the document among all users. This reduces the processing load and the space taken up on the server.

0.8.2 29 December 2009: Revised use of customscripts and installation instructions. Using A.nnotate as a filter requires text caching to be disabled for filters so that it gets run every time a page is created. This could conflict with the preferred settings for existing plugins, so now the annotate plugin uses the custom scripts method to load itself on those pages where it is required.

0.8.1 17 December 2009: Added installation notes specifying that text caching should be disabled for the default installation. Added a custom script for the course/view.php page so that the plugin can be called even with text caching enabled. Because these scripts are always called, there is now a check in filter.php to find whether the plugin is enabled in the modules configuration.

0.8.0: December 2009: Initial release.