Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 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
https://moodledev.io/docs/apis/plugintypes/repository
5
 
6
=== 4.3 ===
7
* The base `repository` class method `get_file_size` has been deprecated and should not be used any more
8
 
9
=== 4.0 ===
10
* The repository_boxnet has been completely removed.
11
* The repository_picasa has been completely removed (Picasa is discontinued since 2016).
12
* The skydrive repository has been completely removed from core. It has been moved to the plugins database repository, so
13
it can still be installed as a third-party plugin.
14
* Methods can_import_skydrive_files() and import_skydrive_files have been deprecated from repository_onedrive. The feature For
15
importing files from repository_skydrive to repository_onedrive will be completely removed in Moodle 4.4.
16
 
17
=== 3.11 ===
18
* The Google Drive repository now includes a new rest API function 'shared_drives_list', which can be used to fetch
19
  a list of existing shared drives.
20
* The Google Drive repository now supports browsing and searching for content from shared drives.
21
* The method build_breadcrumb() in repository/googledocs/lib.php has been deprecated, please use get_navigation()
22
  from the googledocs repository content classes instead.
23
* The method build_node_path() in repository/googledocs/lib.php has been deprecated, please use
24
  \repository_googledocs\helper::build_node_path() instead.
25
* The method explode_node_path() in repository/googledocs/lib.php has been deprecated, please use
26
  \repository_googledocs\helper::explode_node_path() instead.
27
* The function query() in repository/googledocs/lib.php is deprecated, please use get_content_nodes() from the
28
  googledocs repository content classes instead.
29
 
30
=== 3.4 ===
31
Repositories should no longer directly call file_system#add_file_to_pool or file_system#add_string_to_pool
32
instead they should call the stored_file method, set_synchronised_content_from_file or set_synchronised_content_from_string
33
 
34
=== 3.3 ===
35
The skydrive repository is deprecated - please migrate to the newer onedrive repository.
36
 
37
=== 3.2 ===
38
 
39
* The method repository::uses_post_requests() has been deprecated and must not be used anymore.
40
* The alfresco repository has been moved to the plugins database. It was
41
  using an older version of the Alfresco SDK which is not compatible with recent versions of Alfresco.
42
 
43
=== 3.1 ===
44
 
45
* The following functions, previously used (exclusively) by upgrade steps are not available
46
  anymore because of the upgrade cleanup performed for this version. See MDL-51580 for more info:
47
    - repository_picasa_admin_upgrade_notification()
48
    - repository_googledocs_admin_upgrade_notification()
49
    - repository_boxnet_admin_upgrade_notification()
50
    - repository_alfresco_admin_security_key_notice()
51
* The prepare_file() function will now return a file in a per-request directory which will
52
  be automatically cleaned at the end of the request.
53
  No modifications should be required as a result of this change.
54
 
55
=== 2.8 ===
56
 
57
* Repositories working with Moodle files must replace serialize() with json_encode() in the
58
  attribute 'source' returned by get_listing(). If repository overrides file_is_accessible(),
59
  get_file_reference() or get_file_source_info() they need to be changed too. See MDL-45616.
60
 
61
=== 2.6 ===
62
 
63
* get_option() now always return null when the first parameter ($config) is not empty, and
64
  no value was found for this $config. Previously this could sometimes return an empty array().
65
 
66
* The function repository_attach_id() was removed, it was never used and was not useful.
67
 
68
* New functions send_relative_file() and supports_relative_file() to allow sending relative linked
69
  files - see filesystem repository for example.
70
 
71
* DB fields files.referencelifetime, files.referencelastsync and files_reference.lifetime
72
  are deleted. The last synchronization time is stored only in files_reference.lastsync
73
  and lifetime is not stored in DB any more, each repository must decide for itself
74
  when to synchronize the file in function repository::sync_reference().
75
 
76
* The following methods in class repository are deprecated: sync_external_file(),
77
  get_file_by_reference(), get_reference_file_lifetime(), sync_individual_file() and
78
  reset_caches(). Instead there is one method repository::sync_reference() - this simplifies
79
  the repositories API and reduces the number of DB queries.
80
 
81
* Deprecated const GETFILE_TIMEOUT, SYNCFILE_TIMEOUT and SYNCIMAGE_TIMEOUT and replaced them with
82
  config variables repositorygetfiletimeout, repositorysyncfiletimeout and repositorysyncimagetimeout.
83
 
84
=== 2.5 ===
85
 
86
* repository::append_suffix() has been deprecated, use repository::get_unused_filename() if you need
87
  to get a file name which has not yet been used in the draft area.
88
 
89
* contains_private_data() is a new method to determine if a user 'logged in as' another user
90
  can access the content of the repository. The default is to return True (no access).
91
 
92
* get_typename() returns the type of repository: dropbox, googledocs, etc...
93
 
94
* can_be_edited_by_user() encapsulates all the tests to make sure that the current user
95
  has the rights to edit the instance of this repository.
96
 
97
* repository::get_instances() (used by filepicker and texteditor to populate the
98
  list of available repositories) now calls repository constructor specifying the
99
  context where repository will be used.
100
  When checking permissions inside repository class use:
101
  $this->instance->contextid - to find the context where repository was created;
102
  $this->context - to find the current context where repository is used.
103
  This also means that the same repository instance may now have different names when
104
  called from different contexts.
105
  Avoid calling repository::get_instance(), use repository::get_repository_by_id() instead.
106
 
107
=== 2.4 ===
108
 
109
* copy_to_area() can receive a new parameter called $areamaxbytes which controls the maximum
110
  size of the area the files will be stored in.
111
 
112
* the repositories using the upload() method should implement a check for $areamaxbytes,
113
  see repository/upload/lib.php upload() and process_upload() for an example on how handling it.
114
 
115
=== 2.3 ===
116
 
117
* instance_config_form() must now be declared static for php5.4 compatibility.
118
 
119
* get_listing() and search() file metadata details are now now more prominently
120
  displayed in the interface. Dates and timestamos are now able to be sorted on in
121
  the filepicker interface so plugin authors are asked to ensure:
122
    - Dates are defined as UNIX timestamps
123
    - Filesize is an integer in bytes
124
 
125
* It is recomended to define function get_file_source_info() to provide more rich
126
  infromation about the source of a file.
127
 
128
* The API was extended to allow repositories can now support external references, please
129
  see https://moodledev.io/docs/apis/plugintypes/repository for further details.