graphical rule editor
this ticket gathers information about the design and implementation of the graphical rule editor.
Purpose:
allow easing editing of odd rules without even knowing about the element syntax.
requirements:
- always create valid output
- allow to add, modify or remove rules
- allow to add, modify or delete CSS rules
- allow to customize certain output modes
- optional: show preview of
specifications
The editor mainly deals with elements.
- order of
<elementSpec>
elements is not significant - for every
<elementSpec>
you must be able to add, modify or delete a<model>,
<modelSequence>
or<modelGroup>
element - each
<model>
has a requiredbehaviour
- each
<model>
has optionalpredicate
,output
undcssClass
attributes - a
<model>
might have one or more<outputRendition>
children -
< outputRendition>
may have an scope attribute -
<modelSequence>
,<modelGroup>
and<model>
elements can be nested
@wolfgang - is the nesting arbitrarily deep?
editing workflow
- user starts by creating a new odd externally which is usually based upon teisimple.odd (@wolfgang - are there exceptions to this?)
- graphical editor gets loaded with no elementSpec rules
- user selects 'add' button to create a new elementSpec
a. user selects from a list of existing elementSpec rules in teisimple.odd (or whatever the new odd is based upon). This creates a new rule with mode="change"
b. alternatively the user creates a new elementSpec (mode=add) 4. elementSpec element is added to the list