Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-10702

Editor for JCR Compact Node Definition (CND) files

XMLWordPrintable

    • Icon: Feature Request Feature Request
    • Resolution: Done
    • Icon: Major Major
    • 3.3.0.Beta3
    • None
    • modeshape
    • None
    • Hide
      The ModeShape Tools JCR CND Editor provides a GUI editor for creating and editing Java Content Repository Compact Node Type Definition files (*.cnd). The CND editor is a multi-tab editor. The first tab is a form-based, GUI editor and the second tab is a read-only text view.
      Show
      The ModeShape Tools JCR CND Editor provides a GUI editor for creating and editing Java Content Repository Compact Node Type Definition files (*.cnd). The CND editor is a multi-tab editor. The first tab is a form-based, GUI editor and the second tab is a read-only text view.

      JSR-283 (aka, JCR 2.0) includes a standard format called 'Compact Node Definition' that is used to declare node types, property definitions, and child node definitions.

      Resources

      The official grammar of the CND format is defined in Section 25.2 of the JCR 2.0 specification. The ModeShape project has in its documentation a tutorial for working with CND files.

      The ModeShape project also has code to parse a CND file, and it's probably better to simply copy this code and simplify/customize it to the editor's needs rather than have the editor depend on the ModeShape project for just these classes (which probably aren't perfectly usable as is for the editor).

      There are also example CNDs in the ModeShape codebase.

      Requirements

      1. Edit any .cnd file in the workspace (Priority 1)
      2. View the file source, with support for select/copy (Priority 1)
      3. Edit the file source, with support for paste (Priority 3)
      4. Syntax highlighting (color keywords, quoted strings, comments) of file source would be a nice-to-have (Priority 2)
      5. Problem markers (in file source, Problems view) would be a nice-to-have (Priority 3)
      6. Form-based editor:
        1. view/edit/add/remove namespace declarations (Priority 1)
        2. view/edit/add/remove node type and its attributes and supertypes (Priority 1)
        3. view/edit/add/remove property definition (and its attributes) for a selected node type (Priority 1)
        4. view/edit/add/remove child node definition (and its attributes) for a selected node type (Priority 1)
      7. Preferences for
        1. using long, medium, or short forms of attributes (e.g., "abstract" vs "abs" vs "a") (Priority 2, start out w/ long)

      Other ideas

      1. It would be nice if the user doesn't have to scroll in the form editor when working on a node type.
      2. Is it possible to optionally see the both inherited and explicit property definitions and child node definitions? Perhaps the inherited definitions might be grey-ed out and non-editable. One issue might be how to know which node type it came from (without cluttering up the UI).

        1. Alternate Editor Tab Strawman (RMH).bmml
          12 kB
        2. Alternate Editor Tab Strawman (RMH).png
          Alternate Editor Tab Strawman (RMH).png
          174 kB
        3. ChildNodeDefinitionDialog.bmml
          13 kB
        4. ChildNodeDefinitionDialog.bmml
          12 kB
        5. ChildNodeDefinitionDialog.bmml
          18 kB
        6. ChildNodeDefinitionDialog.png
          ChildNodeDefinitionDialog.png
          81 kB
        7. NamespacesEditorTab.bmml
          4 kB
        8. NamespacesEditorTab.bmml
          4 kB
        9. NamespacesEditorTab.png
          NamespacesEditorTab.png
          54 kB
        10. NodeTypesEditorTab.bmml
          18 kB
        11. NodeTypesEditorTab.bmml
          17 kB
        12. NodeTypesEditorTab.bmml
          17 kB
        13. NodeTypesEditorTab.bmml
          17 kB
        14. NodeTypesEditorTab.bmml
          17 kB
        15. NodeTypesEditorTab.bmml
          15 kB
        16. NodeTypesEditorTab.bmml
          13 kB
        17. NodeTypesEditorTab.bmml
          10 kB
        18. NodeTypesEditorTab.bmml
          9 kB
        19. NodeTypesEditorTab.bmml
          9 kB
        20. NodeTypesEditorTab.bmml
          4 kB
        21. NodeTypesEditorTab.png
          NodeTypesEditorTab.png
          163 kB
        22. PropertyDefinitionDialog.bmml
          18 kB
        23. PropertyDefinitionDialog.bmml
          20 kB
        24. PropertyDefinitionDialog.bmml
          20 kB
        25. PropertyDefinitionDialog.bmml
          16 kB
        26. PropertyDefinitionDialog.bmml
          15 kB
        27. PropertyDefinitionDialog.bmml
          14 kB
        28. PropertyDefinitionDialog.bmml
          17 kB
        29. PropertyDefinitionDialog.png
          PropertyDefinitionDialog.png
          97 kB

              dflorian@redhat.com Daniel Florian (Inactive)
              rhauch Randall Hauch (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: