OOQL language menu

menu structures for web/desktop applications


define - create new menu definition

  menu define   AdminName {Menu_DefineOption} [force];

clone - duplicate a menu and set the properties for the new instance

  menu clone  AdminName define AdminName {Menu_EditOption} [force];

edit - update the menu properties

  menu edit   AdminName {Menu_EditOption} [force];

show - print the menu properties

  menu show   AdminName [Menu_GetOption] [Token_Option] [ExportFile_Option] ;

select - extract menus on the base of query filters

  menu select AdminPatternList {Filter_Option} [top] [Menu_GetOption]
                                     [Token_Option] [ExportFile_Option] ;

undefine - remove a menu from the database

  menu undefine AdminName ;


Menu_DefineOption
description GenericValue
application AdminName
image  FileName
imagedata GenericString
label GenericValue
href GenericValue
alt GenericValue
[! / not] portfolio
[! / not] isapplication
submenu  AdminName { AdminName }
command AdminName { AdminName }
[! /not] hidden

Menu_EditOption
name AdminName
description GenericValue
application AdminName
svnrev NUMBER
image  FileName
imagedata GenericString
label GenericValue
href GenericValue
alt GenericValue
[! / not] portfolio
[! / not] isapplication
submenu  Edit_RefOperator   AdminName { Edit_RefOperator   AdminName }
command  Edit_RefOperator   AdminName { Edit_RefOperator   AdminName }
[! /not] hidden

Menu_GetOption
get [Menu_GetBasicOption]
   
  Menu_GetBasicOption
  { Menu_GetBasicToken [as IDENTIFIER] { Menu_GetBasicToken [as IDENTIFIER] } }
  Menu_GetBasicToken [as IDENTIFIER]
     
    Menu_GetBasicToken
    Common_GetBasicOption  
    label  
    href  
    alt  
    isportfolio  
    isapplication  
    supermenu [. Menu_GetBasicOption]
    supermenu[] [. Menu_GetBasicOption]
    supermenu[ AdminName ]  
    submenu [. Menu_GetBasicOption]
    submenu[] [. Menu_GetBasicOption]
    submenu[ AdminName ]  
    ownsubmenu [. Menu_GetBasicOption]
    ownsubmenu[] [. Menu_GetBasicOption]
    ownsubmenu[ AdminName ]  
    command [. Command_GetBasicOption]
    command[] [. Command_GetBasicOption]
    command[ AdminName ]  
    owncommand [. Command_GetBasicOption]
    owncommand[] [. Command_GetBasicOption]
    owncommand[ AdminName ]  
    ownchild [. Command_GetBasicOption]
    ownchild[] [. Command_GetBasicOption]
    actions [. MenuItem_GetBasicOption]

MenuItem_GetBasicOption
{ MenuItem_GetBasicToken [as IDENTIFIER] { MenuItem_GetBasicToken [as IDENTIFIER] } }
MenuItem_GetBasicToken [as IDENTIFIER]
   
  MenuItem_GetBasicToken
  name  
  image  
  imagedata  
  label  
  href  
  alt  
  executable  
  level  

KEYWORDs
actions command options computed for creating the user interface menu for the current user
alt the tooltip text or label
application the associated application menu
command menu command item(s)
description the menu description
force this flag allows to ignore errors during the creation/update (for example, some commands or sub-menus not yet defined)
hidden administration hidden objects are not visible/usable
href the menu url used to perfom extra actions (for example javascript code)
image local path for the menu icon to upload
imagedata base64 code for the menu icon
isapplication if set defines the menu as an application root menu item
moddate last modification date
label the menu label (usually translated in dictionary)
name the menu name
ownchild list of menu direct childs (can be both sub-menus or commands)
owncommand list of menu direct commands
ownsubmenu list of menu direct sub-menus
submenu menu sub-menu item(s)
supermenu the parent menu
svnrev SVN repository revision number
top filter top menus only (without parent menu)


SAMPLES


menu define MN01 description "menu MD1" label "Menu1" alt "menaltval1" command CMD01 CMD03 ;

menu define MN02 description "menu MD2" label "Menu3" hidden alt "menaltva2" command CMD04 submenu MN01 ;

menu define MN03 description "menu MD3" label "Menu3" hidden submenu MN02 application ;

menu edit MN02 command add CMD02 ;

menu show MN02 get { label href alt description name supermenu.{name description} } token xml;

menu select MN?? get { name description ownchild[].{ name description admintype } } token { ';' ":" "|"};


common syntax

Common_GetBasicOption
Common_GetBasicToken [ as IDENTIFIER ]

