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

        

Reply via email to