forked from kajona/kajonacms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
update_v3_to_v4.txt
91 lines (74 loc) · 5.01 KB
/
update_v3_to_v4.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
General
- Remove ?> closing tags
- The %%lang_ schemed placeholders are no longer available. They are completely replaced by the scriptlet [lang,placeholder,sourceModule]. available in both, admin and portal.
Module Update
- rename module-folder from modul_xx to module_xx
- rename template-folder from modul_xx to module_xx
- the folder /elemente is renamed to /elements
- rename /config/modul_xx_id.php to /config/module_xx_id.php
- rename modul_ files to module_ (and entries of table system_module)
- class_admin::setPositionAndReload(), class_admin::setPosition() and class_admin::setAbsolutePosition() are no longer availabe, the matching methods have to be called on the target objects instead
- admin and portal calls to $this->objRights are no longer supported, use $this->getObjModule instead.
A second option is to use the new annotation @permissions, validating the permissions for the current object (only for
invocation via class_admin::action() )
- added a new file metadata.xml, describing the current module
Element Update
- portal classes should extended by _portal (class_element_image_portal.php)
- admin classes should extended by _admin (class_element_image_admin.php)
- the folder /elemente is renamed to /elements
- table column definitions no longer require a datatype, only the column-name is required
- added a new file metadata.xml, describing the current element
General:
- Updated signature of class_portal::__construct: public function __construct($arrElementData = array(), $strSystemid = "")
Entries to $arrModule have to be set by class_portal::setArrModuleEntry($strKey, $strValue)
- Updated signature of class_admin::__construct: public function __construct($strSystemid = "")
Entries to $arrModule have to be set by class_portal::setArrModuleEntry($strKey, $strValue)
- Updated signature of class_element_portal::__construct: public function __construct($objElementData)
Entries to $arrModule have to be set by class_portal::setArrModuleEntry($strKey, $strValue)
- Updated signature of class_element_admin::__construct: public function __construct()
Entries to $arrModule have to be set by class_admin::setArrModuleEntry($strKey, $strValue)
- Updated signature of class_root::__construct: public function __construct($strSystemid = "")
Entries to $arrModule have to be set by class_root::setArrModuleEntry($strKey, $strValue)
- Updated signature of class_installer_base::__construct: public function __construct()
Entries to $arrModule have to be set by class_root::setArrModuleEntry($strKey, $strValue)
- Signature of interface_model / class_root was updated
- class_root::getObjectDescription() was removed prior to interface_model::getStrDisplayName()
- class_root::loadDataFromDb() was removed prior to class_root::initObject()
- When deleting a record, the systemid is removed automatically, objects should only remove its' own data
- dirname(__FILE__) is replaces by __DIR__
- lang-files (admin & portal) are merged into a single file
- Signature of class_admin::getOutputModuleNavi() changed from protected to public
- Signatures of class_root::setPosition() and class_root::setAbsolutePosition() changed, no longer including an id-param
- class_root::getObjectTables() was removed, table declarations are now stored within the class' doc-comment
- class_root::getModuleSystemid() was removed, to be fetched by the regular module-classes
Installers:
- remove postInstall sections, elements should be handled by the regular install() methods.
- changed a lot of interface-methods. most properties are now set within the metadata.xml file
Removed Constants:
- _systempath_
- _portalpath_
- _adminpath_
- _skinpath_
- _module_filesystem_id_
- _rechte_modul_id_
- _login_modul_id_
Event-Handling
- statusChanged events are no longer triggered by class_root::additionalCallsOnStatuschange / class_model::doAdditionalActionsOnStatusChange()
instead, model-objects should implement interface_statuschanged_listener
- recordDeleted events are no longer triggered by class_root::additionalCallsOnDeletion / class_model::doAdditionalCleanupsOnDeletion()
instead, model-objects should implement interface_recorddeleted_listener
Toolkit-Changes:
- formDateSimple() removed, use formDateSingle() instead
- removed listRow2()
- removed listRow2Image()
- removed listRow3()
functions.php:
- removed getNoticeAdminWithoutAhref(), use getImageAdmin() instead
Versioning
Versioning as provided by interface_versionable and class_module_system_changelog have been refactored. The properties monitored for versioning
have to be marked with the annotation @versionable. By default, the property is added by its' name. If necessary, an alias may be used
by adding the name inline with the annotation, e.g. @versionable name1. The old- and new-values are determined automatically.
The interface-methods have been renamed to be more specific, please update your implementations.
Module Search:
There are now two separated plugin-structures: The portal searchplugins and the admin searchplugins. In consequence, the interface and plugins
need the postfix _admin / _portal.