Common_GetBasicToken
id  
name  
origdate  
moddate  
moduser  
description  
svnrev  
hidden  
image  
imagedata  
feature[ AdminName ] [. Feature_GetBasicOption]
feature[] [. Feature_GetBasicOption]
feature [. Feature_GetBasicOption]
application [. Menu_GetBasicOption]
super  
admintype  

Edit_Operator
add
remove

Edit_RefOperator
addbefore AdminName set
addafter AdminName set
add
remove
movebefore
moveafter

Edit_AddOperator
addbefore AdminName define
addafter AdminName define
append

Edit_MoveOperator
movebefore
moveafter

Event_Type
action
check

AdminPatternList
AdminNamePattern {, AdminNamePattern}

AdminNamePattern
*
PATTERNIDENTIFIER
STRINGVAL
AdminName

GenericPatternList
GenericPattern {, GenericPattern}

GenericPattern
*
IDENTIFIER
PATTERNIDENTIFIER
GenericValue

AdminActor
user AdminName
team AdminName
assignment AdminName

AdminName
IDENTIFIER
QUOTED_STRING
SQUOTED_STRING

GenericValue
DATETIME
GenericNumber
GenericString
BOOLEANVAL

GenericString
STRINGVAL
QUOTED_STRING
SQUOTED_STRING

GenericNumber
NUMBER
REALNUMBER

Filter_Option
moddate Date_Range
application AdminNamePattern

Date_Range
=  DATETIME  
!= DATETIME
 
<  DATETIME
 
>  DATETIME
 
<= DATETIME
 
>= DATETIME
 
in [ DATETIME , DATETIME ]
 
in ( DATETIME , DATETIME ]
 
in [ DATETIME , DATETIME )
 
in ( DATETIME , DATETIME )  

Token_Option
token { Token_Separator { Token_Separator } }
token Token_Separator

Token_Separator
QUOTED_STRING
SQUOTED_STRING
IDENTIFIER
STRINGVAL
json
json-
json+
xml
xml-
xml+

ExportFile_Option
exportfile FileName [append] [xml | json ]

ImportFile_Option
importfile FileName [xml | json |emxxml]

LogFile_Option
logfile FileName [append]

FileName
QUOTED_STRING
SQUOTED_STRING

basic elements
grammar rules
[ ] = optional element - only one item is allowed : ( 0 or 1 )
{ } = optional element - more than one is allowed : ( 0 or N )
/ = alternative
= one of ...
   
  all bold texts represent keywords or command syntax

IDVAL
#<5 dec digits [ 0-9 ]>-<8 hex digits [ 0-9 A-F ]>
  example:
  #00020-34F2A80E

COMMENT
// <any character until the end of the line(\n \r)>
  example:
  // My single line comment

LONGCOMMENT
/* <any character> */
 

example:
  /* My multi line comment starts here
  continue here
  and finish here */


DATETIME
<year 4 digits>[ - /. ]<month 2 digits>[ - /. ]<day 2 digits>
  examples:
   2009-12-23    2009/03/19   2009.11.14
<year 4 digits>[ - /. ]<month 2 digits>[ - /. ]<day 2 digits> <hours>:<minutes>:[<seconds>]
  examples:
   2009-12-23 10:23   2009/03/19 16:03:34  2009.11.14 00:20:04

NUMBER
[+-]<decimal digits [ 0-9 ]>
  examples:
   -1203   +276   25

BOOLEANVAL
true / false

REALNUMBER
[+-]<decimal digits [ 0-9 ]>.<decimal digits [ 0-9 ]>[E(+-)<esponent [0-9]>]
  example:
   -37.837   +2.3874   13.887   1.4862E-04

QUOTED_STRING
"<any character>"
  example:
   "my quoted string"

SQUOTED_STRING
'<any character>'
  example:
   'my single quoted string'

IDENTIFIER
<one or more of [ a-z A-Z ]><zero or more of [ a-z A-Z 0-9 _ ]>
  example:
   Var1    object_Name_02

VARIABLE
$<one o more of [ a-z A-Z 0-9 ]><zero or more of [ a-z A-Z 0-9 _ ]>
 

example:
   $1   $var_02    $1b


STRINGVAL
<one or more of [ a-z A-Z 0-9 -_ $ ? @ | ~ % & / = : + \ # ' ]>
  a string not recognized as identifier

PATTERNIDENTIFIER
<a string with * (match 0 or more characters) and ? (match 1 character) wildcards>
  example:
   mypa*er?_ide?ti*

© 2008-2015 MS Enterprise Solutions | Website Templates by IceTemplates.com
Please Read: Privacy Policy and Terms of Use