1. OFBiz
  2. OFBIZ-4502

Improved CMS tree: more functionality and faster for large trees


    • Type: Improvement Improvement
    • Status: Patch Available
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: Trunk
    • Fix Version/s: None
    • Component/s: content
    • Labels:
    • Sprint:
      Bug Crush Event - 21/2/2015


      We here at Lusini 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:


      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);


      1. CMS-Tree-Improvement-2.patch
        480 kB
        Christoph Neuroth
      2. CMS-Tree-Improvement.patch
        480 kB
        Martin Kreidenweis



          • Assignee:
            Hans Bakker
            Martin Kreidenweis
          • Votes:
            0 Vote for this issue
            1 Start watching this issue


            • Created: