Home
IBM Webcam R1 User's Manual
Contents
1. END greetings Group Chapter 8 Creating a tab 73 lt table gt When a user with the appropriate permissions displays customTab jsp the page will look like this re a o OOOO Heak gt OL Qsearch agFaverites Meda 3l 3 aa Salutations Click under Ave atque Vale to display a greeting Ave atque Vale a Hello Click here to display a Hello salutation a Goodbye Click here to display a Goodbye salutation The first linked page customHellojsp looks like this lt 5 5 5 5 5 customHello jsp Copyright c 2003 IBM Corporation All rights reserved Created 05 30 02 The hello page for the greetings trail E eles oace sate eee SoS seee eee nese see ee Saeko aot e Sect eese gt lt S taglib uri WEB INF tld lms tld prefix lms gt lt S lt div class frmButtonSetPaddingTop gt lt table border 0 cellpadding 0 cellspacing 0 border 0 width 100 gt 74 IBM Lotus Learning Management System Release 1 Customization Guide lt tr gt lt td width 95 gt lt lms spacer type Standard gt lt td gt lt td width 1 gt lt div class btnCommonPadding gt lt lms button captionKey button done tooltipKey button done nav Greetings gt lt div gt lt td gt lt tr gt lt table gt lt div gt lt lms hRul type hRuleButtonSetTop f gt END Done button gt
2. Zip file Name Type Modified Size Path aboutDS jsp JavaServer Page 11 26 2002 5 659 myAboutGraphic gif IrfanView GIF 11 26 2002 47 923 Images When users install the Offline Learning Client they can enter the path to this Zip file in the installation dialog box As part of the installation process the application unzips the 54 IBM Lotus Learning Management System Release 1 Customization Guide file inserting the custom files in the appropriate locations overwriting any files in the default installation that have custom counterparts Finally if you changed ImsBrandingAbout gif and included it in the Zip file and the user entered the path to the Zip file at install time the user will see the custom graphic file in the About box when he or she runs the Offline Learning Client If you changed aboutDS jsp and created a graphic for it myAboutGraphic gif included these two files in the Zip file and the user enters the Zip file path at install time the customized JSP overwrites the one installed by default the custom graphic which it references is displayed and the default graphic ImsBrandingAbout gif is ignored Chapter 7 Customization sets 55 56 IBM Lotus Learning Management System Release 1 Customization Guide Chapter 8 Creating a tab You can create a custom tabbed page to display along with the standard tabbed pages Home Student Catalog Users and so on What you have to do to accomplish
3. lt js fr see amelie E E E OE D eae Pa lt js doReloadFrame gt lt head gt lt frameset rows 26 frameborder no border 0 framespacing 0 gt lt frame name activityTools src lt delivery action gt activityTools lt delivery action gt marginwidth 0 marginheight 0 scrolling no noresize gt lt frame name content src lt delivery action gt content lt delivery action gt marginwidth 0 marginheight 0 scrolling auto gt 30 IBM Lotus Learning Management System Release 1 Customization Guide lt frameset gt lt html gt The body of the delivery action tag identifies the action used to display the frame The body maps to the action path in the Struts config xml file on the Delivery server The JSP defined in the path attribute of the forward tag is the JSP to display in the frame if the action results in that forward For example the activityTools delivery action tag corresponds to the following action mapping lt action path activityTools type com lotus elearn action delivery FrameActivityToolsAction gt lt forward name success path activityTools jsp gt lt action gt The type attribute of the action defines the FrameActivityToolsAction as the action handler Once the action is handled the handler returns a forward value If the forward it returns is success the mapping identifies activityTools jsp as the page to display in the frame The URL of the page to
4. 5 Edit navigation xml You need to add a lt module gt lt module gt block to navigation xml to display the custom Greetings tab and the custom pages associated with it customTab jsp customHellojsp and customGoodbye jsp Where you place this block relative to the other lt module gt lt module gt blocks in the file determines the order in which the tab appears with respect to the other tabs in the user interface For example if the first lt module gt lt module gt block in navigation xml is the one that specifies the student Home page and its links Home appears as the leftmost tab assuming that the user has permission to display it If you want to make your custom tab be the leftmost insert the lt module gt lt module gt block that defines it above the one for student Home Thus lt navigation gt lt los Greetings gt lt module gt lt name gt Greetings lt name gt lt target gt default do lt target gt lt content gt customTab jsp lt content gt lt label gt navigationTab customTab lt label gt lt title gt Salutations lt title gt lt permissions gt Custom_Tab lt permissions gt lt helpPage gt courseadmin ch_ customtab html lt helpPage gt lt Greetings hello gt lt trail gt lt name gt hello lt name gt lt target gt default do lt target gt lt content gt customHello jsp lt content gt lt label gt customTab hello label lt label gt
5. lt tag gt lt name gt link lt name gt lt tagclass gt com lotus elearn taglib LMSLinkTag lt tagclass gt lt bodycontent gt JSP lt bodycontent gt lt attribute gt lt name gt nav lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt href lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt styleClass lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt id lt name gt 60 IBM Lotus Learning Management System Release 1 Customization Guide lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt tooltipKey lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt permissionName lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt tag In the present example the tag is passed three parameters styleClass a reference to the style that defines the font size in which the link text is displayed This style is defined in Imm css en styInternetExplorer5 or styNetscape6 sectionIndex css
6. Chapter 5 Customizing JavaServer Pages 39 Submitting a form If you remove the nav attribute and add an onClick attribute you completely change the functionality of the button This code for the Login button on the loginForm JSP for the Learning Management System server executes a JavaScript submitForm function when the button is clicked This effectively logs the user into the application lt lms button captionKey button login onClick jJavascript submitForm loginForm tooltipKey button login gt The Login button on the deliveryLoginForm JSP for the Delivery server contains similar code lt lms button captionKey ds toolbar login onClick Jjavascript submitForm tooltipKey ds toolbar login gt Canceling the submission of a form If you remove the onClick attribute and add an isSubmit attribute set to false the button now specifically prevents the entries on the current form from being saved This code for a Cancel button on the assignVendor JSP sets the isSubmit attribute to false It includes an href attribute that contains JavaScript code which instructs the current window to close when the button is clicked lt lms button captionKey button cancel isSubmit false tooltipKey button cancel href jJavascript window close gt To edit a tag 1 Look at the TLD file referenced by the prefix of the tag you want to edit This contains a list of attributes associated with the tag 2 Edit
7. Lotus software TT Learning Management System R1 _ F aT y af Fa k M 7 4 bm J Customization Guide J une 2003 Disclaimer THE INFORMATION CONTAINED IN THIS DOCUMENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS DOCUMENTATION IT IS PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND EXPRESS OR IMPLIED IN ADDITION THIS INFORMATION IS BASED ON IBM S CURRENT PRODUCT PLANS AND STRATEGY WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF OR OTHERWISE RELATED TO THIS DOCUMENTATION OR ANY OTHER DOCUMENTATION NOTHING CONTAINED IN THIS DOCUMENTATION IS INTENDED TO NOR SHALL HAVE THE EFFECT OF CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM OR ITS SUPPLIERS OR LICENSORS OR ALTERING THE TERMS AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT GOVERNING THE USE OF IBM SOFTWARE Licensed Materials Property of IBM Copyright IBM Corporation 1985 2003 All rights reserved US Government Users Restricted Rights Use duplication or disclosure restricted by GS ADP Schedule Contract with IBM Corp Lotus Software IBM Software Group One Rogers Street Cambridge MA 02142 List of Trademarks IBM the IBM logo AIX AS 400 DB2 LearningSpace LearningSpace Forum IBM Directory Server RS 6000 iSeries xSeries MQSeries Cloudscape N
8. frameborder No border 0 marginwidth 0 marginheight 0 noresize gt Chapter 4 Customizing Help 11 lt frame name content title Help Topic src sh_ preferences b html scrolling auto framespacing 0 frameborder no border 0 marginwidth 0 marginheight 0 noresize gt lt frameset gt lt frameset gt lt html gt The file sh_help_header_h html defines the layout of the graphical bar that appears at the top of all Student interface Help topics sh_help_navigation_l html defines the navigation bar that appears on the left of each Student help topic containing links to other parts of the Help system and sh_preferences_b html is the file containing the topic text in this example You could edit sh_preferences html the content of the title attribute in the frame name tags adjust the dimensions of the frameset and its components and specify different links for the header navigation bar and topic The title attribute is included for the benefit of users using text to speech software The header file sh help header h html looks like this lt head gt lt title gt Help Header lt title gt lt SCRIPT LANGUAGE JavaScript gt lt if navigator appName indexOf Netscape gt 1 document write lt LINK HREF ns_style css REL styleSheet TYPE text css gt else document write lt LINK HREF ie style css REL styleSheet TYPE text css gt gt lt SCRIPT
9. 3 Users 4 Course Management 5 Resources 6 Reports 7 Settings status CHAR 1 Y A active I inactive D delete updatetime DATETIME Ys The application supplies the date and time the record was last changed oid By convention values for this field end in 0O0PERM The value of the perm_id field precedes the OOPERM ending The perm_id value is preceded by as many zeros as it takes to pad the value out to 20 characters name A string often with its component parts separated by underscores see examples below which the application removes when it displays the permission name on the Roles Details page in the user interface perm_id An integer that uniquely identifies the permission description Text describing what the permission allows the user to do To make the description appear in a localized version of the application you need create a name value pair consisting of the permission name with its underscores if any and this description in the appropriate language s ApplicationResources properties file category An integer Avalue of 1 designates a permission for what is called a checked method A checked method is a Java method belonging to the product s API that you need permission to execute Checked method permissions can be contrasted with navigation permissions that is permissions that allow users to access different parts of the user interface The values between 0 and 7 represent the permission ca
10. Remember to duplicate these changes in the CSS file sets in the corresponding directories of each language and browser the application supports Replacing CSS files You can replace all existing CSS files with your own CSS files for use in the application To replace the CSS files 1 Copy your custom CSS file into the serverName gt css gt languageCode gt browserType directory If you are replacing a CSS file in a customization set copy your custom CSS file into the serverName gt customSetName gt css gt languageCode gt browserType directory instead See Applying customization sets This directory also contains a general css file 2 Open the general css file in a text editor 3 Remove all content from the file Add only the following statement import url myStyles css where myStyle css is the name of the CSS file you are adding to the directory 4 Repeat this step for each CSS file you want to include Remember to duplicate these changes in the CSS file sets in the corresponding directories of each language and browser the application supports Changing the font size or font style of the application To apply a global change such as increasing the default font size of the text in the application or changing the font style you can edit the CSS files The default font style and size are defined at the beginning of the CSS For example the English version IE5 general css file for the Imm server contains the following en
11. SalesCS and then copy the application s resource files to a directory with the new name LMM CSS images etc WEB INF classes com resources LMM properties templates lib etc Thus LMM CSS images etc SalesCS CSS images etc WEB INF classes com resources LMM properties templates SalesCS properties templates lib etc Note You only need to copy those directories containing files that you plan to customize for use by the customization set So for example if SalesCS were not going to use custom Cascading Style Sheets instead of the defaults you would not copy the LMM CSS directory into the SalesCS directory On the other hand if you wanted SalesCS to use a custom version of say the English language version of the LMM s general css for Internet Explorer you would need to copy the complete LMM CSS directory tree with all its language versions and subdirectories 50 IBM Lotus Learning Management System Release 1 Customization Guide Make whatever changes you want to the JavaServer Pages Cascading Style Sheets image files properties files and templates in the SalesCS directory hierarchy When you ve finished replicate your work except for the templates folder on the Delivery server or servers 4 Install your custom Help system This is a three step process a Install the default Help system which means creating a directory on an HTTP server in this example myServer myCompany com my Dir
12. This code retrieves from each returned custom field a value to use for the label lt lms label beanClass com lotus elearn model CustomFieldHelper instance lt S customField gt id lt customField getValidationLabelId cfName gt gt lt lms staticText name customField property name gt lt lms label gt It then checks to see if it s a text box type field lt logic equal name customField property type value lt Integer toString CustomFieldConst TYPE TEXTBOX gt gt or a drop down box type field lt logic equal name customField property type value lt Integer toString CustomFieldConst TYPE DROP_DOWN gt gt This code which follows the check for a text box field defines how to display the content of the textbox field if present or the default value for the text box field if available or an empty text box field if no other value is supplied lt if a value for this entry is present display that gt lt logic present name customField property val gt lt input type text size 20 name lt S cfNameS gt value lt customField getVal gt gt lt logic present gt lt if a value for this entry is NOT present display the default or a blank S gt lt logic notPresent name customField property val gt lt default value if present gt lt logic present name customField property defaultValue gt lt input type text s
13. a Roster Users Add users to the Learning Management System a Manage Users Manage user details roles and profiles Roles a Manage Roles Add view and modify roles and permissions a Manage Automatic Assignments Add view and modify automatic user role assignments Profiles a Auto enrollment Profiles Add view and modify auto enrollment profiles a User Profiles Add modify and delete profile categories which are used to group people with similar interests skills or needs The tab s label Users and the page label Manage Users are specified in the resource file classes resources Imm properties ApplicationResources properties Chapter 8 Creating a tab 57 navigationTab users Users users manageUsers task Manage Users The navigationTab users and users manageUsers task resources in turn are specified in the lt label gt and lt title gt attributes respectively in the definition of the Users module in classes navigation xml which will be described in more detail later aie lt module gt lt name gt users lt name gt lt target gt userManagementInit do lt target gt lt content gt users jsp lt content gt lt label gt navigationTab users lt label gt lt title gt users manageUsers task lt title gt lt permissions gt User_Management lt permissions gt lt helpPage gt courseadmin ch_users_overview html lt helpPage gt users jsp The JSP that executes when a user selects the User
14. block contains the definition of a page to which the previous page contains a link A lt step gt lt step gt block contains the definition of a page such as a confirmation box that the application displays as the result of a user action that doesn t involve explicitly invoking a link Navigation xml is not consistent in its use of lt step gt lt step gt blocks sometimes benignly using lt trail gt lt trail gt blocks instead As an example of trails the Users main page has a link to the Roster Users page which in turn has a link to the User Search page which when rostering is successful invokes a confirmation box wasadmin Log Out Help Preferences About TESTES Learning Management System Home Student Catalog Users Course Catalog Course Management Resources Reports Settings Roster Users 2 Users Roster Users User Search Confirm You have successfully rostered the selected users The relative location of the lt module gt lt module gt blocks in navigation xml determines the order in which the tabs are displayed the studenthome module is defined first then the studentCatalog module then the users module and as a result the order in which the tabbed pages is displayed is Home Student Catalog Users You can change the order in which tabbed pages are displayed by cutting and pasting lt module gt lt module gt blocks 64 IBM Lotus Learning Management System R
15. javascript openContextHelp lt lms getHelpPage gt gt lt lms img src images help jc_16 gif altKey help select gt lt a gt lt td gt hdrHelplicon corresponds to the TD hdrHelpIcon entry in the general css file for the Learning Management System server The English version IE5 compatible CSS defines the TD hdrHelplcon entry as follows TD hdrHelpicon text align right 38 IBM Lotus Learning Management System Release 1 Customization Guide To customize the Help icon to align left instead of right either e Replace the class attribute with static HTML to define the alignment of the text as follows lt td align left gt This option works for quick fixes but requires that you edit each individual setting any time you want to update an alignment style Alternatively if you reference a CSS class by changing the setting in one place only the CSS class entry you can update all references at once e Create a new entry to the general css file or in a custom CSS file included in the general css file called hdrHelpILeft and define it as follows TD hdrHelpILeft text align left Reference the new entry in the page using the following syntax lt td class hdrHelpILeft gt For information on creating a custom CSS file see Adding your own CSS file A third option is to edit the existing hdrHelplcon class entry in the CSS to contain the following description TD hdrHelpicon text al
16. lt title gt customTab hello title lt title gt lt permissions gt Say Hello lt permissions gt lt helpPage gt courseadmin ch_ customtab html lt helpPage gt lt trail gt lt Greetings goodbye gt lt trail gt lt name gt goodbye lt name gt lt target gt default do lt target gt Chapter 8 Creating a tab 83 lt content gt customGoodbye jsp lt content gt lt label gt customTab goodbye label lt label gt lt title gt customTab goodbye title lt title gt lt helpPage gt courseadmin ch_ customtab html lt helpPage gt lt trail gt lt module gt gs studenthome gt lt module gt lt name gt studenthome lt name gt etc 6 Assign permissions Users need to be granted permission to display the tabbed page and either or both of the pages to which it offers links You grant permissions through the LMS user interface You can do this in either of two ways e Edit the definition of an existing role or roles granting the desired permissions to users who have been assigned that role or roles e Define a new role with the appropriate permission s and assign that role to users The permissions for multiple roles assigned to a user are in an OR relationship users assigned roles A and B have the union of the permissions for A and B To edit the definition of an existing role 1 Open the Users page and click Manage Roles 2 Click the role to which you want to grant the new perm
17. properties files is especially useful for maintaining multiple language applications The LMS application uses properties files to define static text for errors and resources in each of the servers hosting the application The properties files are stored in the following directory serverName gt WEB INF gt classes gt resources gt serverName gt properties where serverName equals one of the following e Imm Represents the Learning Management System server e ds Represents the Delivery Server e duc Represents the Offline Learning Client server Each properties directory contains the following two properties files e ApplicationErrors properties Contains the resource keys for error messages e ApplicationResources properties Contains the resource keys for application resources A set of these files is available for each language supported by the application The language of the properties file is specified by an underscore followed by the language code after the file name For example the German ApplicationErrors properties file is named ApplicationErrors_de properties This naming convention is followed for all the properties files except the English language version properties files which are the default properties files for the application The English language properties files have no underscore and language code following the file names The properties files in the IBM Lotus LMS application are located in
18. searchCourseCatalogAdvanced jsp to remove the code for the text and text box that you want to remove To remove custom fields from the system delete them by editing the custom field list from any Course Details page Customizing course management and resource searches Searches in the Course Management and Resources module show fields that are defined in the Learning Management System database These fields allow users to perform searches based on relevant criteria Chapter 6 Customizing Search 47 Removing fields from the Search pages If you want to remove fields from the Search pages edit the appropriate jsp to remove the code for the text and text box that you want to remove e Course searches searchCourses jsp e Location searches searchLocation jsp e Room searches searchRoom jsp e Instructor searches searchInstructors jsp e Vendor searches searchVendor jsp 48 IBM Lotus Learning Management System Release 1 Customization Guide Chapter 7 Customization sets You can create what are in effect alternative versions of the application and send specified users to one or another of these rather than to the default interface when they log in To do this you copy the directories containing the files you want to change or replace into a directory structure that mimics your original make your changes and then in the Administrator interface specify the location of the customized files and the users to whom the interface that
19. 20 button tag 39 hidden tag 40 message tag 36 navUtil tag 28 url tag 20 logo replacing 37 Logo replacing 38 matching strings 52 navigation xml 62 permissions 7 adding 67 cascaded 69 properties files 35 resources 47 roles 7 adding 7 assigning 8 modifying 8 searching course offerings 47 resources 47 users 45 settings 5 settings xml 45 standard JSP actions 24 Struts architecture defined 19 Struts tags referencing 24 style changing globally 32 changing on one JSP 38 tabbed pages creating 57 Chapter 8 Creating a tab 87 Tag library descriptor files TLD files 20 users 45 text XML settings files 5 resourcing globally 35 88 IBM Lotus Learning Management System Release 1 Customization Guide a i Printed in USA business software
20. 8 Creating a tab 61 resource strings referenced and link The other sections on the page Roles and Profiles differ from the Users section only in their details navigation xml Navigation xml provides the following information about each of the JSPs to which a user can navigate e Whether the JSP is a main page such as the Users page or a linked page such as the Roster Users page e The page name used in referring to the JSP s resourced text in ApplicationResources properties e The struts file that handles action mapping for the JSP e The JSP s file name e A reference to the resource that identifies the page when it appears as a breadcrumb that is as an element in the navigation trail displayed in the upper right hand corner of a linked page e A reference to the resource that appears in the page s title bar e A reference to the permission that the user needs to have been granted in order to display the page e The path to the Help topic to be displayed when the user clicks the context sensitive Help icon for the page For example the section of navigation xml that provides this information about the Users page and its links looks like this Glas gt lt module gt lt name gt users lt name gt lt target gt userManagement Init do lt target gt lt content gt users jsp lt content gt lt label gt navigationTab users lt label gt lt title gt users manageUsers task lt title gt
21. System Release 1 Customization Guide If no value attribute were supplied the hidden input tag would retrieve a value for the destination property from the form Bean The following Ims hidden tag which is used in the catalogCourseMasterDetail jsp keeps a copy of the current form s keywords in the form Bean by supplying values for the name and property attributes lt lms hidden name lt formName gt property unmodifiedKeywords gt This is useful because if a user encounters an error or otherwise leaves the form temporarily the keywords can be repopulated with the values saved in the form Bean The following Ims hidden tag which is used in the catalogCreateCourseConfirm jsp creates an HTML hidden input tag that captures the userEvent property lt lms hidden property userEvent gt This property can be modified by JavaScript triggered by user actions For instance JavaScript in the catalogTrailHeader jsp which is included in the catalogCreateCourseConfirm jsp can reassign a value to the userEvent property when a user clicks a button to initiate a new event Removing JSP tags You can remove a JSP tag from a JavaServer Page by deleting the tag and its associated HTML formatting tags from the page Removing JSP tags does not only remove elements like buttons and fields from the page but also removes associated functionality For example if you want to remove the ability for users to add custom fields to a Course
22. The key attribute of the message tag key application title defines the resource key in the properties file to retrieve In this example the resource key to retrieve is the application title resource key At request time the server executes the Java code specified in the message tag it determines which properties file to associate with the current browser and then retrieves from it the resource key supplied by the key attribute Since the ApplicationResource properties file contains the following resource key application title IBM Lotus Learning Management System the title that displays on the adminTemplate JSP is IBM Lotus Learning Management System Using the message tag you enable the application to dictate which text to display For example the properties file could supply the title in Spanish if the locale code specified by the browser request is the Spanish language code es In this case the application retrieves the application title resource key from the ApplicationResource_es properties file which can be set up to contain a Spanish language version of the title You can edit existing properties file entries or add new entries to existing files Any changes you make to properties file entries are reflected in any JSPs that references those entries To edit page text 1 Open the properties file for the language code you want to edit from the WEB INF gt classes gt resources gt serverName gt properties
23. and a description of what users assigned that role can do Click on the name of the role when it appears in the Roles page Select the permission category in which the permissions are listed in this case Settings Check the appropriate boxes and save your work Back out to the Users main page and click Manage Users Locate and select the users to whom you want to assign the new role O o N DF A Click Assign Roles check the appropriate box and save your work Chapter 8 Creating a tab 85 86 IBM Lotus Learning Management System Release 1 Customization Guide Index abbreviations 2 acronyms 2 catalog 47 context sensitive Help 16 course offerings 47 CSS files adding custom 34 editing 34 replacing 34 custom fields 47 customization sets 49 applying 32 creating 49 installing on the Offline Learning Client 54 Delivery Server activity jsp file 30 delivery jsp file 28 fonts changing globally 35 Form Bean properties editing 40 graphics replacing globally 36 Help 11 adding topics 17 content files 15 context sensitive 16 editing 16 frameset files 11 header files 12 navigation bar files 13 image files replacing globally 36 JavaServer Pages defined 19 JSP tag libraries 20 JSP tags adding custom 39 defined 19 LDAP attributes of users 45 LDAP directory 45 Learning Management System Server adminContent jsp file 27 adminTemplate jsp file 23 Ims tld file
24. and the actions you can perform A role is a collection of permissions some of which control access to navigation items that is pages to which you can navigate such as the Users tab or the User Search dialog while others control your ability to execute checked methods that is procedures that perform update operations on the LMS database such as rostering users or creating customization sets Two database tables deal with permissions the PERMISSION table and in some cases the CASCADED_PERMISSION table Each record in the PERMISSION table defines a single permission while each record in the CASCADED_PERMISSION table defines an inheritance relationship between two records in the PERMISSION table such that if a user is granted the so called parent permission he or she is automatically granted the associated child permission The definition of these two tables in the current release of the LMS is described below Note the LMS database schema may change in subsequent releases of the product The PERMISSION table consists of records with the following composition Chapter 8 Creating a tab 67 PERMISSION table Field Datatype Allow Nulls _ Values oid CHAR 20 N nnnnnnnnnnnnnn0OPERM name VARCHAR 128 N X_Y perm_id INTN N n description VARCHAR 255 Y A description of what the permission allows a user to do category INTN Y 1 checked method 0 Home 1 Student Catalog 2 Course Catalog
25. appearing in the directory tree or both 2 IBM Lotus Learning Management System Release 1 Customization Guide Acronyms and abbreviations Acronym or What it stands for Abbreviation CSS Cascading Style Sheet DS Delivery Server DUC Offline Learning Client Disconnected Use Client EAR file Enterprise Archive file JSP JavaServer Page LDAP Lightweight Directory Access Protocol LMM Learning Management Module LMMS Learning Management Module Server LMS Learning Management System can refer either to the application or just to the LMM LMSS Learning Management System Server same as LMMS SSO Single Sign on TLD file Tag Library Descriptor file WAR file Web Application Archive file WAS WebSphere Application Server WPS WebSphere Portal Server Chapter 1 Customizing the user interface 3 4 IBM Lotus Learning Management System Release 1 Customization Guide Chapter 2 Changing settings through the user interface or XML You can customize the application by changing various of the settings that are established when you first install and configure the system There are three ways to do this e Edit one or more of the XML files in which initial system values are stored e Enter or change values in the Settings module of the Administrator interface e Edit the application database directly changing the appropriate record in the application_setting table Wh
26. 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 OOPERM 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 Imm 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 lt permissions gt lt permissions gt tag of the description of the JSP to which it applies For example 70 IBM Lotus Learning Management System Release 1 Customization Guide lt module gt lt name gt users lt name gt lt target gt userM
27. class idxTaskPadding gt lt div class idxTaskPadding gt lt lms link styleClass idxTaskItem nav Greetings hello tooltipKey customTab hello linktext gt lt lms message key customTab hello subtitle gt lt lms link gt nbsp lt span class idxTaskDesc gt lt lms message key CustomTab hello subtitle gt lt span gt lt div gt lt td gt lt tr gt 72 IBM Lotus Learning Management System Release 1 Customization Guide lt lms permissionCheck gt START Goodbye 35 lt lms permissionCheck permissionName Say Goodbye gt lt tr gt lt td width 1 valign top gt lt table cellpadding 0 cellspacing 0 border 0 gt SELES lt td valign middle gt lt lms img src images bulletIndex gif width 9 height 8 altKey image alt select gt lt td gt lt td class idxTaskItem valign middle gt nbsp lt td gt lt tr gt lt table gt lt td gt lt td width 100 valign middle class idxTaskPadding gt lt div class idxTaskPadding gt lt lms link styleClass idxTaskItem nav Greetings goodbye tooltipKey customTab goodbye linktext gt lt lms message key customTab goodbye subtitle gt lt 1ms link gt nbsp lt span class idxTaskDesc gt lt lms message key CustomTab goodbye subtitle gt lt span gt lt div gt lt td gt SEES lt lms permissionCheck gt lt lms permissionCheck gt lt greetings section gt
28. customization sets for use on the Offline Learning Client To do this 1 2 Install the Offline Learning Client on the WebSphere Application Server Navigate to duc war in the installedApps DefaultNode duc ear directory and edit its contents as you like altering or replacing files adding new files to be referenced by those files or both For example you might substitute a custom graphic for the one that appears at the top of the About box ImsBrandingAbout gif You could do this in either of two ways e Edit ImsBrandingAbout gif e Create a different graphic file say myAboutGraphic gif in the duc images directory and edit the file that refers to it aboutDSjsp in the DUC root directory replacing the reference to lmsBrandingAbout gif with a reference to my AboutGraphic gif Create a Zip file containing just the customized files making sure to preserve the server directory structure placing custom JSPs in the DUC root directory custom images in the DUC images directory and so on DUC anonymous CSS images etc WEB INF classes com resources DUC properties lib etc So if all you did was change ImsBrandingAbout gif that s the only file you would include in the Zip file If on the other hand you changed aboutDS jsp and created a graphic for it myAboutGraphic gif you would include both the edited aboutDS jsp and my AboutGraphic gif in the Zip file The Zip file would then look like this
29. directory in a text editor If you are editing properties files in a customization set open the properties file from the serverName gt WEB INF gt classes gt resources gt serverName gt customSetName gt properties instead See Applying customization sets 2 Edit the resource key you want to change then save and close the file 3 Ask the server administrator to refresh the file on the server Your changes are not visible until this step is completed Adding and replacing graphics You can add or replace the default graphics that display in the LMS application with your own custom graphics files To add graphics 1 Adda new image file by copying it into the serverName gt images directory If you are adding a graphics file to a customization set copy it to the serverName gt customSetName gt images directory See Creating a customization set 2 Rewrite any references to the old file name with the new graphic file name For example if the new graphic file is called userName gif you can replace the following tag lt lms link gt lt lms img src images name gif gt lt lms link gt with lt lms link gt lt lms img src images userName gif gt lt lms link gt 36 IBM Lotus Learning Management System Release 1 Customization Guide To replace graphics e Replace the existing image file in the serverName gt images directory with the image you prefer to use Retain the original
30. image s file name Replacing the application logo The standard IBM Lotus Learning Management System logo which displays in the header of the application pages is included using custom tags This section defines how the following servers specify the graphic files and alternate text they use for their logos e Learning Management System server e Delivery server Learning Management System server The graphic to use as the application logo for the Learning Management System server is defined in application source code that is not editable You cannot access this code The Java code triggered by the Ims logo tag retrieves the ImsBrandingLogo gif graphic from either the standard Imm gt graphics directory or the customization set subdirectory if the application has been set up to use custom images The adminHeader JSP includes the Ims logo tag as follows lt td width 93 class ancLogoPlacement valign top gt lt a href navskip gt lt lms img src images px gif altKey header skipToMainContent gt lt a gt lt lms logo altKey image alt logo gt lt td gt To replace the graphic used for the logo on the Learning Management System server follow these steps 1 Rename the replacement graphic to ImsBrandingLogo gif 2 Rename or remove the existing ImsBrandingLogo gif file 3 Add the graphic file by copying it to the serverName gt images directory If you are adding the logo graphic to a customizat
31. language preference e Including the JSPs that comprise the main template You can find the full source code for the adminTemplate jsp file in the WEB INF gt classes gt resources gt Imm directory The code below is an excerpt from this file Defining a page as a JSP Chapter 5 Customizing JavaServer Pages 23 The first block of executable code is a page directive that applies to the entire page and specifies the language of the page as Java and sets the MIME type and character encoding to use for the response lt page language java contentType text html charset UTF 8 gt Including tag library descriptor files The next block of code is made up of taglib directives These identify the names of the tag libraries associated with the page They also identify the prefixes to use before tags from each library lt 3 taglib uri WEB INF tld Struts bean tld prefix bean gt lt 3 taglib uri WEB INF tld Struts html tld prefix html gt lt taglib uri WEB INF tld Struts logic tld prefix logic gt lt 3 taglib uri WEB INF tld lms tld prefix l1ms gt Referencing Struts tags The next line of code is an html tag from the Struts html tag library The html before the colon is the prefix representing the Struts html tag library and the html after the colon represents the tag in that library named html lt html html locale true gt The value true in the locale attribute indicates to s
32. logic notMatch gt The final section of code includes the adminContentPage jsp lt div class formBoxPositionInner gt lt jsp include page adminContentPage jsp flush true gt lt div gt lt td gt 26 IBM Lotus Learning Management System Release 1 Customization Guide lt td class formBoxBg width 15 gt lt lms spacer width 15 height 1 gt lt td gt lt tr gt lt table gt lt td gt lt tr gt lt table gt lt td gt lt tr gt lt table gt lt body gt lt html html gt The content of the adminContentPage jsp is determined by the navKey value in the request This is the source code for the adminContentPage lt oe adminContentPage jsp This is the page that includes the appropriate content page based on the current nav param SSS S SS 5 5 gt lt taglib uri WEB INF tld Struts bean tld prefix bean gt lt taglib uri WEB INF tld Struts logic tld prefix logic gt lt taglib uri WEB INF tld lms tld prefix lms gt lt ole If there is no nav param then we are in an invalid state probably because of the back button or a bookmark In that case simply forward to the invalid form page gt lt logic notPresent name invalidForm gt lt lms navUtil id contentPage property contentPage gt lt This anchor is here for accessibility DO NOT REMOVE IT gt lt a name navskip gt lt a gt l
33. lt lms spacer type standard BEGIN hello message lt tabl width 100 gt lt tr gt border 0 cellpadding 0 cellspacing 0 border 0 lt td width 95 gt lt span class hdrGeneral gt lt lms message key customTab hello helloMessage gt lt span gt lt td gt lt td width 1 gt lt td gt lt td width 1 gt lt td gt lt tr gt lt table gt lt lms hRul type hRuleButtonSetBottom gt Chapter 8 Creating a tab 75 lt div class frmButtonSetPaddingBottom gt lt table border 0 cellpadding 0 cellspacing 0 border 0 width 100 gt lt tr gt lt td width 95 gt lt lms spacer type standard gt lt td gt lt td width 1 gt lt div class btnCommonPadding gt lt lms button captionKey button done tooltipKey button done nav Greetings gt lt div gt lt td gt lt tr gt lt table gt lt div gt lt S earning Management System Microsoft Interne Cacti gt 76 IBM Lotus Learning Management System Release 1 Customization Guide The second linked page customGoodbye jsp looks like this lt ole customGoodbye jsp Copyright c 2003 IBM Corporation All rights reserved Created 05 30 02 The goodbye page for the auto greetings trail ole Vv lt taglib uri WEB INF tld lms tld prefix lms gt BEGIN Done button Ease lt div class frmButtonSetPaddingTop gt lt tabl
34. lt permissions gt User_Management lt permissions gt lt helpPage gt courseadmin ch_users_overview html lt helpPage gt lt lt trail gt lt name gt rosterUsers lt name gt lt target gt default do lt target gt lt content gt usersRosterUsers jsp lt content gt 62 IBM Lotus Learning Management System Release 1 Customization Guide lt label gt users rosterUsers roster lt label gt lt title gt users rosterUsers lt title gt lt permissions gt Roster_Users lt permissions gt lt helpPage gt courseadmin ch_add_users html lt helpPage gt lt gt lt trail gt lt name gt search lt name gt lt target gt default do lt target gt lt content gt usersRosterUsersUserSearch jsp lt content gt lt label gt users rosterUsers search lt label gt lt title gt users rosterUsers search lt title gt lt permissions gt Roster_Users lt permissions gt lt helpPage gt courseadmin ch_users_ldapsearch html lt helpPage gt lt gt lt trail gt lt name gt confirm lt name gt lt target gt default do lt target gt lt content gt usersRosterConfirm jsp lt content gt lt label gt users rosterUsers import confirm lt label gt lt title gt users rosterUsers lt title gt lt trail gt i ae eam lt name gt fail lt name gt lt target gt default do lt target gt lt content gt usersRosterUsersFailure jsp lt content gt lt label gt users rosterUsers import confirm l
35. nav a reference to the JSP to be displayed when the user clicks the Roster Users link The value passed here users rosterUsers is the value of the lt title gt attribute in the definition of the target JSP in navigation xml where the actual file to which it refers is specified in the lt content gt attribute lt name gt rosterUsers lt name gt lt target gt default do lt target gt lt content gt usersRosterUsers jsp lt content gt lt label gt users rosterUsers roster lt label gt lt title gt users rosterUsers lt title gt lt permissions gt Roster_Users lt permissions gt lt helpPage gt courseadmin ch_add_users html lt helpPage gt tooltipKey a reference to the resourced string to be displayed when the user mouses over or otherwise navigates to the link text This string is defined in ApplicationResources properties and is required to ensure that the application meets the accessibility requirements of the US Rehabilitation Act Section 508 users rosterUsers subtitl Roster Users The resource string that constitutes the final element in the table row users rosterUsers description also resides in ApplicationResources properties users rosterUsers description Add users to the Learning Management System The next row of the Manage Users table which contains the Manage Users link is essentially the same as the one just described differing from it only in the particular permission checked Chapter
36. strings 52 IBM Lotus Learning Management System Release 1 Customization Guide Table of sample matching strings preferredLanguage preferredLanguage preferredLanguage preferredLanguage preferredLanguage preferredLanguage fr departmentNumber 1 sn Jones Type Example matches User Fulano de Tal Cambridge IBM A person Fulano de Tal at IBM in Cambridge cn Fulano de Tal ou Cambridge o IBM _ Same as above cn Jan Doe ou West5 ou Weston o IBM A person Jan Doe at the West5 office of IBM in Weston Cambridge IBM Anyone at IBM in Cambridge ou Cambridge o IBM Anyone at IBM in Cambridge Anyone at all Group GroupCD Groups whatever Everybody in this group cn GroupCD ou Groups o whatever Everybody in this group Attribute preferredLanguage fr Everybody with this attribute with a value fr Everybody with this attribute no matter what its value if any Same as the above Everybody with this attribute to which no values or an empty value has been assigned Everybody who doesn t have this attribute Everybody who doesn t have this attribute or has it with a non empty value assigned to it Everybody who doesn t have this attribute or has it without the value fr assigned to it All users whose department number begins with 1 All users whose surname is Jones e Logo URL the branding logo to be displayed on each of the application s pages e Logoff URL the URL of the page to
37. the JSP tag to add remove or change the values of the tag s attributes Note Do not remove required attributes The TLD file identifies attributes that are required by specifying true in the body of the lt required gt tag For more information on looking at the TLD file to see a tag s attributes see The anatomy of a TLD file Editing form Bean values with the lms hidden tag The Ims hidden tag is a tag that produces an HTML input tag with a type attribute value set to hidden This tag enables you to get and set values in the form Bean which is a Java component that among other things saves user input associated with the current form The name attribute identifies the form Bean The property attribute represents a property setting in the form Bean The value attribute sets the input tag values which can be later saved to the form bean If you do not supply a value attribute the HTML input tag gets values for specified properties from the form Bean The following code creates a hidden HTML input tag Because a value attribute is supplied the resulting input tag sets the destination property of the form Bean associated with the assignVendor jsp to that value The value is set using a JSP expression that gets the value of the destination parameter from the user request lt lms hidden property destination value lt request getParameter destination S gt gt 40 IBM Lotus Learning Management
38. the files with a text editor and then stopping and restarting the server If you change settings xml you should change ds settings xml and where relevant duc settings xml as well However editing the XML files is not the preferred way to change system settings Where possible using the Administrator interface to make changes is both simpler and less apt to result in unwanted inconsistencies between server settings Not all settings that you might want to change are exposed through the Administrator interface but most of them are So for example to make global changes in preferences you can click the Settings tab in the Administrator interface click LMM Server General Settings and then User Defaults and enter the desired new values These will override the settings in the XML files Chapter 2 Changing settings 5 Changes that you make through the Administrator interface are written to the application_setting table in the application database and take precedence over settings in the XML files If you want to revert to the values in the XML files you need to delete the relevant record s in the application_setting table Note users can have the last word on preferences settings by making changes through the Preferences dialog box which they can invoke from the Navigation bar Thus the settings that a user specifies in the Preferences dialog box override settings that an administrator has made in the Settings module which in turn ov
39. this is the only way to pass the session ID and maintain the session state information for the application lt attribute gt lt name gt encodeURL lt name gt lt required gt false lt required gt lt rtexprvalue gt false lt rtexprvalue gt lt attribute gt The next two attributes the useCustomDsPath and useCustomLmmPath attributes are also not required The values of these attributes can be dynamically calculated at request time These attributes take Boolean values and indicate whether or not the customization set paths provided for the Delivery DS directory and Learning Management System LMM directory servers should be used in locating the URL included in the body of the tag The default value for these tags is true which indicates to apply the customization set path to the supplied URL if a customization set exists Setting these to false forces the retrieval of a resource from a specific URL regardless of whether customization sets are in effect for an application 22 IBM Lotus Learning Management System Release 1 Customization Guide lt attribute gt lt name gt useCustomDsPath lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt useCustomLmmPath lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt The fourth attribute the id attribute is not requi
40. value lt optionValue s gt gt lt optionValue S gt lt option gt lt the entry has no default make the default option selected else if optionValue equals customField getDefaultValue 5 gt lt option value lt 0optionValue gt selected gt lt optionValue gt lt option gt lt else Chapter 5 Customizing JavaServer Pages 43 S gt lt option value lt optionValue s gt gt lt optionValue S gt lt option gt lt end getVal S gt lt logic iterate gt lt select gt lt logic equal gt lt div gt lt td gt lt tr gt lt logic iterate gt Removing JSP tags from the page source has a powerful effect on the resulting pages in the interface Remove with care 44 IBM Lotus Learning Management System Release 1 Customization Guide Chapter 6 Customizing Search You can perform these types of searches in the user interface e User Search The User Search page appears when you roster or manage users in the Users module when you enroll users or change their results in the Course Management module when you supply contact information in the Course Catalog and when you work with locations rooms or instructors in the Resources module e Offerings Catalog Search The Advanced Search page appears when you click Advanced Search from the Offerings Catalog search page e Course and Resources Searches The Course Management module has search pages for cou
41. value that is used by the doReloadFrame tag of the delivery js tag library to determine how to populate a frame when it needs to be reloaded because of an action that occurred in another frame The activity jsp contains the activityTools jsp and appropriate page content Stepping through the source code of the delivery JSP illustrates how to perform standard JSP tasks such as e Including tag library descriptor files e Including JavaScript source code Looking at the delivery jsp source code also illustrates how the following tasks are handled by the Delivery server in particular e Localizing page text e Populating a frameset in a JSP e Displaying errors to the user e Defining resizable frames The source code for the delivery jsp file is stored in the WEB INF gt classes gt resources gt ds directory Including tag library descriptor files The page and taglib directives specify that the page contains Java code and that like the adminTemplate jsp a Struts tag library is included the Struts bean tld file Unlike the adminTemplate the delivery tld and delivery js tld files are associated with the page instead of the lms tag library lt page language java contentType text html charset UTF 8 gt lt taglib uri WEB INF tld delivery tld prefix delivery gt lt taglib uri WEB INF tld delivery js tld prefix js gt lt taglib uri WEB INF tld Struts bean tld prefix bean gt Localizing page text The
42. you should make any changes on all of them Users of the Offline Learning Client should be advised to download a new version incorporating your changes Users access topics in the Help system in either of two ways e From the Student or Course Administrator Help table of contents or index e By clicking the icon on the current page When the user clicks this icon the application displays the Help topic relevant to that page This is known as context sensitive Help The following sections look at the construction of a sample of a Help topic and describe the various ways in which you can customize a Help window s display attributes and content redirect context sensitive Help and add a new Help topic to the system The Anatomy of a Help topic The following example shows the component parts of the Help topic for the Student Preferences dialog box The map file sh_preferences html looks like this lt html gt lt head gt lt title gt IBM Lotus Learning Management System Student Help lt title gt lt head gt lt frameset rows 33 border 0 frameborder no framespacing 0 gt lt frame name header title Help Header src sh_ help header h html scrolling no framespacing 0 frameborder no border 0 marginwidth 0 marginheight 0 noresize gt lt frameset cols 150 border 0 frameborder no framespacing 0 gt lt frame name navigation title Help Navigation src sh_ help navigation _1 html scrolling auto framespacing 0
43. 00000000009300PERM PERM ID 93 NAME com lotus elearn permissions RoleMgrlmpl addRole DESCRIPTION i CATEGORY 1 STATUS UPDATETIME The CASCADED_PERMISSION table consists of records with the following composition Chapter 8 Creating a tab 69 CASCADED_ PERMISSION table Field Datatype Allow Null Values child_oid CHAR 20 N nnnnnnnnnnnnnnOOPERM 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 0000000000003000PERM CHILD_OID 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
44. Adding andireplacing graphics sssrini e a E Menge 36 Changing individ Wali JSPs esne e e eese e E E SE ss cated SSE E TE Sise 38 Changing the style of an individual JSP snsssenssssesessesrsssesisstsressenrisrestenrsssnresrenrenrsnenresresreresnes 38 Changing the functionality of an individual JSP eee cece cscscseseseseseeeeeseeanaeseseseseaens 39 Chapter 6 Customizing Search evsccaveicaseissenessens enetanndaanes tictitntatvisnenstsviatsaanevenasanwadenstines 45 Customizing user Searches nrag e a uedestutsbevesdh toned e E S 45 Adding LDAP attributes to User Search pages ss es ssesissessessesssstestsrtresresteresnereeresnenrenesneeress 45 Removing fields from User Search pages ccccccecescsescscscscscseseesssssssessseseseseseseseeseaseeneeenena 46 Customizing Offerings Catalog searches 00 cceseseccce sees eseeeececscscsesesesesssssseecaesesesesescsesenesssaeneeenecs 47 Adding custom fields to the Offerings Catalog cesesenensseesesessseseseseseseseneseteteeeseseeeen 47 Removing fields from Offerings Search pages cccccceeccccsesenessessseseeeseseseseseseseeeseneseeeeeeenana 47 Customizing course management and resource searches cesses sees eseeeeeeseseseeeeetetsteteeeeeeees 47 Table of Contents iii Removing fields from the Search pages ccccssecessssescsescscscscsesesesssssessessscaeseseseseseseseseteceeeeeeae 48 Chapter 7 Customization Sets ccccccecceeeee eee eee e eee eeeeeeeeee
45. Details page you can eliminate the labels fields and buttons that support this functionality The JSP that represents the Course Catalog gt Register Course Entry gt Course gt Course Master gt Course Details page in the Administrator interface is the catalogCourseEntryDetails jsp This page contains code that displays a popup window in which you can add delete or edit custom fields The source code resides in the WEB INF gt classes gt resources gt lmm gt catalogCourseEntry Details jsp directory and begins at line 167 with the following commented out text SFS FLITTTTSLLTTITTIS TITTIES ATTA TTT TT TT custom fields FEITTTTSLLTTTTTTLTTTTAT STITT TTT TTT gt The section of code that displays the Custom Fields section of the page ends with line 283 which contains the code lt logic iterate gt Removing the 115 lines of code between these two points removes the Custom Fields section header the Edit button with its Custom Fields label and the list of existing custom fields from the Course Details page The Custom Field Header section of the code uses an Ims message tag to reference the appropriate properties file to supply the header label lt lms message key catalog createEntry details customFieldDetails gt The next section of code Manage Custom Fields uses the Ims message tag to supply the text in the customFields resource key of the appropriate properties file and the Ims label tag to situate the label in
46. E gt Your title goes here for example My Topic lt TITL lt HEAD gt lt BODY TEXT 000000 LINK 0066cc VLINK 666600 ALINK 993300 BGCOLOR ffffff BACKGROUND background_b gif MARGINHEIGHT 0 TOPMARGIN 0 MARGINWIDTH 25 LEFTMARGIN 25 gt lt H2 gt Your title goes here for example My Topic lt H2 gt lt p gt Your topic text goes here lt P gt lt BODY gt lt HTML gt 3 Ifyou want to link to this topic from the Table of Contents open sh_contents_b html enter the appropriate text and save your work For example lt A HREF sh notifications html target _top gt Notifications lt A gt lt br gt lt A HREF sh_ my topic html target _top gt My topic lt A gt lt br gt lt A HREF sh_ enrolled html target _top gt Enrolled courses lt A gt lt br gt 4 If you want to link to this topic from the Index open sh_index_b html in the war file enter the appropriate text and save your work For example lt dt gt ToolTips lt dd gt lt a href sh_preferences html target _top title Link to topic gt Changing your display preferences lt a gt lt dt gt topic details lt dd gt lt a href sh_coursedetails html target _top title Link to topic gt Course and activity details lt a gt lt dt gt topic my lt dd gt lt a href sh_ my topic html target _top title Link to topic gt My topic lt a gt 18 IBM Lotus Learning Management System Release 1 Customization Guide Chapte
47. For example you can change a background color that is considered offensive to one culture to a more appropriate color in the corresponding language version CSS file The only difference in the CSS files that are included by default with the LMS application is in the reading orders assigned to the INPUT and TEXTAREA elements The Arabic CSS file found in the ar directory sets the reading order from right to left All other CSS language files set the reading order from left to right The languageCode directory name is supplied as a two character language code For example English is represented by en Spanish is represented by es and German is represented by de Browser version The IBM Lotus Learning Management System supports Microsoft Internet Explorer version 5 5 and later and Netscape version 6 0 and later The application supports separate style sheets for each browser because a single format setting can often display differently in each browser To keep a consistent look and feel you can tweak the format settings in each browser version CSS so that the page displays alike to the user regardless of which browser is accessing it The browserType directory name can be supplied as either of the following e styInternetExplorer5 Represents Internet Explorer version 5 5 or later e styNetscape6 Represents Netscape version 6 or later Note To keep the application consistent if you make a change that is not langua
48. The lt content gt tag JSP file names The lt content gt tag identifies the JSP to be displayed The lt label gt tag breadcrumbs The lt label gt tag specifies the string in ApplicationResources properties whose definition is displayed in the breadcrumb trail in the upper right of the page below the icon For example the lt label gt tags for for the Users main page the roster users page the user search page and the confirmation box for successful rostering are navigationTab users users rosterUsers roster users rosterUsers search and users rosterUsers import confirm These are defined in the resource file as follows navigationTab users Users users rosterUsers roster Roster Users users rosterUsers search User Search users rosterUsers import confirm Confirm Chapter 8 Creating a tab 65 Users Roster Users User Search Confirm You have successfully rostered the selected users If you don t want to display the breadcrumbs for a given JSP you can include the lt breadCrumbsInvisible gt tag in the lt trail gt lt trail gt or lt step gt lt step gt block and set it to yes For example you could suppress the breadcrumbs in the roster users confirmation box shown above as follows lt users rosterUsers search confirm gt lt Erail gt lt name gt confirm lt name gt lt target gt default do lt target gt lt content gt usersRosterConfirm jsp lt content gt lt label gt users ros
49. These files contain the resourced static text that appears elsewhere in the application labels button text error message text and so on e The logoff URL This is URL of the page to which the user is sent when he or she logs out of the application The information that you specify in the Administrator interface when you create a customization set on the LMM server is automatically communicated to the Delivery server or servers However if you create a directory structure to hold custom files on the LMM server you need to create a comparable structure on the Delivery server or servers and populate it with custom files if you want your changes to be uniform across the application Similarly if you have deployed the application such that some of the files the application uses are stored on an HTTP server you need to copy their customized counterparts to the appropriate location or locations on that server Creating a customization set The following steps assume that you re creating a customization set on the LMM server for the users belonging to the LDAP group Sales and that for simplicity all the files of interest reside on the LMM server and that you want the customization set to use custom style sheets images resource strings and templates and a customized Help system Chapter 7 Customization sets 49 1 Copy the application s Web directory on the LMM server to a new Web directory and give it an appropriate name for example
50. When this customGoodbye jsp is displayed it will look like this 78 IBM Lotus Learning Management System Release 1 Customization Guide Jem Lotus Learning Management System Microsoft Internet Explorer S NSAN Fie Edt View Favorites Toob Help Bak gt OA Gh search Faoite Breda JZ By SOI SF Address E hero hetp wkige0n 8080 Is Imm defauk do nayeGreetngs goodbye E z R tel Learning Management System wasadmin a x Lee Out 7 Help s Prefers a Greetings Home Home Student Catalog Catalog Users Course Catalog if Course Rinn Resources Resources Reports Reports Vale G Greetings Goodbye Farewell 2 Create Help files You need to associate a Help topic with each JSP so that when the user clicks to display context sensitive Help the application will not display the Page Not Found screen You could of course send the user to the index or table of contents or some other existing Help topic but for the sake of illustration assume that you would create a topic appropriate to the custom JSPs You would then copy these files to the English language course administrator Help directory Help en courseadmin In this example the Help mapping file is ch_customtab html and the corresponding content file is ch_customtab_b html customtab html lt html gt lt head gt lt title gt IBM Lotus Learning Management System Administrator Help lt title gt lt head gt lt
51. a reusable Java component and retrieves a property from it Determining the user s browser type and language preference The property being requested the styleSheetLink property contains the name of the appropriate CSS file to apply to the page based on the type of browser that is submitting the user request lt jsp getProperty name BrowserSniffer property styleSheetLink gt 24 IBM Lotus Learning Management System Release 1 Customization Guide Including JavaScript source code The next two script tags incorporate the JavaScript source files tree js and script js into the page so that functions contained in these JS files can be called from the page lt script language JavaScript src js tree js gt lt script gt lt script language JavaScript src js scripts js gt lt script gt The chunk of JavaScript code between the lt script gt and lt script gt tags refreshes the window to apply the styles of the CSS file specified by the Bean to the page then adds functionality to determine the number of results to return when searches are performed Including the JSPs that comprise the main template The body of the page includes several other JSP pages that constitute the sections making up the adminTemplate page The first two pages included are the adminHeader and adminNavltems JSPs Another standard JSP action the include tag is used to incorporate the adminHeader jsp and adminNavltems jsp files The HTML tabl
52. age version Based on the locale code specified in the browser request e Browser type Based on the browser with which the user accesses the application The BrowserSniffer Bean which determines what type of browser the current request is coming from is called from the initial pages in the application This Bean also reads the locale attribute of the browser request Based on this information it applies the appropriate version of the CSS files to the current and subsequent pages For example the BrowserSniffer Bean is called from the 32 IBM Lotus Learning Management System Release 1 Customization Guide adminTemplate jsp page which is the page that defines the format for most of the pages on the Learning Management System server For more information on the adminTemplatejsp see The Anatomy of an LMS JSP The file directory containing the CSS files is structured as follows serverName gt css gt languageCode gt browserType where serverName equals one of the following e Imm Represents the Learning Management System server e ds Represents the Delivery server e duc Represents the Offline Learning Client server See the definitions of the languageCode and browserType directory names below Language version The LMS application directory contains CSS files for multiple languages Having separate CSS file sets for each supported language enables you to design pages that are aesthetically familiar to different cultures
53. anage display attributes such as font and background color of the Help header and navigation bar You can change these display attributes by editing ns_style css or ie_style css or both or by pointing to a different Cascading Style Sheet of your own devising If you edit the CSS files rather than point to one of your own these changes will ripple through the whole Student Help system You can alter the ALT tag text and change the banner text Learning Management System Student Help You can edit replace or remove the lvc help gif files You can change the banner graphic in either of two ways e Edit or replace the file lvc helpmosaic gif e Edit ns_style css or ie_style css or both replacing the background image URL with one that locates the banner graphic you want mosaic bg background image url lvc helpmosaic gif background repeat repeat x You can use transparent gif to adjust the spacing of elements in the header The file that defines the navigation bar sh help navigation _1 html looks like this lt html gt lt head gt lt title gt Help Navigation lt title gt lt SCRIPT LANGUAGE JavaScript gt oss if navigator appName indexOf Netscape gt 1 document write lt LINK HREF ns_style css REL styleSheet TYPE text css gt else document write lt LINK HREF ie style css REL styleSheet TYPE text css gt Chapter 4 Custom
54. anagementInit do lt target gt lt content gt users jsp lt content gt lt label gt navigationTab users lt label gt lt title gt users manageUsers task lt title gt lt permissions gt User_Management lt permissions gt lt helpPage gt courseadmin ch_users_ overview html lt helpPage gt lt module gt Example The following example describes the process of adding and granting access to a simple custom tabbed page customTab jsp with links to two other pages customHello jsp and customGoodbye jsp The process involves the following steps 1 Create the three JSPs and copy them to the classes resources lmm directory 2 Create a Help mapping file ch_customtab html and corresponding content file ch_customtab_b html to be displayed when the user clicks the context sensitive Help icon on any of these pages and copy these files to the English language course administrator Help directory Help en courseadmin 3 Add the permissions to the LMS database necessary to display the tabbed page and links Custom_Tab Say_Hello and Say_Goodbye 4 Edit the English language properties file that stores resource strings to include text to be displayed in the three JSPs and in the roles list to be populates with the new permissions Edit navigation xml to include definitions for the three JSPs 6 Grant the new permissions to users whom you want to be able to display the JSPs You can do this either by modifying an existing ro
55. ans from a JSP Based on the Struts architecture Struts html tld Defines the basic HTML content of a JSP such as button and checkbox elements Based on the Struts architecture Struts logic tld Incorporates common programmatic logic into a JSP Based on the Struts architecture The Delivery and Offline Learning Client servers contain the following TLD files in addition to those listed above Tag Library Name Purpose chat tld Executes the functionality used in conducting a live chat from within the application delivery tld Defines the functionality specific to the delivery and offline servers such as the activity and course tools delivery js tld Customizes the frames used to format the delivery and offline client applications These TLD files are stored in the following directory serverName gt WEB INF gt tld where serverName is one of the following directory names e LMM Represents the Learning Management System server e DS Represents the Delivery server e DUC Represents the Offline Learning Client server The anatomy of a TLD file The tag library descriptor TLD file is a text file in XML format that defines the JSP tags used in an application In this section we will look at one such JSP tag The url tag is a tag that references a Uniform Resource Locator URL It belongs to the Ims tag library and is defined in the lms tld file This section illustrates how t
56. ase of the LMM server templates directories for the LMM and Delivery servers and the Offline Learning Client under source resources These directories contain resource bundles for the various languages that the LMS supports Colors and fonts are typically specified in a Cascading Style Sheet CSS file CSS files are grouped by browser type under Web lt server gt css lt language gt lt browser gt for example Web LMM css en styInternetExplorer5 Graphical images GIF and JPEG files reside in the images directory for the LMM and Delivery servers and the Offline Learning Client in the web directory for example web LMM images As suggested earlier you can modify a JSP s functionality as well as its display attributes by editing the JSP itself The JSP files for the web LMM server Delivery server and Offline Learning Client reside in the web LMM web ds and web duc directories respectively A disclaimer and a word about conventions This document is not an exhaustive description of all the ways in which you can customize the LMS Rather it covers a broad range of changes that customers typically want to make to the application to customize its look and feel and control users access to features Some changes that you can make to the application are specific to a particular window while others are system wide For example if you change the text of the aboutLMM title property in the ApplicationResources propertie
57. attribute in the appropriate object classes in the lt Idap gt lt users gt subsection This is especially important for attributes that are custom to your LDAP directory For example if the custom attribute is named planChoice in your LDAP directory the mapping would look like this lt mapping name HealthPlanChoice IdapAttribute planChoice gt 2 Modify the lt user gt lt customAttributes gt subsection of the LMS settings xml file to add an lt attribute gt entry for the attribute you added in Step 1 For example for the Chapter 6 Customizing Search 45 attribute HealthPlanChoice the attribute link would look like this lt user component com lotus elearn user UserMgrimp1 anonymousAccess enabled automaticRostering enabled gt lt customAttributes gt lt attribute name HealthPlanChoice gt lt customAttributes gt lt user gt 3 Modify the LMS file ApplicationResources properties by adding a line that converts the string to something user friendly for example HealthPlanChoice Employee s Health Plan The user friendly text will appear in the User Search page as a description of the attribute Do this for the ApplicationResources properties file for each language All user searches automatically show the additional LDAP attributes you don t need to edit the User Search page manually The picture below shows a User Search page with the additional attribute Manager User Search Fi
58. b html looks like this HTML gt HEAD gt META NAME Searchterms CONTENT Changing your references preferences amp 044 changing ToolTips pop up Help hover elp records per page mouse over Help display settings gt AN BoA A A META NAME topic CONTENT Changing your display preferences gt JEA lt TITLE gt Changing your display preferences lt TITLE gt lt HEAD gt lt BODY TEXT 000000 LINK 0066cc VLINK 666600 ALINK 993300 BGCOLOR ffffff BACKGROUND background_b gif MARGINHEIGHT 0 TOPMARGIN 0 MARGINWIDTH 25 LEFTMARGIN 25 gt lt H2 gt Changing display preferences lt H2 gt lt p gt By clicking Preferences in the Navigation bar you can see and change your personal display preferences To close the window without changing your preferences click Cancel lt P gt P gt amp nbsp lt P gt P gt amp nbsp lt P gt P gt amp nbsp lt P gt P gt amp nbsp lt P gt P gt amp nbsp lt P gt P gt amp nbsp lt P gt P gt amp nbsp lt P gt lt lt lt lt lt lt lt lt P gt amp nbsp lt P gt lt body gt lt html gt Chapter 4 Customizing Help 15 You can ignore or remove the lt META gt tags at the beginning of the file These are used in generating the Index Otherwise you can edit this file as you would any other standard HTML file Editing an existing Help topic Open the _b html edit it and
59. be displayed when a user exits from the application The dialog box also contains a number of checkboxes e Use Custom Images unchecked the customization set uses the image files in the LMM Images directory checked the image files in the customization set s Images directory are to be used e Use Help unchecked the customization set uses the Help files in the LMM Help directory checked the files in the customization set s Help directory are to be used e Use CSS unchecked the customization set uses the CSS files in the LMM CSS directory checked the files in the customization set s CSS directory are to be used e Use JSP unchecked the customization set uses the JSPs in the LMM Web server directory checked the JSPs in the customization set s Web server directory are to be used e Use templates unchecked the customization set uses the templates for e mail and notifications in the LMM server s resources directory checked the templates in the customization set s resources directory are used Chapter 7 Customization sets 53 e Use text unchecked the customization set uses the files in the LMM properties directory checked the files in the customization set s properties directory are to be used 6 Reboot the server s to complete the process of defining and assigning the customization Installing a customization set on the Offline Learning Client You can create what are in effect
60. ch tag is executed lt bean define id navKey value lt com lotus elearn navigation NavigationUtil getNavKey request S gt gt lt logic match name navKey value studenthome location start gt lt td width 190 valign top gt lt jsp include page studentHomeNavigation jsp flush true gt lt td gt A ole This table cell controls the margin between the student navigation and the content area seee a sue rr S gt lt td width 3 gt lt lms spacer width 3 height 1 gt lt td gt lt logic match gt Otherwise the next table row included in the page contains the adminTask jsp This table row is followed by some empty rows to add space between frames lt tr gt lt td class formBoxTitleBg colspan 3 valign middle nowrap gt lt jsp include page adminTask jsp flush true gt lt td gt lt tr gt The next table row checks again to make sure the current navigation mode is not studenthome If it is not it then checks to make sure the current navigation mode is not invalidForm If it is not it includes the adminLocation jsp lt tr gt lt td class formBoxBg width 15 gt lt lms spacer width 15 height 1 gt lt td gt lt td class formBoxBg gt lt logic notMatch name navKey value studenthome location Start gt lt logic notPresent name invalidForm gt lt jsp include page adminLocation jsp flush true gt lt logic notPresent gt lt
61. ctor role does have permission to run reports Assuming that you don t change the default settings if a user is assigned both roles he or she has permission to run reports The Anonymous role is a special case When users initialize the application they are assigned the Anonymous role until such time as they log in or exit When users log in the Anonymous role no longer applies to them So for example if you were to change the permissions for the Anonymous role to allow anonymous users to run reports not that you probably would users whose sole role is Student who ran the application could run reports until they logged in after which they couldn t because their privileges as Anonymous had been discarded when they logged in Automatically assigned roles are a somewhat different special case If you automatically associate a role with the set of users in the LDAP directory that are identified by a matching string you can t override this assignment for a user by running the application locating the user and changing his or her role assignments For example if everybody in your LDAP directory identified by the string ou Cambridge o IBM is automatically assigned the role of Student and you want to remove this role assignment from user John Doe who is identified by that matching string and assign him the role of Instructor instead you need to either change the user s LDAP record so that the user is no longer identified by the matching s
62. d by the relative path student lt module gt lt name gt studenthome lt name gt lt target gt studentHome do lt target gt lt content gt studentHomeWelcome jsp lt content gt lt label gt navigationTab studentHome lt label gt lt title gt navigationTab studentHome lt title gt lt permissions gt Home Module lt permissions gt lt helpPage gt student sh_usinghome html lt helpPage gt 16 IBM Lotus Learning Management System Release 1 Customization Guide Note You can replace a Help file with one in another directory by specifying the appropriate relative path and file name For example you might change the helpPage parameter in preferences jsp to lt jsp param name helpPage value courseadmin ch_mypreferences html gt or assuming that you had created and populated a myhelp directory at the same level as the student and course administrator Help directories you might change the lt helpPage gt tag in the student home entry in Navigation xml to lt helpPage gt myhelp welcome html lt helpPage gt or the like Adding your own Help topic You can add your own Help topics to the system and create Index entries and links in the Table of Contents for them The following procedure assumes that you want to add a topic to the Student Help system The procedure for adding a topic to the Administrator Help system is essentially the same the only significant differences being the prefix to the file name
63. display in the content frame is either e If the action handler determines that there is content to display the base URL supplied by the content package and any other parameters needed to track the content define the page to display e If there is no content to display the frame displays a JSP that contains details of the activity currently selected in the activityTools frame The frame determines which page to display based on the content action mapping in the Struts config xml file The content action mapping entry follows lt action path content type com lotus elearn action delivery FrameContentAction gt lt forward name faceToFaceDetails path activityDetailsFaceToFace jsp gt lt forward name genericDetails path activityDetailsGeneral jsp gt lt forward name lvcDetails path activityDetailsLVC jsp gt lt forward name topicDetails path topicDetails jsp gt lt forward name courseDetails path courseDetails jsp gt lt action gt This mapping instructs the content frame to display one of the following pages depending on the current activity e Ifthe activity is a course courseDetails jsp e Ifthe activity is a topic topicDetails jsp e If the activity is a face to face exercise activity DetailsFaceToFace jsp e If the activity is a live chat activityDetailsLVC jsp e If itis any other activity activityDetailsGeneral jsp Making global changes You can make changes that ap
64. e tr and td tags help to structure the layout of the content lt body leftmargin 0 topmargin 0 marginwidth 0 marginheight 0 onUnload unload onLoad lt onLoad gt gt lt ole The first jsp page to include is adminHeader which contains the logo image and preferences buttons After that the adminNaviItems page includes all of the main tabs gt lt table width 100 border 0 cellspacing 0 cellpadding 0 background gt lt tr gt lt td background images bckPrimHeader jpg gt lt table width 100 border 0 cellspacing 0 cellpadding 0 gt lt tr gt lt td gt lt jsp include page adminHeader jsp flush true gt lt td gt lt tr gt lt tr gt lt td valign bottom background gt lt br gt lt jsp include page adminNaviItems jsp flush true gt lt td gt lt tr gt lt table gt lt td gt lt tr gt lt table gt In the following piece of code the JSP uses a JavaBean to query the request to determine if the current navigation mode is the student home page If it is the studentHomeNavigation jsp is included in the page also This piece of code demonstrates how Struts logic tld tags work The logic match tag checks if the value of the navKey variable which checks the request for the Chapter 5 Customizing JavaServer Pages 25 current navigation mode is equal to studenthome If it is the jsp include tag within the logic mat
65. e border 0 cellpadding 0 cellspacing 0 border 0 width 100 gt lt tr gt lt td width 95 gt lt lms spacer type Standard gt lt td gt lt td width 1 gt lt div class btnCommonPadding gt lt lms button captionKey button done tooltipKey button done nav Greetings gt lt div gt lt td gt lt tr gt lt table gt lt div gt lt lms hRule type hRuleButtonSetTop gt END Done button lt lms spacer type standard gt BEGIN goodbye message Chapter 8 Creating a tab 77 lt table border 0 cellpadding 0 cellspacing 0 border 0 width 100 gt lt tr gt lt td width 95 gt lt span class hdrGeneral gt lt lms message key customTab goodbye goodbyeMessage gt lt span gt lt td gt lt td width 1 gt lt td gt lt td width 1 gt lt td gt lt tr gt lt table gt lt lms hRule type hRuleButtonSetBottom gt BEGIN Done button SSF lt div class frmButtonSetPaddingBottom gt lt table border 0 cellpadding 0 cellspacing 0 border 0 width 100 gt lt tr gt lt td width 95 gt lt lms spacer type Standard gt lt td gt lt td width 1 gt lt div class btnCommonPadding gt lt lms button captionKey button done tooltipKey button done nav Greetings gt lt div gt lt td gt lt tr gt lt table gt lt div gt END Done button gt
66. ectory and unzipping the LMS Help WAR file there b Put the Help for your customization set in a subdirectory of the default Help system Again the directory tree for the customization set s Help system must exactly mirror that for the default Help system myServer myCompany com myDirectory help da student authoring guides courseadmin de en etc SalescCs da student authoring guides courseadmin de en etc c Make the application aware of the location of the default Help system You can do this in either of two ways by following the directions in Configuring on line help in the Installation Guide or by specifying the URL to the Help directory in the LMS Settings module Settings LMM General Settings General 5 Login to the Administrator interface and add the customization set that you ve created to the system To do this click the Settings tab then Manage Customization Sets then Add The application displays a dialog box with the following edit controls e Title a name that uniquely identifies the customization set you created in step 1 e LMM Resource Directory the name of the directory in which the customization set s property and template files reside in this case SalesCS on the LMM server e LMM Web Directory the name of the directory in which the customization set s JSPs images CSS and depending on your configuration Help files reside in this case SalesCS on the LMM
67. eeeeeeeeeseeeseeeseeeeeeeeeeeeeeeeeneees 49 Creating a CuStOMiza HON Seten ssc er ernen es E eane Ees Eo eo Soois keera SEEE enaa sieo 49 Installing a customization set on the Offline Learning Client ss s sessssesessessssresrsiresserrereeseerees 54 Chapter 8 Creating a tab cccitasiiicessccestcaasiiaatesstuenecruntenncanacsttnasttsannatatnscesnstsawianatetiaantina 57 The Users Pa Se ise ieaacdusvesscissbascedesshssesshbssycestvavtbcssesusesssessabvtagdavesnavasdlsh spsvcasseusduicd lesycusnveapelesigaevassseaseasianss 57 Users Sp 5 2 ess iseni ea eeren a chutes sh Ee oE EE eabssage dn voesttrehitessnsesezedvee EES EEES SEESE SS 58 navigation Xe ena e a r S e a ea e T eea E EEA E ae Se E doce 62 The lt module gt lt trail gt and lt step gt tags main pages and linked pages 64 The lt name gt tag page names and resourced text ss ssesessesissisresresrsiresresreseesterisrenrenreneeress 65 The lt target gt tag struts action Mapping s sseeseerisserissesreeresrestertnesresrenierenenresennteresnenreneesrenten 65 The lt content gt tag JSP file names iin ieccnsteiedaetienciohie nitrite iran ETR RETAN 65 The lt label gt tag breadcrumbs ssi isseseccsssissctsssssscdessueseisscstecsssveasaeesecvessveseasb ents a a eiia 65 The lt title gt tag tithe Dar text iss iiss saves deeveits cotstesecvevs og andaceeg e E E a a EE Eia 67 The lt permissions gt tag permission to display the page cece ceessssseseteteteteteseese
68. eeees 67 The lt helpPage gt tag context sensitive Help csseseesescsesenessssssssessseseseseseseseseseteteceeeceese 67 Adding CUSTOM PETIMISSIONS jsscesessscseussevenessevoresene e o e e obovenbvededeneds P chet 67 Example reais eei a E EEE E OAE Ea E ORE S de EEE O EREE E E EE 71 e aE E T 87 iv IBM Lotus Learning Management System Release 1 Customization Guide Chapter 1 Customizing the IBM Lotus Learning Management System User interface There are several ways you can tailor the IBM Lotus Learning Management System LMS interface to control the product s look and feel and the user s access to its features Depending on the nature of the changes you want to make customization can involve one or more of the following e Changing default settings that affect what the user can see and do You can do this either through the Administrator interface or by editing XML files e Editing properties template graphics and style sheet files e Editing the HTML files that constitute the Help system e Editing the application s JavaServer Pages JSPs changing the HTML content adding or removing custom tags or overriding the default settings of their attributes adding or changing functionality by including Java code or JavaScript adding or removing include statements inserting or changing forward statements or writing your own e Copying and renaming portions of the directory tree on the Learning Management Module serve
69. efined in sectionIndex css and a resource string users users title which is defined in ApplicationResources properties The subsequent rows of the table that appear as a bullet followed by a labeled link followed by some descriptive text each consist of two cells Cell A and Cell B Cell A contains a table consisting of a single row whose two cells contain the bullet graphic and a non breaking space respectively In the present example lt td width 1 valign top gt Chapter 8 Creating a tab 59 lt table cellpadding 0 cellspacing 0 border 0 gt lt tr gt lt td valign middle gt lt lms img src images bulletIndex gif width 9 height 8 altKey image alt select gt lt td gt lt td class idxTaskItem valign middle gt nbsp lt td gt lt tr gt lt table gt lt td gt Cell B contains a lt Ims link gt lt 1ms link gt block followed by a non breaking space followed by a resource string lt td width 100 valign middle class idxTaskPadding gt lt div class idxTaskPadding gt lt lms link styleClass idxTaskItem nav users rosterUsers tooltipKey users rosterUsers subtitle gt lt lms message key users rosterUsers subtitle gt lt l1ms link gt amp nbsp lt span class idxTaskDesc gt lt lms message key users rosterUsers description gt lt span gt lt div gt lt td gt The link tag which resides in web Imm WEB INF tld is defined as follows
70. elease 1 Customization Guide The lt name gt tag page names and resourced text The lt name gt tag specifies the string to be used in the resource file ApplicationResources properties when defining text elements displayed by a JSP By convention if a JSP is a link in a trail its name is qualified by the name of the JSP that invoked it So for example users is the name of the page from which the page named rosterUsers is invoked and users rosterUsers desc is the string that ApplicationResources properties defines as the page description for the rosterUsers page From the list below choose how you would like to roster users Learning Management System wasadmin Log Out Help Preferences About Home Student Catalog l Users Course Catalog Course Management Resources Reports Settings Roster Users Users Roster Users From the list below choose how you would like to roster users a Roster one or more users a Roster one or more groups a Roster users by importing them from a file a Configure automatic rostering using matching strings The lt target gt tag struts action mapping The lt target gt tag specifies the struts action mapping file for a JSP The value default do tells the application to use the LMS default action handler A JSP that involves server logic for example when the page contains a POST request needs to have a custom action mapping file associated with it
71. en you install and configure the application a number of XML files receive values that determine such things as where the application looks for Help files what the initial settings are for user preferences such as time zone language locale and whether to display hover Help the maximum number of entries to include in an LDAP search result set and so on You can change these initial settings by editing these files which reside in the classes directory The three XML files of most interest are settings xml ds settings xml and duc settings html The first of these controls settings on the LMM server the second controls settings on the Content Delivery server and the last applies to the Offline Learning Client Here is what the preferences settings section of settings xml looks like PreferenceSettings default user preference settings component gt lt preferences component com lotus elearn settings PreferenceSettings timezone EST language en locale en_US tooltips yes recordPerPage 10 calendarState viewMonth primaryCalendar gregorian secondaryCalendar gregorian datepickerCalendar gregorian firstDayOfWeek 1 gt lt l ds settings xml looks much the same as settings xml in this example There is no comparable entry in duc settings html because in this case the client gets its settings from settings xml In any case you can change the attribute values in these XML files by editing
72. enanenanes 8 Toassign a TOLE 10 a Useren neiise eie iiie E AE EEEE EE KESA RE EES 8 To automatically assign a role to a USer oo cesses ees eseseseseseseececsesesensseseesnscseseseseseseseeeteteseseeeeaes 8 Tocexplicitly assign atole to a Useisiin Giles a E e VG ih teh cne be EEEE EA EARE 8 Chapter 4 Customizing Help ccccccceeceeeee teen ee eeeeeee seen eens eeeeeeeeseeeeeneesneeseeeeeeseneeeeeeens 11 The Anatomy Of a Help topic sieiccscecccsssrstenssvonscssosovevessyevtesstenstonovenaceasveutetveveussensdsevengedvessecvaveoeseorgese 11 Editing an xisting Help topit iresi i 16 Replacing a context sensitive Help topic oo cece esesescscsesesssssessssssessscscsesesesesesessenesesesesenseee 16 Adding your own Hel p topic sosmrisnsmn niea n cuxetat abortus fesetet tees lundeonen deste tes ducoteleiben due 17 Chapter 5 Customizing JavaServer Pages ccccceeseeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeneeeeneneeeeeees 19 OVEQVIEW sich nth ou Aenean RA N E ee aah helenae 19 LMS JSP tae libraries ruanin ieie ieni Ae ia o E cugusstodonedks ss EAEE 20 The Anatomy ota JSP iriran a anane aaa RERE N EEAO TREER 23 Making clobal changes ssi roiuri erii ana an aie E AAE EER EAA RR 31 Applying Customization Sets iss iici aiaa a ia e ieaie 32 Changing the application Style ic cccsccsscsssssescesssessischensecvsoveseaesbsouesesevcncbantucvsovusetedbsobesesssroesedhedoseds 32 Updating page text aisinar seis evessveteaes EE A EEE EA EE E EA EE NAE 35
73. ent user has the permission or permissions specified in the tag s permissionName parameter If the user doesn t have the specified permission or permissions LMS does not display the contents of the block For example the rows containing the code to display the Users label and the Roster Users and Manage Users links are enclosed in a lt Ims permissionCheck gt lt Ims permissionCheck gt block that checks to see if the user has Roster_Users or Manage_Users permissions If the user has neither of these permissions LMS skips to the end of the block and does not display these rows If the user has either or both of these permissions LMS displays the Users label and then goes on to the code to display the Roster Users row which is itself enclosed ina lt Ims permissionCheck gt lt lms permissionCheck gt block that checks to see if the user has the Roster_Users permission LOTA START User Group gt lt lms permissionCheck permissionName Roster Users Manage Users gt lt tr gt lt td colspan 2 class idxTaskHeader gt lt span class idxTaskHeader gt lt lms message key users users title gt lt span gt lt td gt lt tr gt lt START Roster Users FHSS lt lms permissionCheck permissionName Roster Users gt lt lms permissionCheck gt lt The row containing the section label in this case Users consists of a style specification idxTaskHeader which is d
74. erride the defaults specified in settings xml 6 IBM Lotus Learning Management System Release 1 Customization Guide Chapter 3 Controlling access to features through permissions You can limit or expand users access to the application s features and functionality by setting the permissions that define the roles that you assign to those users These roles can either be ones that come prepackaged with the application Anonymous Student Administrator Instructor and Manager or ones that you create yourself The Course Administrator Help system and the System Administrator Guide explain how to create modify and assign roles to users There are two ways to assign a role to a user e You can assign a role automatically by matching string That is the role is automatically assigned to all the Learning Management System users who are identified in the LDAP directory by the matching string you specify The assignment automatically applies to current Learning Management System users and to new users when they are added to the Learning Management System database e You can assign one or more roles to existing the Learning Management System users interactively Both of these methods are described below When you assign multiple roles to a user the user enjoys the union of the privileges for those roles For example by default a user assigned the Student role doesn t have permission to run reports By default a user assigned the Instru
75. erver s file directory When Chapter 5 Customizing JavaServer Pages 19 a user makes a request or performs an action the server handles the action and then retrieves the appropriate JSP to display the response in HTML You can find documentation defining the JSP 1 2 specification on which the LMS JSPs are based at http java sun com products jsp The servers in the LMS application display their responses to requests differently The Learning Management System server displays its responses using either a popup JSP or a template JSP that provides additional formatting to the page called the adminTemplate jsp The Delivery server displays its responses using a framing JSP called delivery jsp To step through the source code for these pages see The Anatomy of a JSP LMS JSP tag libraries The servers that host the LMS application support custom JSP tags from multiple JSP tag libraries Each library has a tag library descriptor TLD file which is an XML formatted file that defines the attributes of the JSP tags in the library and the Java classes to call when each tag is encountered on a page The tag library descriptor files in the IBM Lotus LMS are named as follows IBM Lotus Learning Management System tag library descriptor files Tag Library Name Purpose Ims tld Executes the basic functionality of the LMS application Used by the JSPs in every component of the LMS application Struts bean tld Calls JavaBe
76. et the current locale for the user if needed This prompts the servlet to retrieve the locale from the requesting browser The value returned determines which language version resources to use for the rest of the session Localizing page content The next group of tags makes up the head HTML tag The META tag defines the character set to use for the HTTP response message header In the next line we see another JSP tag at work The message tag in the Ims tag library is programmed to retrieve the resource key specified in the key attribute from the properties resource file and display it on the page Since the content of the application title resource key in the ApplicationResource properties file for the LMM application contains the text IBM Lotus Learning Management System this is text that displays as the title on the adminTemplate page See Updating page text lt head gt lt META http equiv Content Type content text html charset UTF 8 gt lt title gt lt lms message key application title gt lt title gt Including standard JSP actions The next line of code is a standard JSP action called the getProperty tag This tag and any others that have a jsp prefix are standard JSP actions and are available for use in all JSPs See the JavaServer Pages 1 2 Specification downloadable from http www jcp org aboutJava communityprocess final jsr053 for more details The getProperty tag initializes a JavaBean which is
77. etfinity Office Vision OS 2 OS 390 OS 400 S 390 Tivoli WebSphere 1 2 3 cc Mail Domino Domino Designer Freelance Graphics iNotes Lotus Lotus Discovery Server Lotus Enterprise Integrator Lotus Mobile Notes Lotus Notes Lotus Organizer LotusScript Notes QuickPlace Sametime SmartSuite and Word Pro are trademarks or registered trademarks of International Business Machines Corporation in the United States other countries or both Crystal Reports is a registered trademark of Crystal Decisions Corporation in the United States other countries or both Pentium is a trademark of Intel Corporation in the United States other countries or both Java JavaServer Pages JavaBeans JavaScript J2EE JDBC Sun Enterprise and Sun Solaris are trademarks of Sun Microsystems Inc in the United States other countries or both JReport and JReport Designer are trademarks of Jinfonet Software Inc in the United States other countries or both Macromedia Pathware and Dreamweaver are registered trademarks of Macromedia Inc in the United States other countries or both Netscape and Netscape Navigator are registered trademarks of Netscape Communications Corporation in the United States and other countries Oracle is a registered trademark of Oracle Corporation in the United States other countries or both PKZIP is a registered trademark of PRWARE Inc in the United States other countries or both SmartForce is a trademark
78. frameset rows 33 border 0 frameborder no framespacing 0 gt lt frame name header title Help Header src ch_ help header h html scrolling no framespacing 0 frameborder no border 0 marginwidth 0 marginheight 0 noresize gt lt frameset cols 150 border 0 frameborder no framespacing 0 gt lt frame name navigation title Help Navigation src ch_ help navigation _1 html scrolling auto framespacing 0 frameborder No border 0 marginwidth 0 marginheight 0 noresize gt Chapter 8 Creating a tab 79 lt frame name content title Help Topic src ch_customtab_b html scrolling auto framespacing 0 frameborder no border 0 marginwidth 0 marginheight 0 noresize gt lt frameset gt lt frameset gt lt html customtab_b html lt html gt lt head gt lt META NAME Searchterms CONTENT custom tab gt lt META NAME topic CONTENT Greetings gt lt title gt Greetings lt title gt lt head gt lt BODY TEXT 000000 LINK 0066cc VLINK 666600 ALINK 993300 BGCOLOR ffffff BACKGROUND background_b gif MARGINHEIGHT 0 TOPMARGIN 0 MARGINWIDTH 25 LEFTMARGIN 25 gt lt H2 gt Salutations lt h2 gt lt p gt Come on you don t really need help on this do you lt p gt lt body gt lt html gt 80 IBM Lotus Learning Management System Release 1 Customization Guide F IBM Lotus Learning Management System Microsoft Internet Ex File Edk View Favortes Tools Hel
79. ge or browser specific to one CSS file set duplicate that change across all of the CSS file sets You can also remove CSS files for languages you do not intend to support Editing existing CSS files To edit a CSS file e Open the CSS file you want to change in a text editor then make and save your changes Any changes you make to an existing style are reflected in any JSP that references that style Before making changes be sure to know where the styles you are updating are used and that no JSPs will be disrupted by the changes Chapter 5 Customizing JavaServer Pages 33 Adding your own CSS files You can add your own CSS files for use in the application You can reference styles from custom files in addition to the styles included in the CSS files that come with the LMS application by default To add a CSS file 1 Copy your custom CSS file into the serverName gt css gt languageCode gt browserType directory If you are adding a CSS file to a customization set copy your custom CSS file into the serverName gt customSetName gt css gt languageCode gt browserType directory See Applying customization sets This directory also contains a general css file 2 Open the general css file in a text editor 3 Edit general css to include the following directive import url myStyles css where myStyle css is the name of the CSS file you are adding to the directory 4 Repeat this step for each CSS file you want to include
80. gly this example refers to the following strings that have been added to ApplicationResources properties some of which are referenced in the JSPs in navigation xml and in the code that populates the descriptions in the roles lists in the Administrator interface under Users gt Manage Roles gt some role Say Hello Display Hello message 82 IBM Lotus Learning Management System Release 1 Customization Guide HHT HHT HH customTab static text HEHEHE HH navigationTab customTab Greetings customTab customTab label Salutations customTab instructions Click under Ave atque Vale to display a greeting customTab tableSummary There are two hot links on this page that you can click to display a greeting customTab customTab title Ave atque Val customTab hello linktext Hello customTab hello subtitle Click here to display a Hello salutation CustomTab goodbye linktext Goodbye customTab goodbye subtitle Click here to display a Goodbye salutation customTab hello label Hello customTab hello title Ave customTab hello helloMessage Hi there customTab goodbye label Goodbye customTab goodbye title Val customTab goodbye goodbyeMessage Farewell HEHEHE HH customTab permission descriptions EHEHEHEH Custom Tab Access Greetings page Custom Tab name Custom Tab Say Hello name Say Hello Say Goodbye Display Goodbye message Say Goodbye name Say Goodbye
81. gt lt head gt lt html gt lt body class h page bg marginheight 0 marginwidth 0 gt lt Top Table gt lt table cellpadding 0 cellspacing 0 border 0 width 100 gt lt tr class logo bg gt lt td width 3 gt lt img src transparent gif width 3 height 1 alt border 0 gt lt td gt lt Lotus Brand gt lt td class logo text nowrap valign middle gt lt img src lvc helplotus gif width 50 height 33 alt Lotus border 0 gt lt td gt lt td class logo text nowrap valign middle gt amp nbsp Learning Management System Student Help lt br gt lt img src transparent gif width 137 height 1 alt border 0 gt lt td gt lt Gutter gt 12 IBM Lotus Learning Management System Release 1 Customization Guide lt td width 46 class logo textbg gt lt a href PageContent gt lt img src transparent gif width 2 height 20 alt skip to page content border 0 gt lt a gt lt img src transparent gif width 44 height 1 alt _border 0 gt lt td gt lt IBM logo gt lt td class mosaic bg width 100 align right gt lt img src lvc helpibm gif width 59 height 33 alt IBM logo border 0 gt lt td gt S E lt table gt lt body gt lt html gt The lt SCRIPT gt lt SCRIPT gt block tests for which browser you re using and points to the appropriate Cascading Style Sheet CSS in the Help directory to m
82. ign left However this option would change the definition of the class globally instead of changing it within the scope of a single JSP For more information on global style changes see Changing the application style Changing the functionality of an individual JSP You can change how an individual JavaServer Page functions by editing or removing its JSP tags Editing existing JSP tags You can change how a JavaServer Page functions by editing its JSP tags You can change the values set for a JSP s attributes remove non required attributes or add attributes that are attributed to the tag in the TLD file but are not included in the tag For example editing the attributes of the Ims button tag drastically changes the behavior of the resulting button on a JSP Depending on the attributes supplied the Ims button tag can navigate through the application submit forms or cancel form submission Likewise the attributes you supply with an lms hidden tag can determine whether you are setting or getting values from the JSP s associated form Bean Specifying the next page to display This code for a Continue button on the catalogCreateCourseConfirm JSP uses the nav attribute to define the next action to perform lt lms button captionKey button continue nav lt setFolderKey 3 gt tooltipKey button alt continue gt Once clicked this button launches the page defined in the setFolderKey variable on the current page
83. ing access to features 9 10 IBM Lotus Learning Management System Release 1 Customization Guide Chapter 4 Customizing Help Every Help topic consists of four files all of which are editable e The file that defines the layout of the graphical bar displayed at the top of every Help window Student and Course Administrator Help topics have slightly different headers e The file that defines the navigation bar containing a list of links at the left of every Help window e The file containing the topic content Topic content files are all named lt prefix gt _ lt topic gt _b html where lt prefix gt identifies the topic as being a Student or Course Administrator Help topic By convention the prefix sh_ identifies a Student Help topic ch_ identifies a Course Administrator Help topic e The map file that defines the frameset in which the header navigation bar and topic content are displayed Map files are all named lt prefix gt _ lt topic gt html where lt prefix gt _ lt topic gt matches the lt prefix gt _ lt topic gt of the corresponding content file All of these files reside in a single directory on a server Student and Course Administrator Help topics reside in separate subdirectories Depending on how you configure the application after installation there may be copies of the Help system on multiple servers Users of the Offline Learning Client download Student Help to their workstations If Help is installed on multiple servers
84. ion set copy it to the serverName gt customizationSetName gt images directory See Applying customization sets The altKey attribute of the Ims logo tag defines the text to display as alternate text for accessibility compliance The value for the key is the name of the properties file resource key to retrieve and display as the alternate text for the image The altKey attribute above contains image alt logo The English version ApplicationResources properties file for the Imm server contains the following resource key image alt logo IBM Lotus Learning Management System If you change the logo to display a custom company logo you may also want to change the image alt logo resource key in the properties file to contain a text string that is compatible with the change Delivery server The Delivery server includes the logo using the delivery logoURL tag The Java code triggered by this tag takes a parameter that defines the graphic file to use as the logo You can supply this parameter by editing the resource attribute of the logoURL tag The system jsp file includes the delivery logoURL tag as follows Chapter 5 Customizing JavaServer Pages 37 lt td width 93 class systemLogoPlacement valign top gt lt img src lt delivery logoURL resource images lmsBrandingLogo gif gt alt lt delivery message key ds application title gt width 209 height 22 gt lt td gt To replace the graphic used f
85. issions 3 Select the permission category in which the permissions are listed in this case Settings 4 Check the appropriate boxes and save your work 84 IBM Lotus Learning Management System Release 1 Customization Guide 3 IBM Lotus Learning Management System Microsoft Internet Explorer Fie Edt Wew Favorites Too Help a a ll anced aA OR Heak gt BD Gseach Favores Breda J Be GOI E mtp eoo0smmuserseatRoeotasdos oa Address heto widgeon 8060 Is Imm usersEditRcleDetals do Role Details Users Roles Role Details cancet save pone Role Name Administrator Description Administrators of learni Select the correct permissions for this role Settings z Permissions Description F Setongs Access Settings section Say Goodbye Display Goodbye message 4 Manage Notifications View and manage notification settings Custom Tab Access Greetings page Manage Servers View and manage delivery and collaboration servers aaaa a T Manage Settings View and manage all global settings Say Hello Display Hello message Manage Customizations View and manage customization settings Q I I Manage Announcements view and manage global announcements Indicates a required field To create a role and assign it to users 1 Open the Users page and click Manage Roles 2 Click Add Role 3 Enter the name of the new role for example Greetings
86. ize 20 name lt S cfNameS gt value lt customField getDefaultValue 3 gt gt lt logic present gt lt blank gt lt logic notPresent name customField property defaultValue gt lt input type text name lt S cfName gt size 20 value gt 42 IBM Lotus Learning Management System Release 1 Customization Guide lt logic notPresent gt lt logic notPresent gt lt logic equal gt This code which follows the check for drop down box field defines how to display the content of the drop down box field if present Displaying the content of the drop down box requires denoting which of the available options is selected If no option is selected displays the default value as the selected option lt gt lt select box gt lt S gt lt logic equal name customField property type value lt Integer toString CustomFieldConst TYPE DROP_DOWN gt gt lt select name lt cfName s gt id lt S customField getName gt gt lt iterate over the options gt lt logic iterate id optionValue name customField property optionValues type Java lang String gt lt if the entry has a value make it selected if null customField getVal if optionValue equals customField getVal S gt lt option value lt optionValueS gt selected gt lt optionValue gt lt option gt lt else S gt lt option
87. izing Help 13 lt SCRIPT gt lt head gt gt lt BODY TEXT 000000 LINK 0066cc VLINK 666600 ALINK 993300 CLASS nav bg TOPMARGIN 0 MARGINLEFT 10 gt lt table width 100 cellpadding 0 cellspacing 0 border 0 gt lt vertical spacing gt lt tr gt lt td colspan 2 gt lt img src transparent gif width 1 height 16 alt border 0 gt lt td gt lt tr gt lt tr gt lt td gt lt img src transparent gif width 10 height 1 alt border 0 gt lt td gt lt td width 100 gt lt a href sh_contents html class nav text ta lt tr gt lt ve lt tr gt lt td height 8 al lt tr gt lt border 0 gt lt lt rget _top gt Contents lt a gt lt td gt rtical spacing gt colspan 2 gt lt img src transparent gif width 1 1 TTT border 0 gt lt td gt lt tr gt td gt lt img src transparent gif width 1 height 1 alt td gt td gt lt a href sh index html class nav text target _top gt Index lt a gt lt td gt lt tr gt lt ve lt tr gt lt td height 8 al lt tr gt lt border 0 gt lt lt rtical spacing gt colspan 2 gt lt img src transparent gif width 1 border 0 gt lt td gt lt tr gt SOEN E td gt lt img src transparent gif width 1 height 1 alt td gt td gt lt a href sh glossary html class nav text target _top gt G
88. le or roles or by creating a role with these permissions and then assigning that role to users of your choice 1 Copy the JSPs The main page customTab jsp looks like this lt ole customTab jsp Copyright c 2003 IBM Corporation All rights reserved Created 03 15 02 Main index page for custom module Links to two custom jsps ole vV lt taglib uri WEB INF tld lms tld prefix 1Ims gt lt a START Index Content Area Chapter 8 Creating a tab 71 gt lt span class idxIntro gt lt lms message key CcustomTab instructions gt lt span gt lt br gt lt br gt lt table cellpadding 0 cellspacing 0 border 0 summary lt lms message key CustomTab tableSummary gt gt S gt lt lms permissionCheck permissionName Say Hello Say Goodbye gt SEPS lt td colspan 2 class idxTaskHeader gt lt span class idxTaskHeader gt lt lms message key CustomTab customTab title gt lt span gt lt td gt lt tr gt gt lt lms permissionCheck permissionName Say Hello gt lt tr gt lt td width 1 valign top gt lt table cellpadding 0 cellspacing 0 border 0 gt SEES lt td valign middle gt lt lms img src images bulletIndex gif width 9 height 8 altKey image alt select gt lt td gt lt td class idxTaskItem valign middle gt nbsp lt td gt lt tr gt lt table gt lt td gt lt td width 100 valign middle
89. lossary lt a gt lt td gt lt tr gt lt ve lt tr gt lt td height 8 al lt tr gt lt border 0 gt lt lt rtical spacing gt colspan 2 gt lt img src transparent gif width 1 TT TT border 0 gt lt td gt lt tr gt td gt lt img src transparent gif width 1 height 1 alt td gt td gt lt a href sh_ faq html class nav text target _top gt Frequently Asked Questions lt a gt lt td gt lt tr gt lt vertical spacing gt lt tr gt lt td colspan 2 gt lt img src transparent gif width 1 height 8 gt lt td gt lt tr gt 14 IBM Lotus Learning Management System Release 1 Customization Guide lt tr gt lt td gt lt img src transparent gif width 1 height 1 alt border 0 gt lt td gt lt td gt lt E EEEE ac AES tie VEE A T TE A TAE class nav text target _ gt Feedback on Help lt a gt lt td gt lt tr gt lt table gt lt body gt lt html gt You can change the navigation bar s display attributes by editing ns_style css or ie style css or both or by pointing to a different Cascading Style Sheet of your own devising Again if you edit the CSS files rather than point to one of your own these changes will ripple through the user interface You can alter the contents of the navigation bar by rearranging adding or removing rows in the lt table gt lt table gt block Finally the content file sh preferences _
90. mposition tools lt bodycontent gt Jsp lt bodycontent gt Jsp indicates that the body of the tag contains nested JSP syntax Page composition tools know how to handle Jsp syntax Some JSP tags have bodycontent tags that contain Empty This specifies that no text can display in this tag when it is executed Once the properties of the JSP tag are defined any attributes associated with the JSP tag are then defined before the closing JSP tag lt tag gt is reached Each attribute has a name tag and two more informational tags the required and rtexpvalue tags If the required tag is set to true any time you include the JSP tag in a page you must provide a value for this attribute for the tag to be evaluated properly The rtexpvalue tag indicates whether or not the value of the attribute may be dynamically calculated at request time as opposed to being a static value determined at translation time 7 The first attribute of the url tag named encodeURL is not required and its value cannot be dynamically calculated at request time This attribute takes a Boolean value that indicates whether or not to call the HTTPResponse encodeURL method to encode the URL included in the body of the tag into a browser readable format This attribute should be set to true for URLs that target other pages in the application since it encodes the URL with the session ID if necessary For browser clients that do not accept cookies
91. o e Reference a tag in a JSP e Define a tag in the TLD file 20 IBM Lotus Learning Management System Release 1 Customization Guide Referencing the url tag in a JSP The following code is excerpted from the catalogManageCurriculumEntry Manage jsp lt script language javascript gt function openUserSearchPopup var href lt lms url gt searchUserPopup do formName lt formName S gt lt 1lms url gt lt lms window href href title UserSearch width 600 height 700 scrollbars true resizable true gt lt script gt When called the openUserSearchPopup script opens a popup window and populates it with the searchUserPopup JSP which displays a standard search form The searchUser jsp file which is included in the searchUserPopup jsp file contains the following code String formName request getParameter formName This code sets a new variable called formName equal to the formName variable passed to it from the Ims url tag Essentially the Ims url tag is formatting the text in its body as a valid URL which is passed to the Ims window tag as the content of its href attribute The lms window tag does the work of opening a window and displaying the content referenced by the URL Defining the url tag in the TLD file The following XML formatted text is an excerpt from the Ims tld lt tag gt lt name gt url lt name gt lt tagclass gt com lotus elearn taglib UrlTag lt tagclass gt lt bod
92. of SkillSoft Corporation in the United States other countries or both SQL Server and Internet Explorer are trademarks of Microsoft Corporation in the United States other countries or both Windows Windows NT Active Directory and Outlook are registered trademarks of Microsoft Corporation in the United States other countries or both UNIX is a registered trademark of The Open Group in the United States and other countries Other product company and service names mentioned herein may be the trademarks registered trademarks or service marks of their marks of their respective owners Table of Contents Chapter 1 Customizing the IBM Lotus Learning Management System User Interface irienn neea dud ctdantaneeeceesuarguveaduls ate danas alewaauinanadeeuvacmeueales sausiacaptedaceauvcdeeds 1 A disclaimer and a word about conventions ce ec cseseeeeeeseseseeeeeseseseseseseseetecesesececsesesenesananananes 2 Acronyms and abbreviations ssiscicsceisccssiesess soseiacdessessct cheese chessvestuch ents ssanssvedbsetacsusseasaaskonecbssdveveasbentaes 2 Chapter 2 Changing settings through the user interface or XML 2 0 00ee 5 Chapter 3 Controlling access to features through permissions 2 0000 7 TiPiadd a role to Chessy Stems svessscveueeses soz staetersenes etesed soveret ES eotth aevevenesd Ea i a seais 7 To modify permissions settings for an existing Pole eee eeeeseseseteteeetetetecececsesenenes
93. or the logo on the Delivery server follow these steps 1 Add the graphic file by copying it to the serverName gt images directory If you are adding the logo graphic to a customization set copy it to the serverName gt customSetName gt images directory See Applying customization sets 2 Replace the resource attribute value with the name of the replacement graphic file For example if the logo graphic is called myCompanyLogo gif rewrite the logoURL tag to read lt delivery logoURL resource images myCompanyLogo gif gt To edit the alternate text for the logo image follow these steps 1 Add a text string to display as alternate text for the logo image to the appropriate properties files 2 Replace the value of the key attribute with the resource key for the text value you just added the properties files Changing individual JSPs You can make the following changes to individual JSPs e Changing a JSP s style e Altering a JSP s functionality Changing the style of an individual JSP You can change the style of an individual JSP by replacing the references to CSS styles on an HTML or JSP tag with either static HTML or with references to custom styles defined in a new or edited CSS file Replacing a reference to a CSS style In the adminTask jsp the following table cell element displays a Help icon that links to a context sensitive Help document lt td class hdrHelpiIcon gt lt a href
94. orm class to structure the result It also determines which JavaServer Page the response should be forwarded to for display in the browser The Struts config xml file contains action mappings that map the forwards returned by the actions to specific JavaServer Pages The Struts config xml file contains both global forwards and one or more additional forwards for specific actions You can find documentation defining the Struts architecture at http jakarta apache org Struts The view component of the MVC model is handled by JavaServer Pages in the Learning Management System The JavaServer Pages reside on each server hosting the application JavaServer Pages JSPs are pages comprised of standard HTML JavaScript Java scriptlets and JSP tags JSP tags are similar to HTML tags both define display characteristics for elements on a page However JSP tags differ in that they also serve as references to Java code Each JSP tag triggers the execution of a piece of Java code written and stored elsewhere in the application The attributes of a JSP tag serve as the parameters to pass to the Java class A JSP is served to a browser client from the server of the hosting application It works like this when a JSP based application is deployed the server pre compiles the JavaServer Pages into a servlet which executes any code triggered by the JSP tags on the page and dynamically generates the response page content These pre compiled JSPs are stored in the s
95. p ka Bak gt O A A Aerch GyFavorkes Beda A B GSI a Address http widgeon 8080 1s mmjdef aut domav Greetings gt C Learning Management System wasadmin Log Out Help Preferences About Greetings Home Student Catalog Users Course Catalog Course Management Resources Reports Settings Salutations G Click under Ave atque Vale to display a greeting Ave atque Vale a Hello Click here to display a Hello salutation a Goodbye Click here to display Goodbye salutation FJ IBM Lotus Learning Management System Administrator Help Microsoft internet Explorer i Fie Edt View Favorites Tools Help cok gt DA DB seach Cajravortes Meda G Aaa 8 Address a http widgeon 8080 help en courseadminfch_customtab hemi gt ao Learning Management System Administrator Help oe i y Salutations Contents Index Come on you don t really need help on this do you Glossary Frequently Asked Questions Feedback on Help 4 f See Chapter 4 Customizing Help for instructions on how to create custom Help topics 3 Add permissions to the LMS database A user needs permission to display the tabbed page and its two links As in the case of Help you could use existing permissions making the appropriate changes in customTab jsp s lt Ims permissionCheck gt lt lms permissionCheck gt blocks and in navigation xml s lt permissions gt tag but custom permission
96. ply to all the JSPs on a given server in the following areas e Application style e Page text Chapter 5 Customizing JavaServer Pages 31 e Images Applying customization sets When you create a customization set you create a new branch in the application directory to house the files that contain alternative resources for the application including graphics style sheets and properties files For details see Creating customization sets This chapter which describes customizing JSPs defines how to add and edit graphics properties and CSS files In the procedures that follow steps are provided for adding and editing files in the standard directory If you are adding or editing files in a customization set complete the following steps in addition to those defined in the subsequent topics 1 From the Settings module of the Administrator interface click Manage Customization Sets 2 From the list of customization sets select the set you are editing and click the Edit button The Edit Customization Set window displays 3 Select one of the following checkboxes e Use CSS Overrides the default CSS files with the CSS files in the customization set subdirectory e Use text Overrides the default properties files with the properties files in the customization set subdirectory e Use custom images Overrides the default image files with the image files in the customization set subdirectory 4 Click the Save button at
97. r LMMS and Delivery server DS and editing the copied files to create a new interface The aggregation of such copied and edited files together with the information necessary to locate the files and identify the set of users to whom they apply is known as a customization set e Creating custom reports This process is described in the Administrator s Guide e Writing directly to the LMS database This document describes the aspects of the Student interface that you can customize without having to write directly to the LMS database or program in Java The LMS database schema is described in the Administrator s Guide Note If you are upgrading to the LMS from a version of LearningSpace that you have customized changes that you made to the LearningSpace interface will be lost because the implementations of the two applications are radically different Changes that you make in the LMS interface may be lost when you upgrade to subsequent versions of the product or reinstall the current version It is therefore advisable to save backup copies of all files that you customize The user interface consists of a number of JSPs whose visual attributes you can modify These visual attributes include the following e static text e colors and fonts e graphical images e background colors e frame dimensions Chapter 1 Customizing the user interface 1 Static text is resourced in properties and txt files in the properties and in the c
98. r 5 Customizing JavaServer Pages You can customize the Learning Management System application by customizing its JavaServer Pages This chapter contains the following information Overview e LMSJSP tag libraries e The Anatomy of a JSP Making global changes e Applying customization sets e Changing application style e Updating page text e Replacing graphics Changing individual JSPs e Changing a JSP s style e Altering a JSP s functionality Overview The architecture of the Learning Management System application is based on Struts 1 1 beta 2 which is part of The Jakarta Project sponsored by Apache Software Foundation The Struts architecture helps to separate logic from presentation in a JavaServer Page application using the MVC Model View Controller design pattern In this design pattern the Model component represents the business logic of the application the View represents the display mechanism and the Controller passes control from the request to the model and from the model to the view In the Learning Management System application a user request triggers the initialization of a controller servlet that parses a configuration file The configuration file named Struts config xml maps the request to the appropriate action class to handle it Action classes on the Learning Management System server have a do extension and those on the Delivery server have a ds extension Once the handler performs the action it calls a f
99. rameborder yes border 4 framespacing 4 gt lt frame name system src lt delivery action gt system lt delivery action gt marginwidth 0 marginheight 0 scrolling no noresize gt lt frameset cols 199 frameborder yes border 4 framespacing 4 gt lt frameset rows 187 frameborder yes border 4 framespacing 4 gt lt frame name courseTree src lt delivery action gt courseTree lt delivery action gt marginwidth 0 marginheight 0 scrolling auto gt lt frame name CcourseTools src lt delivery action gt courseTools lt delivery action gt marginwidth 0 marginheight 0 scrolling auto gt lt frameset gt lt frame name activity src lt delivery action gt activity lt delivery action gt marginwidth 0 marginheight 0 scrolling no gt lt frameset gt lt frameset gt lt html gt The activity jsp contains a frameset for the activityTools jsp and page content The source code for the activity jsp follows lt 3 page language java contentType text html charset UTF 8 gt lt taglib uri WEB INF tld delivery tld prefix delivery gt lt taglib uri WEB INF tld delivery js tld prefix js gt lt html gt lt head gt lt meta http equiv Content Type content text html charset UTF 8 gt lt js doReloadFrame gt lt js frame name activityTools gt lt delivery action gt activityTools lt delivery action gt lt js frame gt
100. red and can be dynamically calculated at request time By including this attribute in a url tag and setting it equal to a string you are creating a PageContext variable named with the string you supply lt attribute gt lt name gt id lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt The end of the url tag is indicated by a closing tag tag that follows the last attribute s closing tag lt tag gt The Anatomy of a JSP This section defines the JSPs that structure the display of the content of the Learning Management System and Delivery servers Learning Management System server The JSPs that reside on the Learning Management System server are displayed in two ways They either display as popups which have little or no header and navigation information or they display in the adminContentPage section of the adminTemplate jsp which functions as a template that formats the page content Stepping through the source code of the adminTemplate JSP illustrates how to perform standard JSP tasks such as e Defining a page as a JSP e Including tag library descriptor files e Referencing Struts tags and standard JSP actions e Including JavaScript source code Looking at the adminTemplate jsp source code also illustrates how the following tasks are handled by the Learning Management System server in particular e Localizing page text e Determining the user s browser type and
101. rses The Resources module has search pages for Locations Rooms Vendors and Instructors You can add and remove search criteria from User and Offering Catalog search pages You can remove criteria from Course and Resources search pages Customizing user searches Information about rostered users is contained in an LDAP directory used by the Learning Management System The User Search page allows you to search for people by using attributes that are typically found in an LDAP directory as well as some attributes that are specific to the Learning Management System Adding LDAP attributes to User Search pages The default LDAP attributes supported are First Name Last Name Common Name User ID E mail Address Department Number and Organization To add support for other attributes including attributes custom to your LDAP directory follow these steps 1 Modify the lt ldap gt section of the LMS settings xml file to e Add an entry in the lt ldap gt lt users gt lt attributes gt subsection for each attribute you want to include if it is not there already This subsection is already populated with a number of attributes that aren t shown on the User Search page BusinessCategory City Employee Number Employee Type and so on For example to add the attribute HealthPlanChoice the attribute line would look like this lt attribute name HealthPlanChoice type java lang String gt e Make sure a mapping exists for the
102. rst Name Last Name Common Name User ID PoE E mail Address Department Number Organization moo Role Profile Any y Any be Manager E Removing fields from User Search pages If you want to remove one of the default fields provided on the User Search pages edit searchUser jsp to delete the corresponding code and text 46 IBM Lotus Learning Management System Release 1 Customization Guide Customizing Offerings Catalog searches The Learning Management System allows you to create a pool of custom fields that can be applied to course offerings to add more details Adding custom fields to the Offerings Catalog The custom field editor appears when you click Edit at the bottom of a Course Details page Although you add a field in the context of a single Course Offering custom fields are available to anyone who creates a Course Offering If you designate a custom field as searchable it appears in the Advanced Search page which is launched from the Offerings Search page The picture below shows the Offerings search page with a searchable custom field named Dress Code Browse Offerings Catalog Browse the Offerings Catalog to find entries Keywords Course Number Title Language Description Type Can Be Scheduled Delivery Medium Dress Code Any x I Search from current folder Removing fields from Offerings Search pages If you don t want to show all the fields provided on the Offerings Search page edit
103. s ch_ instead of sh_ and the subdirectory in which you store the files 1 Create a map file like the one described above in Anatomy of a Help topic sh_preferences html For example you might create a file named sh_my_topic html to which the corresponding content file will be named sh_my_topic_b html lt html gt lt head gt lt title gt IBM Lotus Learning Management System Student Help lt title gt lt head gt lt frameset rows 33 border 0 frameborder no framespacing 0 gt lt frame name header title Help Header src sh_ help header h html scrolling no framespacing 0 frameborder no border 0 marginwidth 0 marginheight 0 noresize gt lt frameset cols 150 border 0 frameborder no framespacing 0 gt lt frame name navigation title Help Navigation src sh_ help navigation _1 html scrolling auto framespacing 0 frameborder No border 0 marginwidth 0 marginheight 0 noresize gt lt frame name content title Help Topic src sh_my topic_b html scrolling auto framespacing 0 frameborder no border 0 marginwidth 0 marginheight 0 noresize gt lt frameset gt lt frameset gt lt html gt 2 Create the content file sh_my_topic_b html Since you ll need to enter Index entries by hand if you want the topic to be available through the Index you don t need to include lt META gt tags lt HTML gt lt HEAD gt Chapter 4 Customizing Help 17 Fl v lt TITL
104. s for the LMM this will affect only one JSP aboutLMM jsp However if you change the text of say the button cancel property in the ApplicationResources properties for the LMM this change will be realized in all the LMM JSPs that have a Cancel button Examples in this document remark on this distinction only where it might not be obvious As mentioned previously the application s CSS files are browser specific one set being for use with Internet Explorer and another for use with Netscape These two sets of style sheets do not differ significantly from each other they differ in their details Rather than show changes for both style sheets the examples in this document refer to the style sheets for Internet Explorer with the understanding that the examples could with minor adjustments apply equally well to the style sheets for Netscape Note When you edit a CSS file your changes should appear in the interface the next time the user logs on If not emptying the user s browser s cache should remedy the situation When you edit a properties file however you need to stop and restart the Web Publishing Service for your changes to take effect The reason for this difference is that CSS files are processed immediately by the client while properties files are processed by Java code on the server Acronyms and abbreviations The following table contains a list of possible unfamiliar acronyms and abbreviations used in this document or
105. s give you more precise control over access See Adding custom permissions earlier in this chapter for more information about permissions To add permissions to the database first ascertain the currently highest value for the PERM_ID field in the PERMISSION table You can do this by executing the following SQL query SELECT MAX PERM ID FROM PERMISSION At this writing the highest PERM_ID is 420 Execute the following SQL statements to add the custom permissions that this example uses Chapter 8 Creating a tab 81 EGO EGO EGO RY RY _Hello Display Hello RY INSERT INTO PERMISSION OID PERM ID NAME DESCRIPTION CAT STATUS VALUES 000000000042100PERM 421 Custom_Tab Access Greetings page 7 A INSERT INTO PERMISSION OID PERM ID NAME DESCRIPTION CAT STATUS VALUES 000000000042200PERM 422 Say mesage 7 A INSERT INTO PERMISSION OID PERM ID NAME DESCRIPTION CAT STATUS VALUES 000000000042300PERM 423 Say Goodbye Display Goodbye message 7 A 4 Edit ApplicationResources properties For a variety of reasons you should resource the text that your JSPs will display rather than including that text as hard wired HTML into those files This takes a little more work but it s good practice Accordin
106. s tab is users jsp which resides in the classes resources Imm directory The file consists of the following sections 1 Copyright and brief description 2 Identification of the tag library that the file will use lt taglib uri WEB INF tld lms tld prefix I1ms gt ri 3 User instructions lt span class idxIntro gt lt lms message key users instructions gt lt span gt 4 A table lt table cellpadding 0 cellspacing 0 border 0 summary lt lms message key users tableSummary gt gt lt table gt The resource that defines the user instructions resides in classes resources Imm properties ApplicationResources properties users instructions Add users to the Learning Management System and assign roles and profiles to each user The style that defines the font size in which the user instructions string is displayed resides in lmm css en styInternetExplorer5 or styNetscape6 sectionIndex css The table which takes up the bulk of the file consists of three major sections each of which consists of three table rows enclosed in a lt lms permissionCheck gt lt lms permissionCheck gt 58 IBM Lotus Learning Management System Release 1 Customization Guide block The table s summary attribute refers to a resourced string that text to speech software can read summarizing the contents of the table The permissionCheck tag encapsulates Java code that looks to see if the curr
107. save your work Replacing a context sensitive Help topic You can replace a context sensitive Help topic by linking to a different topic which can be either another topic in the existing Help system or one that you write yourself The mechanism for replacing the link varies depending on whether the associated JSP is a pop up or not For a pop up edit the jsp param name helpPage attribute in the JSP For example if you want to change the link for context sensitive Help for the Preferences dialog box change sh_preferences html to some other HTML file in the directory identified by the relative path student in preferences jsp lt preference jsp Description Allows users to modify their preferences or lt taglib uri WEB INF tld Struts html tld prefix html gt lt taglib uri WEB INF tld lms tld prefix l1ms gt lt jsp include page popupHeader jsp flush true gt lt jsp param name messageKey value toolbar preferences gt lt jsp param name header value toolbar preferences gt lt jsp param name helpPage value student sh_preferences html gt lt jsp include gt lt lms form action prefSubmit do gt lt o For JSPs that aren t pop ups edit the lt helpPage gt attribute of the description of the JSP in Navigation xml For example you might replace the context sensitive help topic for the Student Home page sh_usinghome html with some other HTML file in the directory identifie
108. server e Delivery Server Resource Directory the name of the directory in which the customization set s property files reside on the Delivery server s If you wanted the characteristics of SalesCS to propagate to the Delivery server s you can simply copy relevant portions of the LMM directory tree to the appropriate Chapter 7 Customization sets 51 locations in the Delivery server directory tree In that case the resource directory would again be named SalesCS e Delivery Server Web Directory the name of the directory in which the customization set s JSPs images CSS and depending on your configuration Help files reside in this case SalesCS on the Delivery server s e Matching Sting Type the type of LDAP entity user group or attribute identified by the matching string you enter below For testing purposes you might choose Name and in the Matching String edit control enter a matching string that uniquely identifies you Once satisfied that the customization set behaves the way you want you can revisit the Matching String Type and Matching String edit controls and enter the appropriate values to assign the customization set to the intended users In the present example you would select Attribute as the string type and enter Sales as the matching string e Matching String a string that identifies the LDAP users to whom the customization set is to be assigned The following table gives some examples of matching
109. t label gt lt title gt users rosterUsers lt title gt lt ftrail gt lt trail gt lt trail gt etc lt module gt Schematically the complete lt module gt lt module gt block has the following structure lt module gt users the page displayed when you click the Users tab lt trail gt rosterUsers the page displayed when you click Roster Users on the Users main page lt trail gt search the page displayed when you click Roster one or more users on the Roster Users page lt trail gt confirm lt trail gt the confirmation box displayed when Chapter 8 Creating a tab 63 the user clicks Continue in the User search page and rostering has been successful lt trail gt fail lt trail gt the message box displayed when the user clicks Continue in the User search page and rostering has been unsuccessful lt trail gt group search roster from file auto roster trails lt trail gt lt trail gt ManageRoles etc lt trail gt lt trail gt ManageProfiles etc lt trail gt lt trail gt ManageUsers etc lt trail gt lt module gt The lt module gt lt trail gt and lt step gt tags main pages and linked pages A lt module gt lt module gt block consists of the definition of the tabbed page followed by one or more lt trail gt lt trail gt blocks which themselves may contain lt trail gt lt trail gt or lt step gt lt step gt blocks A lt trail gt lt trail gt
110. t lt js fra me gt lt js frame name courseTools gt lt delivery action gt courseTools lt delivery action gt lt js f rame gt lt js frame name activity gt lt delivery action gt activity lt delivery action gt lt js frame gt lt js doReloadFrame gt Displaying errors to the user The next chunk of code uses the define tag of the Struts bean tag library to retrieve the context parameter of the delivery_context JavaBean The code inside the script opening and closing tags is JavaScript code that defines the load function which reports any errors generated by the context parameter If errors are encountered the code displays the errors in an alert box on the page lt bean define id context name delivery context scope request type com lotus elearn delivery DeliveryContext gt lt script language Javascript gt var mainDeliveryServerFrame true var contentWindow null var API null function load lt if context getErrorMessageKey null gt alert lt delivery errorMessag key lt S context getErrorMessageKey gt filter false gt lt gt API window frames system document applets api adapter lt script gt lt head gt Chapter 5 Customizing JavaServer Pages 29 Defining resizable frames The final chunk of code defines the sizes of the resizable frames on the page lt frameset onload load rows 44 f
111. t jsp include page lt pageContext getAttribute contentPage gt flush true gt lt logic notPresent gt lt logic present name invalidForm gt lt jsp include page invalidForm jsp flush true gt lt logic present gt Again the taglib directives are used to include the Ims and Struts tag libraries Then the navUtil tag of the Ims library is called This tag looks at the page specified as the current page by the navigationControllerBean Using the property attribute of the navUtil tag it then requests the value of the contentPage property of the Bean Since the id attribute of the navUtil tag is also Chapter 5 Customizing JavaServer Pages 27 specified with a value of contentPage the returned value is stored in a pageContext object variable that can be referenced later in the page as a variable called contentPage If no value is returned by the navigationControllerBean the invalidForm jsp page displays Otherwise the appropriate page for the current navigation mode in the application displays The JSP include action determines which page to display by retrieving the contentPage attribute of the pageContext object variable which was just set by the Ims navUtil tag Delivery server The Delivery server has a framing JSP named delivery jsp This page contains resizable frames made up of the systemjsp courseTree jsp courseTools jsp and activity jsp files Each JSP has a corresponding framelID
112. tching string and letting the application assign the users identified by that string the role you specify To automatically assign a role to a user 1 2 3 4 6 Open the Administrator interface Click the Users tab Click Manage Automatic Assignments The application displays a list of existing roles Click the role that you want the application to automatically assign to users in the LDAP directory Click Add Automatic Assignment select a match type Name Attribute or Group and enter the matching string to be used in identifying users in the LDAP directory to whom you want to assign the selected role Click Add To explicitly assign a role to a user 1 2 3 4 g Open the Administrator interface Click the Users tab Click Manage Users The application displays the user search dialog box Enter the search criteria that identify the users to whom you want to assign a role and then click Search Select the users you want from the result set by checking the box next to their names Click Add Selected 8 IBM Lotus Learning Management System Release 1 Customization Guide Click Continue The application displays a dialog box from which you can assign roles by clicking Assign Roles When you click Assign Roles the application displays a list of the roles defined in the system Select one or more of these to assign to the selected user s Click Save to complete the role assignment s Chapter 3 Controll
113. tegories listed in the drop down box on the Role Details page status Typically records are Active However if you execute a SQL DELETE statement against the PERMISSION table the records identified by the specified search criteria are not actually be deleted but rather marked as Deleted and still remain in the database updatetime When a record in the PERMISSION table is changed the LMS writes the date and time that the change occurred to the database The following table contains sample records from the PERMISSION table 68 IBM Lotus Learning Management System Release 1 Customization Guide Sample PERMISSION records OID 0000000000000000PERM PERM ID 0 NAME Home_Module DESCRIPTION Permission to see Home module CATEGORY 0 STATUS A UPDATETIME OID 0000000000000100PERM PERM ID 1 NAME Home_Weeks Activities DESCRIPTION View this week s activities CATEGORY 0 STATUS A UPDATETIME OID 0000000000002700PERM PERM ID 27 NAME User_Management DESCRIPTION Access User Management section CATEGORY 3 STATUS A UPDATETIME OID 0000000000002800PERM PERM ID 28 NAME Roster_Users DESCRIPTION Permission to add or delete users CATEGORY 3 STATUS A UPDATETIME OID 0000000000003000PERM PERM ID 30 NAME Manage Roles DESCRIPTION Permission to create and modify roles CATEGORY 3 STATUS A UPDATETIME OID 00
114. terUsers import confirm lt label gt lt title gt users rosterUsers lt title gt lt breadCrumbsInvisible gt yes lt breadCrumbsInvisible gt lt trail gt enn Log Out Help Braferences ana j au as course amet ase a a Roster Users You have successfully rostered the selected users 66 IBM Lotus Learning Management System Release 1 Customization Guide The lt title gt tag title bar text The lt title gt tag tag specifies the string in ApplicationResources properties whose definition is displayed in the JSP s title bar The lt permissions gt tag permission to display the page The lt permissions gt tag specifies the name of the permission as it appears in the PERMISSION table in the LMS database that a user needs to have been granted in order to display the JSP Permissions and how to create them are described in Adding custom permissions The lt helpPage gt tag context sensitive Help The lt helpPage gt tag specifies the Help page to be displayed when the user clicks the icon to invoke context sensitive Help for the JSP The contents of the tag consist of the relative path to Student or Course Administrator Help student or courseadmin followed by the file name See Customizing Help for more information on the Help system and how you can customize it Adding custom permissions The LMS user roles you are assigned determine the elements of the user interface you can access
115. the bottom of the dialog box Changing the application style The default global styles of the JSPs that make up the LMS application their background colors and font styles for example are defined by a set of cascading style sheets CSS files To change the global style of the application you can edit the existing CSS files or add your own to the application To change the style of a single JSP see Changing the style of an individual JSP Note Most of the existing pages in the LMS application contain HTML and custom JSP tags with class or id attributes that correspond to styles in existing CSS files If you delete a class or id from an existing CSS file you must remove the references to it from each JavaServer Page that uses it For example the table cell element tag lt td class formBoxBg width 15 gt which displays in the adminTemplate jsp is an HTML tag that calls the formBoxBg class defined in the general css file to set the table cell background color If you delete the formBoxBg class from the general css file or delete the general css file and do not provide a replacement definition or file this will result in unpredictable formatting for any elements referencing that class on the page Each server has a separate set of CSS files for the application it hosts The Learning Management System server Delivery server and Offline Learning Client server each have their own set of CSS files These are broken down into e Langu
116. the correct place on the page lt lms label for customFields gt lt lms message key Catalog attrib course customFields gt lt lms label gt It then includes an Ims button tag This tag displays a button on the page The captionKey attribute defines the text to display as a label on the button by retrieving the button edit resource Chapter 5 Customizing JavaServer Pages 41 key from the appropriate properties file Similarly the tooltipKey attribute defines the resource key to retrieve for display in the window status bar when the button is moused over to define the action the button performs The href attribute defines the action to perform when the button is clicked This href calls the customFieldsPopup function which is Javascript code that is defined in the page header Setting the secondary attribute to true diminishes the visibility of the button by changing it to a duller color lt lms button captionKey button edit tooltipKey button alt manageCustomProperties href jJavascript customFieldsPopup secondary true gt The last section of code displays a list of any existing custom fields stored in the application This piece of code iterates over the customField objects in the CustomFieldHelper class which accesses the previously created custom fields lt logic iterate id customField name lt formName 3 gt property customFields type com lotus elearn model CustomFieldHelper gt
117. the directories listed in the table below The files listed are English version files so there are no language codes attached to the file names IBM Lotus Learning Management System application properties files Server Name Directory English Language properties Files Learning WEB ApplicationErrors properties Management System INF gt classes gt resources gt lmm gt properties ApplicationResources properties Delivery WEB ApplicationErrors properties INF gt classes gt resources gt ds gt properties ApplicationResources properties Offline Learning WEB ApplicationErrors properties Client INF gt classes gt resources gt duc gt properties ApplicationResources properties Chapter 5 Customizing JavaServer Pages 35 A number of the tags in the Ims custom tag library such as the button or img tags contain attributes that reference properties file entries to supply language specific text on the page One tag the message tag is specifically designed to retrieve properties file entries For example the title of the adminTemplate jsp is supplied using the message tag Instead of defining its title as lt title gt IBM Lotus Learning Management System lt title gt the adminTemplate jsp specifies the content of the HTML title tag as follows lt title gt lt lms message key application title gt lt title gt lt Ims message gt contains the backend code that looks up the string value to display on the page
118. they define is applicable These alternative sets of files and the information concerning their location and use are called customization sets The advantage of customization sets is that you can tailor the application s look and feel and functionality for different sets of users rather than having to make global changes that affect all users For example you might want to create customization sets for different users based on their membership in one or the other of two different LDAP groups providing one user interface and feature set for say users belonging to the Sales group and another for users in the Development group A customization set can include custom versions of any or all of the following e The branding logo This is the graphic that the application displays in the upper left corner of each page e Images These GIF files include icons buttons bullets and the like which you can edit or replace e Help See Customizing Help for a description of the Help system how it works and how you can customize it e Cascading Style Sheets CSSs These control such display attributes as color and font e JavaServer Pages JSPs See Customizing JavaServer Pages for a description of the various ways in which you can customize the application s JSPs e E mail and notification templates These files contain the resourced static text that appears in e mail and other messages in the application e Properties files
119. this depends on the sort of content you want the page to have At a minimum you need to do the following 1 Create a JavaServer Page with the content you want to display when the user selects the tab 2 Adda permission to the PERMISSION database table to control access to the page See Adding custom Permissions 3 Add the permission description to ApplicationResources properties and appropriate language versions if you plan to localize the application 4 Edit the definition of those roles to which you want to assign permission to access the page 5 Edit navigation xml to include a definition of the page and any JSPs to which the page provides links The following additional steps which are beyond the scope of this document are involved if the JSP contains server logic 6 Create an action class to handle user input to the JSP 7 Edit struts_config xml to add action mapping for the JSP A look at what s involved in displaying one of the standard tabbed pages the Users page should give you an idea of how you might create a custom tab and allow users to access it The Users page The Users page looks like this Learning Management System wasadmin Log Out Help Preferences About f Home Student Catalog Users Course Catalog Course Management Resources Reports Settings Manage Users 7 Add users to the Learning Management System and assign roles and profiles to each user Users
120. title of the page is located in the DeliveryResources properties file in the WEB INF gt classes gt resources gt ds gt properties directory which contains the following resource key ds application title IBM Lotus Learning Management System Note that the message tag that is being used to define the key to retrieve from the properties file is using the delivery prefix This indicates that the message tag resides in the delivery tld file lt html gt lt head gt lt meta http equiv Content Type content text html charset UTF 8 gt lt title gt lt delivery message key ds application title gt lt title gt 28 IBM Lotus Learning Management System Release 1 Customization Guide Including JavaScript source code The next piece of code includes the JavaScript code from the ds gt js gt delivery js file in the page so that the functions in the code can be called from the current page lt script language JavaScript src js delivery js gt lt script gt Populating a frameset in a JSP The next chunk of code uses the doReloadFrame frame and action tags from the delivery js tld file to create a JavaScript function that correctly reloads the specified frame when an action occurs in another frame lt js doReloadFrame gt lt js frame name system gt lt delivery action gt system lt delivery action gt lt js frame gt lt js frame name courseTree gt lt delivery action gt courseTree lt delivery action g
121. tring or change the matching string that identifies the users to whom you want to automatically assign the role That being said the following sections are a reminder for how to add a role to the system change the permissions for an existing role and assign a role to a user To add a role to the system 1 Open the Administrator interface 2 Click the Users tab 3 Click Manage Roles 4 Click Add Role Chapter 3 Controlling access to features 7 Enter the name of the new role and a description and then click Save This adds the role to the role list Click the name of the new role in the list This displays the Role Details page Check the permissions you want to grant to users assigned this role in the various categories you can select from the category drop down box To modify permissions settings for an existing role ao fF SP NP Open the Administrator interface Click the Users tab Click Manage Roles Click the name of the role whose permissions you want to reset Check the permissions you want to grant to users assigned this role in the various categories you can select from the category drop down box To assign a role to a user As mentioned previously there are two ways to assign roles to users explicitly or automatically The first method involves searching for users in the system selecting the ones to whom you want to assign a role and assigning them that role The latter method involves specifying a ma
122. try ey font family Verdana Arial Sans Serif font size xx small 34 IBM Lotus Learning Management System Release 1 Customization Guide To increase the default font size change the font size value from xx small to small or medium To change the font style replace the values in the font family setting with the fonts you want the application to use Several of the classes in the CSS specify specific font sizes and styles that you have to change individually These include the SPAN hdrGeneral DIV hdrMainItem001 TD hdrFolderDetails and many other classes If you want to change the font size of an item that has a class style assigned to it search the CSS files for the class name to see if a specific font size has been assigned to that item and change it in the class definition of the CSS file Updating page text The power of a JSP lies in its ability to supply dynamic content The LMS application takes advantage of this ability by resourcing much of the text on the pages of the application in properties files which are files named with a properties extension Instead of placing static text in the source HTML for the page you can reference a resource key in a properties file that contains the translated value You can then set up the application to retrieve different properties files based on the locale of the browser or user preferences This way you can cater the text to specific user types Storing text strings in
123. ycontent gt Jsp lt bodycontent gt lt attribute gt lt name gt encodeURL lt name gt lt required gt false lt required gt lt rtexprvalue gt false lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt useCustomDsPath lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt useCustomLmmPath lt name gt lt required gt false lt required gt lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt attribute gt lt name gt id lt name gt lt required gt false lt required gt Chapter 5 Customizing JavaServer Pages 21 lt rtexprvalue gt true lt rtexprvalue gt lt attribute gt lt tag gt The tag name is defined in the lt name gt tag lt name gt url lt name gt The next line identifies the location of the Java source code to execute when this url tag is encountered on a JSP lt tagclass gt com lotus elearn taglib UrlTag lt tagclass gt The source code for all of the Java classes specified in the LMS custom TLD files is stored in the following directory serverName gt WEB INF gt classes gt com gt lotus gt elearn gt taglib The url tag source is no exception the UrlTag java file is stored in the lmm gt WEB INF gt classes gt com gt lotus gt elearn gt taglib directory The bodycontent tag provides information on the content of the body of the JSP tag and is intended for use by page co
Download Pdf Manuals
Related Search
Related Contents
Echo ELMO HV-110XG User's Manual Philips DVD+R DR8S8J05C Moto E User Guide Bedienungsanleitung - Bea-fon T30-LSE - RBH Sound - TRT da 3ª Região NCLV-D2 Series specifications summary INTRO (1) NetBSD General Commands Manual INTRO (1 Blodgett DFG-50 User's Manual Copyright © All rights reserved.
Failed to retrieve file