Merge branch 'MDL-40816_m25' of git://github.com/markn86/moodle into MOODLE_25_STABLE
[moodle.git] / repository / upgrade.txt
blob739fa814ee620c3bfed8bf6131ae65747cc537cd
1 This files describes API changes in /repository/ repository system,
2 information provided here is intended especially for developers. Full
3 details of the repository API are available on Moodle docs:
4 http://docs.moodle.org/dev/Repository_API
6 === 2.5 ===
8 * repository::append_suffix() has been deprecated, use repository::get_unused_filename() if you need
9   to get a file name which has not yet been used in the draft area.
11 * contains_private_data() is a new method to determine if a user 'logged in as' another user
12   can access the content of the repository. The default is to return True (no access).
14 * get_typename() returns the type of repository: dropbox, googledocs, etc...
16 * can_be_edited_by_user() encapsulates all the tests to make sure that the current user
17   has the rights to edit the instance of this repository.
19 * repository::get_instances() (used by filepicker and texteditor to populate the
20   list of available repositories) now calls repository constructor specifying the
21   context where repository will be used.
22   When checking permissions inside repository class use:
23   $this->instance->contextid - to find the context where repository was created;
24   $this->context - to find the current context where repository is used.
25   This also means that the same repository instance may now have different names when
26   called from different contexts.
27   Avoid calling repository::get_instance(), use repository::get_repository_by_id() instead.
29 === 2.4 ===
31 * copy_to_area() can receive a new parameter called $areamaxbytes which controls the maximum
32   size of the area the files will be stored in.
34 * the repositories using the upload() method should implement a check for $areamaxbytes,
35   see repository/upload/lib.php upload() and process_upload() for an example on how handling it.
37 === 2.3 ===
39 * instance_config_form() must now be declared static for php5.4 compatibility.
41 * get_listing() and search() file metadata details are now now more prominently
42   displayed in the interface. Dates and timestamos are now able to be sorted on in
43   the filepicker interface so plugin authors are asked to ensure:
44     - Dates are defined as UNIX timestamps
45     - Filesize is an integer in bytes
47 * It is recomended to define function get_file_source_info() to provide more rich
48   infromation about the source of a file.
50 * The API was extended to allow repositories can now support external references, please
51   see http://docs.moodle.org/dev/Repository_API for further details.