IBM R1 manual 0000000000003000PERM 0000000000009300PERM

Page 75

CASCADED_PERMISSION table

Field

Datatype

Allow Null

Values

child_oid

CHAR(20)

N

nnnnnnnnnnnnnn00PERM

parent_oid

CHAR(20)

N

mmmmmmmmmmmmmm00PERM

As mentioned earlier, if a user has been granted the parent permission, he or she is automatically granted the child permission. For example, a user who has been granted permission to manage user roles is automatically given permission to add roles to the system, that is, to execute the addRole method.

The following record from the CASCADED_PERMISSION table specifies that a user with Manage_Roles permission is automatically given permission to execute the addRole method, that is, add roles to the system:

Sample CASCADED_PERMISSION record

PARENT_OID

CHILD_OID

0000000000003000PERM

0000000000009300PERM

You add a permission to the database by executing a SQL statement like the following (which, in this case, adds the permission that allows a user to access the User Management module):

INSERT INTO PERMISSION (OID, PERM_ID, NAME, DESCRIPTION, CATEGORY, STATUS) VALUES ('0000000000002700PERM', 27,'User_Management', 'Access User Management section',3, 'A');

The values for OID and PERM_ID should be unique and conform to the conventions described above. In other words, the value for PERM_ID should be 1 higher than the currently highest value in the database for this field (as it is a requirement that the values for PERM_ID in the table be consecutive), and the new value should be included in the value for the new OID (immediately before the final 00PERM). The value for the CATEGORY field should designate an existing category (because there is no currently exposed mechanism for adding new categories to the system).

After adding a permission to the database, you should add an entry to

classes\resources\lmm\properties\ApplicationResources.properties that contains the permission’s description. For example,

User_Management = Access User Management section

The reason for doing this is to enable localization of the application: the permission description in the database is in English, but LMS looks in the appropriate language version of ApplicationResources.properties before it looks in the database when it comes to display permission descriptions on the Role Details page.

Finally, if a permission applies to a navigation item, you need to include a reference to it in navigation.xml in the <permissions>…</permissions> tag of the description of the JSP to which it applies. For example:

70 IBM Lotus Learning Management System Release 1 Customization Guide

Image 75
Contents Customization Guide Disclaimer Licensed Materials Property of IBMList of Trademarks Page Table of Contents Customization sets Creating a tabIndex Customizing the user interface Acronyms and abbreviations Disclaimer and a word about conventionsAcronym or What it stands for Abbreviation Page Changing settings Chapter Changing settings through the user interface or XMLPage To add a role to the system Chapter Controlling access to features through permissionsTo explicitly assign a role to a user To modify permissions settings for an existing roleTo assign a role to a user To automatically assign a role to a userControlling access to features Page Anatomy of a Help topic Chapter Customizing HelpScript Background-repeat repeat-x Mosaic-bgScript Head Editing an existing Help topic Replacing a context-sensitive Help topicLmsform action=/prefSubmit.do % Adding your own Help topic HREF=shenrolled.html target=topEnrolled courses/Abr HREF=shnotifications.html target=topNotifications/AbrOverview Chapter Customizing JavaServer PagesAnatomy of a TLD file LMS JSP tag librariesServerNameWEB-INFtld Referencing the url tag in a JSP String formName = request.getParameterformNameDefining the url tag in the TLD file ServerNameWEB-INFclassescomlotuselearntaglib Rtexprvaluetrue/rtexprvalue Attribute TagLearning Management System server Anatomy of a JSPDefining a page as a JSP Localizing page content Including tag library descriptor filesReferencing Struts tags Including the JSPs that comprise the main template Including JavaScript source codeDiv Td class=formBoxTitleBg colspan=3 valign=middle nowrapLogicnotPresent LogicnotMatch Div class=formBoxPositionInnerLogicpresent LogicnotPresent logicpresent name=invalidFormLocalizing page text Delivery serverDisplaying errors to the user Script language=JavaScript src=js/delivery.js/scriptPopulating a frameset in a JSP Defining resizable frames Frameset Html Making global changesChanging the application style Applying customization setsBrowser-version Editing existing CSS filesServerNamecsslanguageCodebrowserType Language-version@import urlmyStyles.css Adding your own CSS filesReplacing CSS files Changing the font size or font style of the applicationServerNameWEB-INFclassesresourcesserverNameproperties Updating page textLmslinklmsimg src=images/name.gif… //lmslink Titlelmsmessage key=application.title //titleApplication.title = IBM Lotus Learning Management System Adding and replacing graphicsDelivery server Replacing the application logoLearning Management System server Image.alt.logo = IBM Lotus Learning Management SystemChanging the style of an individual JSP Changing individual JSPsReplacing a reference to a CSS style DeliverylogoURL resource=images/myCompanyLogo.gifEditing existing JSP tags Changing the functionality of an individual JSPSpecifying the next page to display Canceling the submission of a form Submitting a formEditing form Bean values with the lmshidden tag Custom fields Removing JSP tagsLmshidden name=%=formName% property=unmodifiedKeywords Lmshidden property=userEventIt then checks to see if its a text box type field LogicnotPresent Logicequal Page Attribute name=HealthPlanChoice type=java.lang.String Chapter Customizing SearchCustomizing user searches Adding Ldap attributes to User Search pagesRemoving fields from User Search pages HealthPlanChoice = Employees Health PlanRemoving fields from Offerings Search pages Customizing Offerings Catalog searchesCustomizing course management and resource searches Adding custom fields to the Offerings CatalogRemoving fields from the Search pages Creating a customization set Chapter Customization setsLMM De en Etc De en etc. SalesCSPage Attribute Name Type Modified Size Path Customization sets Page Users Chapter Creating a tab@ taglib uri=/WEB-INF/tld/lms.tld prefix=lms % Users.jspTd width=1 valign=top Page Users.rosterUsers.subtitle = Roster Users Navigation.xml Users.rosterUsers.search.confirm Users.rosterUsers.searchTrail TrailManageUsers TrailTrail TrailManageRoles Trail TrailManageProfilesLabel tag breadcrumbs Content tag JSP file namesName tag page names and resourced text Target tag struts action-mappingUsers.rosterUsers.search.confirm HelpPage tag context-sensitive Help Adding custom permissionsTitle tag title bar text Permissions tag permission to displayPermid UpdatetimeOid Name0000000000000000PERM 0000000000003000PERM 0000000000009300PERM Copy the JSPs ExamplePage Creating a tab END Index Content Area Creating a tab Div Second linked page customGoodbye.jsp looks like this Page Create Help files Customtab.htmlCustomtabb.html Select Maxpermid from Permission Add permissions to the LMS databaseEdit ApplicationResources.properties Navigation Edit navigation.xmlAssign permissions Namestudenthome/nameCreating a tab Page Index