Improved CMS tree: more functionality and faster for large trees
----------------------------------------------------------------
Key: OFBIZ-4502
URL: https://issues.apache.org/jira/browse/OFBIZ-4502
Project: OFBiz
Issue Type: Improvement
Components: content
Affects Versions: SVN trunk
Reporter: Martin Kreidenweis
Attachments: CMS-Tree-Improvement.patch
We here at [Lusini|http://www.lusini.de/] did several improvements to the CMS
backend to make it more useable for large CMS installations.
* Improved performance of CMS tree
** loading nodes dynamically using AJAX
*** Created ContentJsonEvents to handle the JSON calls
** use OFBiz entity caches
** removed duplicate execution of WebSitePublishPoint.groovy
*** removed reference from controller.xml as it is not used anywhere
* Moving nodes in CMS tree possible now using drag'n'drop
** ContentJsonEvents returns updated node attributes
** Adjusted WebSiteCMSNav.ftl to update the moved node with the data from the
ajax request
** Needed to replace the jstree jQuery plugin by the current version available
on the jstree website
* Made nodes deleteable
** added remove to context menu
** We did not want to delete the WebSitePathAlias entities right away, so we
added a fromDate and thruDate to it.
*** extended WebSitePathAlias entity definition: added fromDate and thruDate
*** now checking for date range everywhere when accessing path aliases
*** This also allows users to publish or unpublish contents under a certain URL
automatically at some time in the future.
** created event to "delete" a node
*** thruDate of all assocs pointing to this node are set to current timestamp
*** thruDate of WebSitePathAliases pointing to this content or any contents
below are set to current timestamp
*** this way nothing is actually removed from the DB and a "undo" would be
possible if necessary
** extracted context menu to variable so it can be reused for all trees
* fixed missing references to uiLabels in CMS menu bar
* Activated cookie plugin so the selected node is remembered
To migrate existing path aliases the following SQL statements can be used:
BEGIN;
UPDATE web_site_path_alias SET from_date=w.created_stamp FROM
web_site_path_alias w WHERE w.path_alias=web_site_path_alias.path_alias;
ALTER TABLE web_site_path_alias
DROP CONSTRAINT pk_web_site_path_alias,
ADD CONSTRAINT pk_web_site_path_alias PRIMARY KEY (web_site_id, path_alias,
from_date);
COMMIT;
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira