index



modules



license
coding style
to do



Keys for UserAdmin

1) For elements in a table which are affected by the settings in UserAdmin (table, page, group, action, select, field), the representation is hierarchical (containing the parents which have to be themselves checked), using dots to sepparate.

Tables use prefix ~~t~~ (Eg: ~~tTestTable~~)

Selects use prefix ~~s~~ (Eg: ~~tTestTable.sTestInt~~)

Actions use prefix ~~a~~ (Eg: ~~tTestTable.aTestAction~~)

Pages use prefix ~~p~~ (Eg: ~~tTestTable.pdefault~~)

Groups use prefix ~~g~~ (Eg: ~~tLazyInst.pdefault.gGroup1.gGroup2~~)

Fields use prefix ~~f~~ (Eg: ~~tTestTable.pdefault.fTestInt~~)

So, for this table:

<table name="TestTable">
    <page>
        <field name="TestInt" type="int">
            <display/>
        </field>
        <group name="Group1">
            <group name="Group2">
                <group name="Group3">
                    <field name="Fgr3"/>
                </group>
                <field name="Fgr2"/>
            </group>
        </group>
    </page>
    <select name="TestInt">
        <selection field="TestInt"/>
    </select>
    <action name="TestAction"/>
</table>
the full list of keys will be:
tTestTable
tTestTable.pdefault
tTestTable.aTestAction
tTestTable.sTestInt
tTestTable.pdefault.fTestInt
tTestTable.pdefault.gGroup1.gGroup2.gGroup3.fFgr3
tTestTable.pdefault.gGroup1.gGroup2.fFgr2
tTestTable.pdefault.gGroup1
tTestTable.pdefault.gGroup1.gGroup2
tTestTable.pdefault.gGroup1.gGroup2.gGroup3

2) For reports, the key is formed by the prefix ~~cr~~ (from ~~custom~~ + ~~report~~) + the report name.

Example:

<report name="bla1" file="jasper1">
        <label>not important</label>
        <!--using no parameters>
    </report>
The key would be ~~crbla1~~.

3) For actions in border, the identifiers are not generated (the actions in border beeing themselves not generated, but fixed in the Border component).

Every skin for an application is expected to have a BorderConfig page like this (the ~~Example~~ skin in Uni-d test application):

<border jwcid="@Border" internationalizedTitle="ognl:getMessage('title')">

<span jwcid="@AccessConfigList" names="ognl:{'cbGUI', 'cbREPORT', 'cbIMPORT'}" labels="ognl:{getMessage('menu.gui.label'), getMessage('menu.reports.label'), getMessage('menu.import.label')}" modelGroupInitial="ognl:new be.unid.site.test.UnidGroupSelectionModel( true, getPage() )" />

</border>

So, there are those two arrays (~~names~~ and ~~labels~~, given manualy by the programmer).

The names must match those used in Border.html, where you should have a Conditional around every Border action.
Example:

<span jwcid="@Conditional" condition="ognl:getPage().hasAccess('cbGUI', @be.unid.site.test.AccessRightImpl@RUNNABLE_ACCESS_RUN)">
    <tr>
        <td align="center">
            <a href="/app?service=page/Tables_index">
                <img jwcid="@Image" image="ognl:assets.imageGui" border="2"/><br/>
                <span key="menu.gui.label"/>
            </a>
         </td>
     </tr>
 </span>


$Id: UserAdminKeys.wiki 1273 2005-04-01 15:49:19Z cabnetrom $