[jbosstools-issues] [JBoss JIRA] (JBIDE-10702) Editor for JCR Compact Node Definition (CND) files

Dan Florian (JIRA) jira-events at lists.jboss.org
Tue Feb 21 10:28:36 EST 2012


    [ https://issues.jboss.org/browse/JBIDE-10702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12669584#comment-12669584 ] 

Dan Florian commented on JBIDE-10702:
-------------------------------------

Below are the editor validation messages I've come up with so far. These validation messages will appear in the editor, in real-time, as the user is editing the CND. However, when possible, the editor will be written to prevent error conditions from occurring. For example, when editing the properties/attributes that have enumerated valid values, the user will be provided only the valid values to choose from. Also, each time the editor is saved the file will be re-parsed so that parser errors will also be exposed to the user.

How do these validation messages look? Did I miss any?

----

Validation Messages


CND

	WARNING - No namespace declarations or node type definitions exist
	ERROR - Duplicate namespace mapping prefix
	ERROR - Duplicate namespace mapping URI
	ERROR - Duplicate node type definition names

Namespace Mapping

	ERROR - Empty or invalid prefix
	ERROR - Empty or invalid URI

Node Type Definition

	WARNING - No property definitions or child node definitions exist
	ERROR - Empty or invalid node type name
	ERROR - Duplicate super type name
	ERROR - Invalid super type name
	ERROR - Cannot have explicit super types when super types is marked as a variant
	ERROR - Cannot have a primary item name when the primary item node type attribute is marked as a variant
	ERROR - Duplicate property definition names
	ERROR - Duplicate child node definition names

Property Definition

	ERROR - Empty or invalid property definition name
	ERROR - Invalid property type
	ERROR - Cannot have multiple default values when the property definition is single-valued
	ERROR - Default value is not valid for the property definition type
        ERROR - Duplicate default value
	ERROR - Cannot have explicit default values when default values is marked as a variant
	ERROR - Invalid value constraint
        ERROR - Duplicate value constraint
	ERROR - Cannot have explicit value constraints when value constraints is marked as a variant
        ERROR - Invalid query operator
        ERROR - Duplicate query operator
	ERROR - Cannot have explicit query operators when query operators is marked as a variant

Child Node Definition

	ERROR - Empty or invalid child node definition name
	ERROR - Invalid required type name
        ERROR - Duplicate required type name
	ERROR - Cannot have explicit required types when required types is marked as a variant
	ERROR - Invalid default type name
	ERROR - Cannot have explicit default type when default type is marked as a variant

                
> Editor for JCR Compact Node Definition (CND) files
> --------------------------------------------------
>
>                 Key: JBIDE-10702
>                 URL: https://issues.jboss.org/browse/JBIDE-10702
>             Project: Tools (JBoss Tools)
>          Issue Type: Feature Request
>          Components: modeshape
>            Reporter: Randall Hauch
>            Assignee: Dan Florian
>             Fix For: 3.3.x, 3.4.x
>
>         Attachments: Alternate Editor Tab Strawman (RMH).bmml, Alternate Editor Tab Strawman (RMH).png, ChildNodeDefinitionDialog.bmml, ChildNodeDefinitionDialog.bmml, ChildNodeDefinitionDialog.bmml, ChildNodeDefinitionDialog.png, NamespacesEditorTab.bmml, NamespacesEditorTab.bmml, NamespacesEditorTab.png, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.bmml, NodeTypesEditorTab.png, PropertyDefinitionDialog.bmml, PropertyDefinitionDialog.bmml, PropertyDefinitionDialog.bmml, PropertyDefinitionDialog.bmml, PropertyDefinitionDialog.bmml, PropertyDefinitionDialog.bmml, PropertyDefinitionDialog.bmml, PropertyDefinitionDialog.png
>
>
> 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|http://www.day.com/specs/jcr/2.0/25_Appendix.html#25.2%20Compact%20Node%20Type%20Definition%20Notation] of the JCR 2.0 specification. The ModeShape project has in its documentation a [tutorial|https://docs.jboss.org/author/display/MODE/Defining+custom+node+types] 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*
> # Edit any .cnd file in the workspace _(Priority 1)_
> # View the file source, with support for select/copy _(Priority 1)_
> # Edit the file source, with support for paste _(Priority 3)_
> # Syntax highlighting (color keywords, quoted strings, comments) of file source would be a nice-to-have _(Priority 2)_
> # Problem markers (in file source, Problems view) would be a nice-to-have _(Priority 3)_
> # Form-based editor:
> ## view/edit/add/remove namespace declarations _(Priority 1)_
> ## view/edit/add/remove node type and its attributes and supertypes _(Priority 1)_
> ## view/edit/add/remove property definition (and its attributes) for a selected node type _(Priority 1)_
> ## view/edit/add/remove child node definition (and its attributes) for a selected node type _(Priority 1)_
> # Preferences for
> ## using long, medium, or short forms of attributes (e.g., "abstract" vs "abs" vs "a") _(Priority 2, start out w/ long)_
> *Other ideas*
> # It would be nice if the user doesn't have to scroll in the form editor when working on a node type.
> # 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).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbosstools-issues mailing list