Uploaded image for project: 'CiviCRM'
  1. CiviCRM
  2. CRM-8279

Automatically register menu items from contributed modules

    Details

    • Type: Improvement
    • Status: Done/Fixed
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 3.4.2
    • Fix Version/s: 3.4.4
    • Component/s: CiviCRM API
    • Labels:
      None

      Description

      Background: Module developers may register new pages/paths in the CiviCRM menu system by implementing hook_civicrm_xmlMenu. Prior to CiviCRM 3.0, these menu items automatically appeared in the web interface; following 3.0, these menu items must also be registered and maintained in the civicrm_navigation table.

      Goal: Extend the XML menu handler to optionally, automatically INSERT and DELETE rows in civicrm_navigation so that module implementers are not required to.

      Details: Based on IRC discussion (2011-06-10 circa 6pm EDT) , a few details are anticipated:

      1. The XML format will need to be extended with:
      1.a. an option to enable/disable page registration. (e.g. "auto-register=true" or "is_managed=1").
      1.b. an option to specify the name of the preferred/default parent node
      2. When rebuilding the menu, one will need to reconcile the civicrm_navigation table with the XML – i.e. insert rows for new XML nodes and remove stale rows which no longer appear in XML.
      3. The civicrm_navigation table will need to differentiate rows which are automatically managed from rows which are manually managed. (For comparison, the D6 menu system does this with two columns – a boolean "customized" and a string "module".)

        Attachments

          Activity

            People

            • Assignee:
              kurund Kurund Jalmi
              Reporter:
              timotten Tim Otten
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: