IBM Connections 4: Administer Forums, Home Page, Metrics, Profiles, Wikis
- Administer Forums
- Run Forums administrative commands
- Change Forums configuration property values
- Retrieve forum content
- Rectifying the count of forums and forum topics
- Moderate forums
- Manage forum trash
- Manage Forums scheduled tasks
- Manage file attachments in Forums
- Enable forum topic posting in different deployments
- Restrict forum topic editing to creators
- Administer the Home page
- Administer Metrics
- Administer Profiles
- Run Profiles administrative commands
- Change Profiles configuration property values
- Tivoli Directory Integrator commands
- Add supplemental content to Profiles
- Developing custom Tivoli Directory Integrator assembly lines for Profiles
- Manage profile content
- Configure features by profile type
- Configure the recent updates feature by profile type
- Configure the following feature by profile type
- Configure the networking feature by profile type
- Configure the profile photo feature by profile type
- Configure the pronunciation feature by profile type
- Configure the reporting structure feature by profile type
- Configure the status update feature by profile type
- Configure the tagging feature by profile type
- Configure widgets in Profiles
- Configure Profiles events
- Manage Profiles scheduled tasks
- Administer cache
- Manage the Profiles search operation
- Monitor statistics and metrics for Profiles
- Configure the vCard export application for Profiles
- Making photos cachable in secure environments
- Enable the use of pronunciation files in an HTTPS environment
- Manage the Profiles event log
- Configure advanced settings in Profiles
- Administer Wikis
- Change Wikis configuration property values
- Run Wikis administrative commands
- Back up Wikis data
- Restrict attachment file types in Wikis
- Set maximum sizes on media, pages, and attachments
- Set maximum sizes on libraries
- Work with Wikis policies
- See Wikis library information
- Filter library lists
- Print library information
- Disable wiki page versioning
- Delete wikis from the system
- Find the location of a stored attachment
- Display file attachments inline
- Administer Wikis
- Change Wikis configuration property values
- Run Wikis administrative commands
- Back up Wikis data
- Restrict attachment file types in Wikis
- Set maximum sizes on media, pages, and attachments
- Set maximum sizes on libraries
- Work with Wikis policies
- See Wikis library information
- Filter library lists
- Print library information
- Disable wiki page versioning
- Delete wikis from the system
- Find the location of a stored attachment
- Display file attachments inline
- Start the wsadmin client - reuse
- Performance
- Integrate with other products
- Install plug-ins to use IBM Connections in other applications
- IBM Connections Plug-in for IBM Sametime
- IBM Connections Portlets for WebSphere Portal
- What's New in the IBM Connections Portlets for WebSphere Portal
- Deploying the IBM Connections portlets
- Configure the resource environment provider
- Configure the DynaCache
- Set up an authentication alias for the portlets
- Configure portlets to use common directory services
- Import a certificate to support SSL
- Configure authentication for the portlets
- Enable single sign-on for the portlets using a stand-alone LDAP server
- Configure single sign-on for portlets with TAM and SPNEGO
- Configure single sign-on with TAM
- Configure single sign-on for portlets with Siteminder and SPNEGO
- Configure single sign-on for portlets with SPNEGO
- Change the realm name
- Enable basic authentication
- Update the portlet theme
- Install the IBM Connections Portlets for IBM WebSphere Portal
- Configure the application-specific AJAX proxy to support authentication
- Uninstall the IBM Connections portlets
- Optional and recommended configuration
- Community Pages
- Configure search integration
- Display action buttons and links for anonymous users
- Conditional Loading of the Lotus CSS bundle
- Configure the Connections business card
- Configure links to open Connections in the same browser window
- Enable logging for the portlets
- Pinning portlet content to a tag
- Configure and wiring the Tags portlet
- Addressing IBM Connections content from a portlet
- IBM Connections Business Card
- IBM Connections Desktop Plug-ins for Microsoft Windows
- Performing a user installation
- Performing a silent installation
- Repairing or removing the IBM Connections Desktop plug-ins
- Preferences and policies for the IBM Connections Desktop Plug-ins for Microsoft Windows
- Manage policies and preferences with a group policy
- Configure dynamic feeds for the Outlook Social Connector
- IBM Connections Plug-in for Microsoft SharePoint
- IBM Connections Status Updates Plug-in for Lotus Notes
- IBM Connections Files Plug-in for Lotus Notes
- Install the IBM Connections Files plug-in for Lotus Notes
- Install the Files plug-in on a Windows client
- Silently installing the IBM Connections Files plug-in (Windows)
- Install the Files plug-in on a Mac client
- Silently installing the IBM Connections Files plug-in (Mac)
- Viewing the log files
- Uninstall the IBM Connections Files plug-in
- IBM Lotus Notes Activities sidebar
- Install plug-ins to use other applications in IBM Connections
- IBM Lotus Quickr Library widgets for IBM Connections
- IBM Connections Widget for Microsoft SharePoint
- IBM Connections Connector for Lotus Quickr
- Install the IBM Connections Connector for Lotus Quickr
- Supporting Lotus Quickr authenticated feeds
- Edit the Lotus Quickr configuration file
- Configure roles for Lotus Quickr places
- Enable SSL access to the Lotus Quickr server
- Integrate with SiteMinder and Tivoli Access Manager
- Use the Lotus Quickr Delayed Synchronizer
- Uninstall the Lotus Quickr connector
- Upgrading the Lotus Quickr connector
- Optional: defining a list of supported Lotus Quickr servers for Communities
- Use plug-ins from IBM Connections in other products
- Use the IBM Connections Plug-in for IBM Sametime
- Use the IBM Connections Portlets for WebSphere Portal
- Personalizing a portlet
- The Activities portlet
- The Blogs portlet
- The Blogs Summary portlet
- The Bookmarks portlet
- The Bookmarks Summary portlet
- The Profiles Portlet
- The Profiles Summary portlet
- The Tags portlet
- The Wikis portlet
- The Community Overview portlet
- The Forums portlet
- The Forums Summary portlet
- Use the IBM Connections Desktop Plug-ins for Microsoft Windows
- Connecting to an IBM Connections site
- Use the IBM Connections Plug-in for Microsoft Office
- Add documents to Files
- Add documents to Communities
- Add documents to Activities
- Add documents to Wikis
- Add Word documents to Blogs
- Add IBM Connections profiles to Word documents
- Add IBM Connections bookmarks to Word documents
- Add bookmarks to IBM Connections from Word documents
- Search from Office for IBM Connections content
- Use the IBM Connections Plug-in for Microsoft Outlook
- Viewing IBM Connections user business cards
- Add Outlook emails to Files
- Add Outlook emails to Communities
- Add Outlook emails to Activities
- Add Outlook emails to Wikis
- Add IBM Connections users to Outlook emails
- Search from Outlook for IBM Connections content
- Use IBM Connections with the Outlook Social Connector
- Use the IBM Connections Plug-in for Microsoft Windows Explorer
- Search IBM Connections from Microsoft Office and Outlook
- Set preferences for IBM Connections Plug-ins for Microsoft Windows
- Use the IBM Connections Status Updates Plug-in for Lotus Notes
- Use the IBM Connections Files plug-in for Lotus Notes
- Use the IBM Lotus Notes Activities sidebar
- Use plug-ins from other products with IBM Connections
IBM Connections 4 Part 3: Administering Forums, Home Page, Metrics, Profiles, Wikis
IBM Connections 4 Part 3: Administering Forums, Home Page, Metrics, Profiles, Wikis
Administer Forums
Use the wsadmin client to administer Forums by specifying properties in a configuration file or running administrative commands.
You edit the forum-config.xml file to control how and when various Forums operations take place. You use the administrative commands to perform tasks that manipulate Forums content. Changes to the configuration file require node synchronization and a restart of the Forums server before they take effect. Changes made using administrative commands take effect immediately.
Related
Manage users
Configure the active content filter for Activities, Communities, and Bookmarks Run Forums administrative commands
Jython scripts are used to administer the Forums application. These scripts allow the administrator to view Forums data and perform administrative tasks for Forums.
To run administrative commands, you must use the IBM WebSphere® Application Server wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool. Administrative commands interact with the Forums application and its resources through scripts. These scripts use the AdminControl object available in the IBM WebSphere Application Server wsadmin tool to interact with the Forums server. Each script uses managed Java. beans (MBeans) to perform administrative tasks.
If an error occurs when you are executing the MBean commands, you can examine the SystemOut.log file to determine what went wrong.
Unlike with configuration properties, when you use administrative commands you do not have to check out any files or restart the server. The commands are executed and take effect immediately.
To run Forums administrative commands.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- See Forums administrative commands for a complete list of editable administrative commands for the Forums application.
Related tasks
Start the wsadmin client
Forums administrative commands
Use the commands listed to perform administrative tasks for Forums. No file checkout or server restart is needed when using these commands.
The following sections define the commands that you can use when working with Forums. Each section describes the commands for a specific service. The commands are listed in alphabetical order.
- ForumsConfigService
- ForumsMemberService
- ForumsScheduler
- ForumsService
- ForumsTopicsService
- ForumsTrashService
ForumsConfigService commands
- ForumsConfigService.checkOutConfig("working_directory", "cell_name")
Checks out the Forums configuration files.
This command takes the following parameters:
For example:
- <working_directory>
- Temporary working directory to which the configuration files are copied. The files are kept in this working directory while you make changes to them.
- <cell_name>
- Name of the IBM WebSphere Application Server cell hosting the IBM Connections application. If you do not know the cell name, type the following command while in the wsadmin command processor:
print AdminControl.getCell()
- AIX/Linux:
ForumsConfigService.checkOutConfig("/opt/my_temp_dir", "CommServerNode01Cell")
- Microsoft®
Windows:
ForumsConfigService.checkOutConfig("c:/temp","foo01Cell01")
- ForumsConfigService.checkInConfig()
Checks in the Forums configuration files. Run from the wsadmin command processor.
- ForumsConfigService.showConfig()
- Determine which property needs to be updated manually from the checkout command. The default Forums configuration properties are as follows:
- activeContentFilter.enabled = true
- discussThis = false
- discussThis.targetBookmarklet = http://{server}/connections/bookmarklet
- objectStore.allowUpload = true
- task.TrashAutoPurgeJob.enabled = true
- task.TrashAutoPurgeJob.interval = 0 0 2 ? * SUN
- task.TrashAutoPurgeJob.trashRetentionInDays = 90
ForumsMemberService commands
- ForumsMemberService.previewSyncAllMembersByExtId( {"updateOnEmailLoginMatch": ["true" | "false"[, .multiLine. : ["true" | "false"] ] [, .verbose. : ["false" | "true"] }] )
- See Synchronizing user data using administrative commands for details.
- ForumsMemberService.previewSyncMemberExtIdByEmail("emailAddr" [, { "allowInactivate" : ["true" | "false"] [, "multiLine" : ["true" | "false"] ] [, "verbose" : ["true" | " false"] ] } ] )
- See Synchronizing user data using administrative commands for details.
- ForumsMemberService.previewSyncMemberExtIdByEmail("emailAddr" [, { "allowInactivate" : ["true" | "false"] [, "multiLine" : ["true" | "false"] ] [, "verbose" : ["true" | " false"] ] } ] )
- See Synchronizing user data using administrative commands for details.
- ForumsMemberService.getMemberExtIdByEmail("email")
See Synchronizing user data using administrative commands for details.
- ForumsMemberService.getMemberExtIdByLogin("login")
See Synchronizing user data using administrative commands for details.
- ForumsMemberService.inactivateMemberByEmail("email")
See Synchronizing user data using administrative commands for details.
- ForumsMemberService.inactivateMemberByExtId("externalID")
See Synchronizing user data using administrative commands for details.
- ForumsMemberService.syncAllMembersByExtId( {"updateOnEmailLoginMatch": ["true" | "false"] } )
See Synchronizing user data using administrative commands for details.
- ForumsMemberService.syncMemberByExtId("currentExternalId"[, {"newExtId" : "id-string" [, "allowExtIdSwap" : ["true" | "false"] ] } ] )
See Synchronizing user data using administrative commands for details.
- ForumsMemberService.syncMemberExtIdByEmail("email" [, { "allowInactivate" : ["true" | "false"] } ])
See Synchronizing user data using administrative commands for details.
- ForumsMemberService.syncMemberExtIdByLogin("name" [, {"allowInactivate": ["true" | "false"] } ])
See Synchronizing user data using administrative commands for details.
ForumsScheduler commands
- ForumsScheduler.getTaskDetails(String taskName)
Returns information about the scheduled task specified by taskName. Forums currently has a single managed task . TrashAutoPurgeJob.
The values returned are server time, next scheduled run time, status (SCHEDULED, RUNNING, SUSPENDED), and task name. When the task has been paused, then the status parameter shows as SUSPENDED instead of SCHEDULED. SUSPENDED means that the task is not scheduled to run.
For example:
ForumsScheduler.getTaskDetails("TrashAutoPurgeJob")The resulting output looks similar to the following:{currentServerTime=Wed Feb 03 14:21:47 EST 2010, nextFireTime=Sun Feb 07 02:00:00 EST 2010, status=SCHEDULED, taskName=TrashAutoPurgeJob}
- ForumsScheduler.pauseSchedulingTask(String taskName)
Temporarily pauses the specified task and stops it from running.
When you pause a scheduled task, the task remains in the suspended state even after you stop and restart Forums or the IBM WebSphere Application Server. You need to run the ForumsScheduler.resumeSchedulingTask(String taskName) command to get the task running again.
If the task is currently running, it continues to run but is not scheduled to run again. If the task is already suspended, this command has no effect.
For example:
ForumsScheduler.pauseSchedulingTask("TrashAutoPurgeJob")When a task is paused, a status message similar to the following is written to the SystemOut.log file:[2/3/10 14:28:10:782 EST] 0000002f ForumsNotific I CLFWY0134I: Forums scheduled task 'TrashAutoPurgeJob' fired event 'TaskNotificationInfo.SUSPENDED'
- ForumsScheduler.resumeSchedulingTask(String taskName)
If the task is suspended, puts the task in the scheduled state. If the task is not suspended, this command has no effect.
When a task is resumed, it does not run immediately; it runs at the time when it is next scheduled to run.
For example:
ForumsScheduler.resumeSchedulingTask("TrashAutoPurgeJob")Resuming a paused task causes the following status message to be written to the SystemOut.log file:[2/3/10 14:28:25:407 EST] 00000051 ForumsNotific I CLFWY0134I: Forums scheduled task 'TrashAutoPurgeJob' fired event 'TaskNotificationInfo.RESUMED'
ForumsService commands
- ForumsService.deleteForums(java.util.Vector forums)
Moves the specified forums to the Trash view. Forums in the Trash view can be restored as long as they are restored before the trash is emptied. The command returns a java.util.Vector, where each object in the vector is a java.util.Hashtable that describes a forum that could not be deleted. A returned empty vector indicates complete success.
- ForumsService.exportSyncedResourceInfo(java.lang.String filePath, java.lang.String eventType)
Writes a report that lists all the community forums and identifies their associated communities. The file is saved to the directory path that you specify.
You can use this command to restore backed-up data. See Comparing remote application data with the Communities database for more information.
Parameters:
For example:
- filePath
- A string that specifies the full directory path in which to store the file that is returned by the command. Include the file name in the file path and use forward slashes. For example, C:/temp/forum_output.xml.
- eventType
- Identifies the type of synchronization events to report about. The only supported value for this parameter is community. Specify this value as a singular community and in lower case.
ForumsService.exportSyncedResourceInfo("C:/temp/forum_output.xml","community")
- ForumsService.fetchForums()
Lists forums by forumID, for example:
{forumID=7d53c588-4b34-4497-8556-6f253519891f}
- ForumsService.fetchForumsByName(java.lang.String forumName)
Retrieves the forum with the specified name, for example:
ForumsService.fetchForumsByName("My Forum")
- ForumsService.filterInput(VectorinputVector, java.lang.String toMatch, java.lang.String attrName)
Filters a source vector of forums to return a new vector containing a map pair that matches the specified filter criteria.
This command take the following parameters:
- inputVector
- The source vector that contains the map collection.
- toMatch
- Java regular expression pattern representing match criteria. This pattern is used to search the attrName (specified in next parameter) of the forums or entries. The pattern must match the full name and is case sensitive. You can use the following keys:
- Period (.) matches any character.
- Plus sign (+) matches one or more instances of the previous character. For example, .+ matches all sequences of one or more characters.
- Asterisk (*) matches zero or more instances of the previous character. For example, * matches all sequences of characters.
- [chars] matches any one character within the square brackets ([]). For example, [Gg] matches either an upper or lower case G.
- [A-Z] matches a range of characters.
- attrName
- The key to be filtered in the map. Possible values include name and forumID. The default value is name.
- ForumsService.reCountAllForums()
Recalculate total number of forums in your organization.
This command does not take any parameters.
- ForumsService.reCountForums(Vector forums)
Recalculate number of specified forums in your organization, where you specify the forums to recalculate as a vector variable that represents multiple forums.
For example:
ForumsService.reCountForums(myforums)
ForumsTopicsService commands
- ForumsTopicsService.fetchTopics()
Gets a list of all forum topics, except those that have been moved to the trash.
Returns a java.util.Vector object. Each object in the vector is a java.util.Hashtable object that describes one forum topic.
- ForumsTopicsService.fetchTopicsByDate(String type, String begindate, String enddate)
Gets a list of forum topics that were created or modified in a specified date range. The maximum number of topics in the returned list is 50. To obtain all the topics that match the criteria if the number is greater than 50, call this method in a loop, providing the UUID of the 50th topic from the previous list as the lastUUID parameter.
Returns a java.util.Vector object. Each object in the vector is a java.util.Hashtable object that describes one forum topic.
This command takes the following parameters:
- type
- Specifies the date type of interest. The following values are valid:
- created
- modified
- begindate
- Start timestamp of the date range, specified in a yyyy.mm.dd format.
- enddate
- Finish timestamp of the date range, specified in a yyyy.mm.dd format.
For example:
ForumsTopicsService.fetchTopicsByDate("created","2010.05.21","2010.05.22")ForumsTopicsService.fetchTopicsByDate("modified","2010.05.21","2010.05.22")
- ForumsTopicsService.fetchTopicsCreatedByMember(String extId, String type)
Gets a list of forum topics created by the specified member, except those that are in the trash.
Returns a java.util.Vector object. Each object in the vector is a java.util.Hashtable object that describes one forum topic.
This command takes the following parameters:
- extId
- The external ID of the specified member whose topics you want to retrieve.
- type
- The type of external ID specified. The following values are valid:
- uuid
For example:
ForumsTopicsService.fetchTopicsCreatedByMember("778CE573-78A5-2ECF-8525-7346003DB078","uuid")ForumsTopicsService.fetchTopicsCreatedByMember("ajones10@example.com","email")
- ForumsTopicsService.fetchTopicById(String topicuuid)
Gets the forum topic identified by the specified universal identifier.
Returns a java.util.Hashtable object that describes the forum topic.
This command takes the following parameter:
- topicuuid
- The unique identifier of the forum topic.
For example:
ForumsTopicsService.fetchTopicById("15279c53-7bb2-43dd-96ad-2eee2c7f10f8")
- ForumsTopicsService.deleteTopics(Vector forumtopics)
Moves the specified forum topics to the trash. Forum topics in the Trash view can be restored as long as they are restored before the trash is emptied.
Returns a java.util.Vector. Each object in the vector is a java.util.Hashtable that describes a forum topic that could not be deleted. A returned empty vector indicates complete success.
This command takes the following parameter:
- forumtopics
- Vector of hash tables describing the forum topics to be deleted.
For example:
ForumsTopicsService.deleteTopics(janetstopics)
- ForumsService.reCountForumById(java.lang.String uuid)
Recalculate number of topics in a specific forum, where you specify the forum by its UUID.
For example:
ForumsService.reCountForumById("778CE573-78A5-2ECF-8525-7346003DB078")
- ForumsTopicsService.reCountTopics(Vector topics)
Recalculate number of specified topics in your organization,
...where you specify the topics to recalculate as a vector variable that represents multiple topics.
For example:
ForumsTopicsService.reCountTopics(mytopics)
ForumsTrashService commands
- ForumsTrashService.fetchForumsTrash()
Retrieves a list of the deleted forums currently in the trash
- ForumsTrashService.fetchTopicsTrash()
Retrieves a list of the deleted forum topics currently in the trash.
- ForumsTrashService.fetchForumsTrashByDate(String modifySince)
Retrieves a list of the forums that were deleted on a specific date.
This command takes the following parameter:
- modifySince
- A string that specifies the date when the forum was deleted in yyyy.MM.dd format.
- ForumsTrashService.filterForumsByName(VectorinputVector, java.lang.String toMatch)
Filters a source vector of forums to return a new vector containing a map pair that matches the specified name filter criteria.
This command take the following parameters:
- inputVector
- The source vector that contains the map collection.
- toMatch
- Java regular expression pattern representing match criteria. This pattern is used to search the name of the forums. The pattern must match the full name and is case sensitive. You can use the following keys:
- Period (.) matches any character.
- Plus sign (+) matches one or more instances of the previous character. For example, .+ matches all sequences of one or more characters.
- Asterisk (*) matches zero or more instances of the previous character. For example, * matches all sequences of characters.
- [chars] matches any one character within the square brackets ([]). For example, [Gg] matches either an upper or lower case G.
- [A-Z] matches a range of characters.
- ForumsTrashService.purgeForumsTrash(vector hashtable)
Purges the specified forums from the trash, where you specify the forums to delete using the hashtable parameter.
For example:
ForumsTrashService.purgeForumsTrash(forumtrash)
- ForumsTrashService.purgeTopicsTrash(vector hashtable)
Purges the specified forum topics from the trash, where you specify the topics to delete using the hashtable parameter.
For example:
ForumsTrashService.purgeTopicsTrash(topictrash)
- ForumsTrashService.undeleteForumsTrash(vector hashtable)
Restores a deleted forum or forums, where you specify the forum or forums to restore using the hashtable parameter.
For example:
ForumsTrashService.undeleteForumsTrash(forumsTrash)
- ForumsTrashService.undeleteTopicTrash(vector hashtable)
Restores a deleted forum topic or topics, where you specify the topic or topics to restore using the hashtable parameter.
For example:
ForumsTrashService.undeleteTopicTrash(topictrash)
Related
Synchronize user data using administrative commands
Run administrative commands Compare remote application data with the Communities database Synchronize remote application data with the Communities database Change Forums configuration property values
Configuration settings control how and when various Forums operations take place. You can edit the settings to change the ways that forums behave.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. Configure Forums using scripts accessed with the wsadmin client. These scripts use the AdminConfig object available in the WebSphere Application Server wsadmin client to interact with the Forums configuration file. Changes to Forums configuration settings require node synchronization and a restart of the Forums server before they take effect.
To change Forums configuration settings, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Forums Jython script interpreter.
- Use the following command to access the Forums configuration files:
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Check out the Forums configuration files :
ForumsConfigService.checkOutConfig("working_directory", "cell_name")
where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied. The files are kept in this working directory while you make changes to them.
AIX® and Linux only: The directory must grant write permissions or the command will not run successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
ForumsConfigService.checkOutConfig("/opt/my_temp_dir", "ForumServerNode01Cell")
- Optional: To view a list of the valid Forums configuration settings and their current values, use the following command:
ForumsConfigService.showConfig()
- To change a Forums configuration setting, use the following command:
ForumsConfigService.updateConfig("property", "value")
...where property is one of the editable Forums configuration properties and value is the new value with which you want to set that property. See Forums configuration properties for a complete list of editable properties.
For example:
ForumsConfigService.updateConfig("task.TrashAutoPurgeJob.trashRetentionInDays", "120")
- Optional: After updating the Forums properties with new values, use the ForumsConfigService.showConfig() command to display the list of properties and their updated values. These are the values that will be checked in with the ForumsConfigService.checkInConfig() command.
- Optional: Repeat step 3 for each property setting to change.
What to do next
You must check the configuration files back in after making changes, and they must be checked in during the same wsadmin session in which they were checked out for the changes to take effect. See Applying property changes for details.
Related tasks
Start the wsadmin client Enable forum topic posting in different deployments
Forums configuration properties
Configuration settings control various configurable applications within Forums and also help in the optimization of server performance. They require a Forums application or server restart to take effect.
You can check out and modify the following configuration settings in the forum-config.xml file. The properties are listed in alphabetical order.
- activeContentFilter.enabled
When enabled, this property prevents the addition of active content (JavaScript) in any text input field.
This property takes a Boolean value: true or false.
Disabling this filter introduces vulnerability to cross-site scripting (XSS) and other type of malicious attacks. See Securing applications from malicious attack for additional information.
For example:
ForumsConfigService.updateConfig("activeContentFilter.enabled","true")
- discussThis.enabled
Users in IBM Connections can click Bookmark or Discuss This on any IBM Connections page to install a Discuss This button in their browser tool bar. When they click the button, the content of the current web or IBM Connections page is added to a forum topic. The user can then choose a forum they have access to, and add the topic to that forum.
The discussThis configuration property allows you to enable a similar Discuss This button on every forum topic page. The button allows users to post the topic as a new topic in a forum in a different IBM Connections deployment which you specify in the discussThis.internalHost element.
For example, you might have two IBM Connections deployments in your enterprise, A and B. You want users in deployment A forums to be able to post topics to deployment B forums. You would check out the forums-config.xml document in deployment A, and specify the server address where you can access the forums application in B. When a user opens a forum page in deployment A and clicks the Discuss This link, they can select the target forum on deployment B from the pop-up dialog. If the user is not logged into deployment B, they are prompted to log in before they can post the new topic.
In order for the Discuss This link to display in the topic page, the user must be a member of the group that the discussThis-user J2EE role on deployment A is mapped to (the default is Everyone). See Enabling forum topic posting in different deployments for detailed steps for configuring the button.
This property takes a Boolean value: true or false. It is enabled (set to true) by default.
- discussThis.targetBookmarklet
Specifies the server address where you can access the forums application in a different IBM Connections deployment. This is required to enable the Discuss This feature described in the discussThis.enabled property previously listed. See Enabling forum topic posting in different deployments for detailed steps for configuring the button.
This property takes a server address, such as: http://servername.enterprise.com:9081
- objectStore.allowUpload
Enables or disables the uploading of file attachments to forums.
This property takes a Boolean value: true or false.
For example:
ForumsConfigService.updateConfig("objectStore.allowUpload","false")
- task.TrashAutoPurgeJob.enabled
Enables or disables the forum purge trash task.
This property accepts the following values: true or false.
For example:
ForumsConfigService.updateConfig("task.TrashAutoPurgeJob.enabled", "true")
- task.TrashAutoPurgeJob.trashRetentionInDays
Specifies the number of days that deleted content remains in the database as being soft-deleted. The value must be set to 1 or greater. If the value is less than 1, the trash is not purged by this job. The default value is 90.
For example:
ForumsConfigService.updateConfig("task.TrashAutoPurgeJob.trashRetentionInDays", "120")
- task.TrashAutoPurgeJob.interval
Specifies the interval at which the forum purge trash task runs.
When you change the interval property, the new schedule is registered the next time that Forums is started on any server in the Forums cluster (if there is one).
For example:
ForumsConfigService.updateConfig("task.TrashAutoPurgeJob.interval", "0 0/15 * * * ?")
Related tasks
Apply property changes in Forums IBM Connections configuration property values
Apply property changes in Forums
After you have edited the Forums configuration properties, check the changed configuration file in, and restart the servers to apply the changes.
See Forums configuration properties for information about the properties that you can edit.
- Check in the changed configuration property keys using the following wsadmin client command:
ForumsConfigService.checkInConfig()
The checkin must be done in the same wsadmin session as the checkout.
- Update the value of the version stamp configuration property in LotusConnections-config.xml to force users' browsers to pick up this change. See Required post-customization step for more details.
- To exit the wsadmin client, type exit at the prompt.
- Use the IBM WebSphere Application Server Integrated Solutions Console to stop and restart the server hosting the Forums application.
Related tasks
Apply common configuration property changes Required post-customization step
Forums configuration properties Retrieve forum content
You can use administrative commands to retrieve lists of forums and forum topics. You can also narrow down a list of forums to retrieve a specific subset of forums on which you want to perform an operation.
Get a list of forums
Use administrative commands to retrieve lists of forums that you can subsequently manipulate programmatically.
To run administrative commands, you must use the wsadmin client. See Start the wsadmin client for details.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands to retrieve the forums in your organization:
Related tasks
Start the wsadmin client Filter lists of forums
Get a list of forum topics
Use administrative commands to retrieve forum topics by date, by creator, and by topic UUID. You do not need to check the Forums configuration file in and out, or restart the Forums server when using these commands.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details.
To retrieve forum content.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands as needed.
- ForumsTopicsService.fetchTopics()
Gets a list of all forum topics, except those that have been moved to the trash.
Returns a java.util.Vector object. Each object in the vector is a java.util.Hashtable object that describes one forum topic.
- ForumsTopicsService.fetchTopicsByDate(String type, String begindate, String enddate)
Gets a list of forum topics that were created or modified in a specified date range. The maximum number of topics in the returned list is 50. To obtain all the topics that match the criteria if the number is greater than 50, call this method in a loop, providing the UUID of the 50th topic from the previous list as the lastUUID parameter.
Returns a java.util.Vector object. Each object in the vector is a java.util.Hashtable object that describes one forum topic.
This command takes the following parameters:
- type
- Specifies the date type of interest. The following values are valid:
- created
- modified
- begindate
- Start timestamp of the date range, specified in a yyyy.mm.dd format.
- enddate
- Finish timestamp of the date range, specified in a yyyy.mm.dd format.
For example:
ForumsTopicsService.fetchTopicsByDate("created","2010.05.21","2010.05.22")ForumsTopicsService.fetchTopicsByDate("modified","2010.05.21","2010.05.22")
- ForumsTopicsService.fetchTopicsCreatedByMember(String extId, String type)
Gets a list of forum topics created by the specified member, except those that are in the trash.
Returns a java.util.Vector object. Each object in the vector is a java.util.Hashtable object that describes one forum topic.
This command takes the following parameters:
- extId
- The external ID of the specified member whose topics you want to retrieve.
- type
- The type of external ID specified. The following values are valid:
- uuid
For example:
ForumsTopicsService.fetchTopicsCreatedByMember("778CE573-78A5-2ECF-8525-7346003DB078","uuid")ForumsTopicsService.fetchTopicsCreatedByMember("ajones10@example.com","email")
- ForumsTopicsService.fetchTopicById(String topicuuid)
Gets the forum topic identified by the specified universal identifier.
Returns a java.util.Hashtable object that describes the forum topic.
This command takes the following parameter:
- topicuuid
- The unique identifier of the forum topic.
For example:
ForumsTopicsService.fetchTopicById("15279c53-7bb2-43dd-96ad-2eee2c7f10f8")
Related tasks
Start the wsadmin client
Filter lists of forums
Use the ForumsService.filterInput or ForumsTrashService.filterForumsByName command to retrieve a subset of forums on which you want to perform an operation.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details. When you retrieve a set of forums using one of the fetch commands, you can filter the list of forums to find a forum with a specific name or ID.
- When you use a fetch command to retrieve a set of forums, use a variable to store the returned data.
For example, the following code stores the objects returned from the fetchForumsTrash() command in the alltrash variable:alltrash=ForumsTrashService.fetchForumsTrash()The objects are formatted as a java.util.Vector of hash tables that represent deleted forums in the Trash view.
- Use the following commands to narrow down the list of results that you stored in the variable:
- ForumsService.filterInput(VectorinputVector, java.lang.String toMatch, java.lang.String attrName)
Filters a source vector of forums to return a new vector containing a map pair that matches the specified filter criteria.
This command take the following parameters:
- inputVector
- The source vector that contains the map collection.
- toMatch
- Java regular expression pattern representing match criteria. This pattern is used to search the attrName (specified in next parameter) of the forums or entries. The pattern must match the full name and is case sensitive. You can use the following keys:
- Period (.) matches any character.
- Plus sign (+) matches one or more instances of the previous character. For example, .+ matches all sequences of one or more characters.
- Asterisk (*) matches zero or more instances of the previous character. For example, * matches all sequences of characters.
- [chars] matches any one character within the square brackets ([]). For example, [Gg] matches either an upper or lower case G.
- [A-Z] matches a range of characters.
- attrName
- The key to be filtered in the map. Possible values include name and forumID. The default value is name.
- ForumsTrashService.filterForumsByName(VectorinputVector, java.lang.String toMatch)
Filters a source vector of forums to return a new vector containing a map pair that matches the specified name filter criteria.
This command take the following parameters:
- inputVector
- The source vector that contains the map collection.
- toMatch
- Java regular expression pattern representing match criteria. This pattern is used to search the name of the forums. The pattern must match the full name and is case sensitive. You can use the following keys:
- Period (.) matches any character.
- Plus sign (+) matches one or more instances of the previous character. For example, .+ matches all sequences of one or more characters.
- Asterisk (*) matches zero or more instances of the previous character. For example, * matches all sequences of characters.
- [chars] matches any one character within the square brackets ([]). For example, [Gg] matches either an upper or lower case G.
- [A-Z] matches a range of characters.
For example, the alltrash vector saved in step 1 has two maps as follows, each of which has one value pair, (key = "name", value=""):
alltrash={name=forum-1, name=forum-2}The following command filters the alltrash vector to get only those maps for which the value of the name key is forum-1. The maps are stored in a vector named vii. Note that the default value of the third parameter is name.vii=ForumsService.filterInput(alltrash, "forum-1")orvii=ForumsTrashService.filterForumsByName(alltrash,"forum-1")The command returns the following vector:vii={name=forum-1}As another example, let.s say to filter the results of the following source vector by forumID.
inputVector=ForumsService.fetchForums()...where the inputVector vector has two maps, each of which has one value pair, (key = "forumID", value=""):
inputVector={forumID=00000-0001, forumID=00000-0002}The following command returns only the forum with the ID, 00000-0001:vii = ForumsService.filterInput(inputVector,"00000-0001","forumID")The command returns the following vector:vii={forumID=00000-0001}
- Pass the variable containing the subset of resources that you want to operate on into the command that you are using.
For example, to restore the collected subset of forums stored in the vii variable, you might use the following command:ForumsTrashService.undeleteForumsTrash(vii)
Related tasks
Start the wsadmin client Get a list of forums Restore deleted forum content Purging specific forum content from the trash Rectifying the count of forums and forum topics
If a transaction involving the Forums application fails, the total count of forums and forum topics that display in the Forums user interface might not be consistent. You can use administrative commands to manually recalculate the count of forums and forum topics in your organization and ensure that the figures are up-to-date.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details. You do not need to check the Forums configuration file in and out, or restart the Forums server when using these commands.
To recalculate the number of forums and forum topics, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands as needed.
- ForumsService.reCountAllForums()
Recalculate total number of forums in your organization.
This command does not take any parameters.
- ForumsService.reCountForums(Vector forums)
Recalculate number of specified forums in your organization,
...where you specify the forums to recalculate as a vector variable that represents multiple forums.
For example:
ForumsService.reCountForums(myforums)
- ForumsService.reCountForumById(java.lang.String uuid)
Recalculate number of topics in a specific forum, where you specify the forum by its UUID.
For example:
ForumsService.reCountForumById("778CE573-78A5-2ECF-8525-7346003DB078")
- ForumsTopicsService.reCountTopics(Vector topics)
Recalculate number of specified topics in your organization,
...where you specify the topics to recalculate as a vector variable that represents multiple topics.
For example:
ForumsTopicsService.reCountTopics(mytopics)
- Use the following command to filter a vector result:
Vector vii=ForumsService.filterInput(VectorinputVector,java.lang.String toMatch,java.lang.String attrName)This command returns a new vector that contains a map pair to match the filter criteria.The command takes the following parameters:
For example, you might get a vector of forums using the following command:
- inputVector
- The source vector that contains the map collection.
- toMatch
- The value pattern that you are using to narrow down your results.
- attrName
- The key to be filtered in the map.
inputVector=ForumsService.fetchForums()The inputVector vector contains two maps as follows:inputVector = {name=forum-1,name=forum-2}Each map has one value pair:(key = "name", value="")In this example, you want to filter the vector to retrieve the maps in which the value of the name key is forum-1 so you run the following command:
Vector vii=ForumsService.filterInput(inputVector,"forum-1","name")The vii vector variable now contains a single forum with a name key of forum-1:vii = {name=forum-1}
Related tasks
Start the wsadmin client Moderate forums
When moderation is enabled for Forums, a designated moderator can review posts before they are published to a forum and manage posts after they are added to a forum. Forums moderation is supported for community forums and stand-alone forums.
If premoderation is enabled for your deployment, when users create or reply to forum posts, the content that they add does not display until it is approved by a moderator. If postmoderation is enabled, the moderator can review content that has been flagged as inappropriate and the reason given for flagging it, and determine whether the content should be removed or the flag dismissed.
As administrator, you can control who has permission to moderate forum content using two scopes:
In addition to the global moderation interface and community moderation interface, the public Forums moderation API can be leveraged by third-party developers to moderate stand-alone and community forum content. For more information, see Moderating forum content programmatically.
- Global moderation
- You can assign people the J2EE global-moderator role for Forums using the IBM WebSphere Application Server Integrated Solutions Console. For more information about assigning roles, see Roles.
Users who have been assigned the global-moderator role can see an additional Moderation link in the application menu bar when they are logged in to IBM Connections. This link is only visible to global moderators. Clicking the link provides access to a global moderation interface where moderators can review and manage posts from stand-alone forums and community forums.
For more information about moderating forum content from the global moderation interface, see Moderation overview.
- Community forum moderation
- Community forums can be moderated by community owners if owner moderation for Communities is enabled in the contentreview-config.xml file. For more information about how to configure owner-moderation settings, see Managing content moderation and flagged content.
When owner moderation is enabled for Communities, community owners can review and manage the content of their community forums directly from the community by logging in to IBM Connections and selecting Moderate Community from the Community Actions menu. Community owners can only review content from their own community forums.
For more information about moderating content in community forums, see Moderating community content.
Related
Moderation overview Moderate forum content programmatically Moderate the content in a community
Manage content moderation and flagged content Moderate content before it is published Moderate published content that is flagged
Roles Manage forum trash
Use administrative commands and edit configuration property settings to move forum content to the trash, empty the trash, restore forums and forum topics from the trash, and perform other trash management tasks for Forums.
Move forums to the trash
Use administrative commands to move one or more forums to the Trash view.
To run administrative commands, you must use the wsadmin client. See Start the wsadmin client for details.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- To move forums to the trash, first generate a variable containing the forums to delete, and then delete the forums associated with that variable as follows.
- Create a variable that contains the forum or forums to delete. You can get a list of forums in hash table format using one of the fetchForums() commands. See Get a list of forums for more information about the commands.
For example:
variable=ForumsService.fetchForumsByName(java.lang.String forumName)
- Enter the following command to delete the forum or forums:
ForumsService.deleteForums(java.util.Vector forums)...where you specify the forum or forums to delete as the forums parameter. This parameter maps to the variable that you created in the previous step.
For example, if a person leaves the organization and you want to delete a forum owned by them, you use the following commands to generate a variable containing the forum and then delete the forum associated with that variable.
obsoleteForum=ForumsService.fetchForumsByName("Joes Forum") wsadmin>ForumsService.deleteForums(obsoleteForum)
Related tasks
Start the wsadmin client Get a list of forums Purging forum trash on a schedule Purging specific forum content from the trash Restore deleted forum content
Delete topics from forums
Use administrative commands to remove unwanted or inappropriate topics from the Forums application.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details. When you remove topics from a forum, the topics are soft-deleted. To remove forum topics from the database completely, you need to purge the forum trash. For more information about purging the trash, see Purging forum trash on a schedule.
To delete forum topics.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- If you have not yet created a variable that contains the forum topics to delete, create one now. You can get a list of forum topics in hash table format by using one of the ForumsTopicsService fetch commands. For more information about these commands and how to use them, see Get a list of forum topics.
When an employee leaves the organization, for example, and you want to delete all of the forum topics that they created, you can use the following command to identify the forum topics to delete:
ForumsTopicsService.fetchTopicsCreatedByMember(String extId, String type)For example:janetstopics=ForumsTopicsService.fetchTopicsCreatedByMember("ajones10@example.com","email")You can also fetch the topics using the employee's member uuid. For example:
janetstopics=ForumsTopicsService.fetchTopicsCreatedByMember("778CE573-78A5-2ECF-8525-7346003DB078","uuid")
- Use the following command to delete forum topics:
- ForumsTopicsService.deleteTopics(Vector forumtopics)
Moves the specified forum topics to the trash. Forum topics in the Trash view can be restored as long as they are restored before the trash is emptied.
Returns a java.util.Vector. Each object in the vector is a java.util.Hashtable that describes a forum topic that could not be deleted. A returned empty vector indicates complete success.
This command takes the following parameter:
- forumtopics
- Vector of hash tables describing the forum topics to be deleted.
For example:
ForumsTopicsService.deleteTopics(janetstopics)
Related tasks
Start the wsadmin client Purging forum trash on a schedule Purging specific forum content from the trash Restore deleted forum content
Restore deleted forum content
Use the ForumsTrashService commands to restore deleted forum content from the trash with immediate effect. You do not need to check the Forums configuration file out or restart the server when using these commands.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details. If you change your mind about deleting content from the Forums application, you can restore forum content from the trash. After a forum or forum topic is deleted, the deleted content can be preserved if it is restored.
To restore forum content that has been deleted, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Do one of the following.
- To get a list of the deleted forums currently in the trash, enter the following command:
ForumsTrashService.fetchForumsTrash()
- To get a list of the deleted forum topics currently in the trash, enter the following command:
ForumsTrashService.fetchTopicsTrash()
- To get a list of forums that were deleted on a specific date, enter the following command:
ForumsTrashService.fetchForumsTrashByDate(String modifySince)...where modifySince is a string that specifies the date when the forum was deleted in yyyy.MM.dd format.
For example:
vari = ForumsTrashService.fetchForumsTrashByDate("2011.04.11")This command retrieves all the forums that were deleted on the 11th of April, 2011 and uses a variable called vari to store the returned data.
- Optional: Identify the forums or forum topics to restore from the returned list. Use the following command to filter the forums by name:
- ForumsTrashService.filterForumsByName(VectorinputVector, java.lang.String toMatch)
Filters a source vector of forums to return a new vector containing a map pair that matches the specified name filter criteria.
This command take the following parameters:
- inputVector
- The source vector that contains the map collection.
- toMatch
- Java regular expression pattern representing match criteria. This pattern is used to search the name of the forums. The pattern must match the full name and is case sensitive. You can use the following keys:
- Period (.) matches any character.
- Plus sign (+) matches one or more instances of the previous character. For example, .+ matches all sequences of one or more characters.
- Asterisk (*) matches zero or more instances of the previous character. For example, * matches all sequences of characters.
- [chars] matches any one character within the square brackets ([]). For example, [Gg] matches either an upper or lower case G.
- [A-Z] matches a range of characters.
- To restore deleted content, use the following commands.
- ForumsTrashService.undeleteForumsTrash(vector hashtable)
Restores a deleted forum or forums, where you specify the forum or forums to restore using the hashtable parameter.
For example:
ForumsTrashService.undeleteForumsTrash(forumsTrash)
- ForumsTrashService.undeleteTopicTrash(vector hashtable)
Restores a deleted forum topic or topics, where you specify the topic or topics to restore using the hashtable parameter.
For example:
ForumsTrashService.undeleteTopicTrash(topictrash)
Example
To identify the forums to restore from the trash, first generate a variable containing a list of forums, and then filter that list by forum name to narrow down the list of forums to restore as follows:
- Create a variable that contains a list of forums in the trash. You can get a list of forums in hash table format using one of the fetchForums commands, ForumsTrashService.fetchForumsTrash() or ForumsTrashService.fetchForumsTrashByDate(String modifySince).
For example:
april4Trash = ForumsTrashService.fetchForumsTrashByDate("2011.04.11")
- Filter the list of forums returned by the previous command to find the forum or forums to restore.
For example, to find a forum with the name Forum1:
myForums = ForumsTrashService.filterForumsByName(april4Trash,"Forum1")Alternatively, you can filter the list of forums to find forums that have a name that begins with "Forum" and then store them in the myForums variable:myForums = ForumsTrashService.filterForumsByName(april4Trash,"Forum.*")
- Restore the forum or forums from the trash by passing the variable containing the subset of forums returned in the previous step to the undeleteForumsTrash command.
For example:
ForumsTrashService.undeleteForumsTrash(myForums)
Related tasks
Start the wsadmin client Move forums to the trash Delete topics from forums Filter lists of forums
Purging forum trash on a schedule
Edit settings in the forum-config.xml file to configure the Forums trash purge schedule. You can define the interval at which the task runs by configuring the interval property, which uses a Cron schedule.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for details. The trash purge job is scheduled to run periodically to permanently remove content deleted from a forum from the trash. Forums uses the WebSphere Application Server scheduling service for purging trash from Forums. For more information about the scheduler, see Scheduling tasks.
To configure the TrashAutoPurgeJob task, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Forums Jython script interpreter.
- Use the following command to access the Forums configuration files:
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Check out the Forums configuration files :
ForumsConfigService.checkOutConfig("working_directory", "cell_name")
where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied. The files are kept in this working directory while you make changes to them.
AIX and Linux only: The directory must grant write permissions or the command will not run successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
ForumsConfigService.checkOutConfig("/opt/my_temp_dir", "ForumServerNode01Cell")
- To view the current configuration settings, use the following command:
ForumsConfigService.showConfig()
After updating any of the configuration settings, you can use this command again to display your updates.
- To change configuration settings for Forums, use the following command:
ForumsConfigService.updateConfig("property", "value")
where:
The following table displays information about the TrashAutoPurgeJob property and the type of data that you can enter for it.
- property is one of the editable Forums configuration properties.
- value is the new value with which you want to set that property.
Table 1. TrashAutoPurgeJob properties
Property Description task.TrashAutoPurgeJob.enabled Enables or disables the forum purge trash task. This property accepts the following values: true or false.
For example:
ForumsConfigService.updateConfig("task.TrashAutoPurgeJob.enabled", "true")task.TrashAutoPurgeJob.trashRetentionInDays Specifies the number of days that deleted content remains in the database as being soft-deleted. The value must be set to 1 or greater. If the value is less than 1, the trash is not purged by this job. The default value is 90. For example:
ForumsConfigService.updateConfig("task.TrashAutoPurgeJob.trashRetentionInDays", "120")task.TrashAutoPurgeJob.interval Specifies the interval at which the forum purge trash task runs. When you change the interval property, the new schedule is registered the next time that Forums is started on any server in the Forums cluster (if there is one).
For example:
ForumsConfigService.updateConfig("task.TrashAutoPurgeJob.interval", "0 0/15 * * * ?")
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes in Forums for information about how to save and apply your changes.
Related
Schedule tasks
Start the wsadmin client Manage Forums scheduled tasks Apply property changes in Forums Move forums to the trash Delete topics from forums
Purging specific forum content from the trash
Use administrative commands to permanently delete a specific forum or forum topic by removing it from the trash. You do not need to check the Forums configuration file out or restart the server when using these commands.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details.
To purge specific forum content from the trash, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- To get a list of the deleted forum content currently in the trash, use the following commands.
- ForumsTrashService.fetchForumsTrash()
Retrieves a list of the deleted forums currently in the trash
- ForumsTrashService.fetchTopicsTrash()
Retrieves a list of the deleted forum topics currently in the trash.
- ForumsTrashService.fetchForumsTrashByDate(String modifySince)
Retrieves a list of the forums that were deleted on a specific date.
This command takes the following parameter:
- modifySince
- A string that specifies the date when the forum was deleted in yyyy.MM.dd format.
- Identify the forum or forum topic to purge from the trash. See Filtering lists of forums for more information about how to narrow down a list of forums.
- To delete a specific forum or forum topic from the trash permanently, use the following commands.
- ForumsTrashService.purgeForumsTrash(vector hashtable)
Purges the specified forums from the trash, where you specify the forums to delete using the hashtable parameter.
For example:
ForumsTrashService.purgeForumsTrash(forumtrash)
- ForumsTrashService.purgeTopicsTrash(vector hashtable)
Purges the specified forum topics from the trash, where you specify the topics to delete using the hashtable parameter.
For example:
ForumsTrashService.purgeTopicsTrash(topictrash)
Related tasks
Start the wsadmin client Move forums to the trash Delete topics from forums Filter lists of forums Manage Forums scheduled tasks
Use the ForumsScheduler administrative commands to manage the tasks scheduled for forums.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details. Forums uses the IBM WebSphere Application Server scheduling service for performing regular managed tasks. For more information about how the scheduler works, see Scheduling tasks.
Forums has one managed task, the TrashAutoPurgeJob task, which removes deleted data from the Forums database. For more information about the TrashAutoPurgeJob task, see Purging forum trash. You can use the ForumsScheduler commands to pause and resume the TrashAutoPurgeJob task, and to retrieve information about the task. The scheduling information is contained in the forum-config.xml file. The SystemOut.log file also contains information about whether the scheduler is running and whether any scheduled tasks have started.
To manage scheduled tasks for Forums, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Forums Jython script interpreter :
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands to administer the Forums scheduler service.
- ForumsScheduler.getTaskDetails(String taskName)
Returns information about the scheduled task specified by taskName. Forums currently has a single managed task . TrashAutoPurgeJob.
The values returned are server time, next scheduled run time, status (SCHEDULED, RUNNING, SUSPENDED), and task name. When the task has been paused, then the status parameter shows as SUSPENDED instead of SCHEDULED. SUSPENDED means that the task is not scheduled to run.
For example:
ForumsScheduler.getTaskDetails("TrashAutoPurgeJob")The resulting output looks similar to the following:{currentServerTime=Wed Feb 03 14:21:47 EST 2010, nextFireTime=Sun Feb 07 02:00:00 EST 2010, status=SCHEDULED, taskName=TrashAutoPurgeJob}
- ForumsScheduler.pauseSchedulingTask(String taskName)
Temporarily pauses the specified task and stops it from running.
When you pause a scheduled task, the task remains in the suspended state even after you stop and restart Forums or the IBM WebSphere Application Server. You need to run the ForumsScheduler.resumeSchedulingTask(String taskName) command to get the task running again.
If the task is currently running, it continues to run but is not scheduled to run again. If the task is already suspended, this command has no effect.
For example:
ForumsScheduler.pauseSchedulingTask("TrashAutoPurgeJob")When a task is paused, a status message similar to the following is written to the SystemOut.log file:[2/3/10 14:28:10:782 EST] 0000002f ForumsNotific I CLFWY0134I: Forums scheduled task 'TrashAutoPurgeJob' fired event 'TaskNotificationInfo.SUSPENDED'
- ForumsScheduler.resumeSchedulingTask(String taskName)
If the task is suspended, puts the task in the scheduled state. If the task is not suspended, this command has no effect.
When a task is resumed, it does not run immediately; it runs at the time when it is next scheduled to run.
For example:
ForumsScheduler.resumeSchedulingTask("TrashAutoPurgeJob")Resuming a paused task causes the following status message to be written to the SystemOut.log file:[2/3/10 14:28:25:407 EST] 00000051 ForumsNotific I CLFWY0134I: Forums scheduled task 'TrashAutoPurgeJob' fired event 'TaskNotificationInfo.RESUMED'
Related
Schedule tasks
Start the wsadmin client Purging forum trash on a schedule Manage file attachments in Forums
You can manage space on the Forums server by limiting the number of attachments that users can upload to a forum post. You can also edit configuration property settings in the forum-config.xml file to prevent your users from uploading file attachments.
Set the maximum number of attachments
Edit configuration property settings to configure the maximum number of files that can be uploaded to a single forum post.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. You can control space on the server by editing settings in the forum-config.xml file to limit the number of attachments that users can upload to a forum post.
To configure the maximum number of attachments that can be uploaded to a single post.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Forums Jython script interpreter.
- Use the following command to access the Forums configuration files:
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Check out the Forums configuration files :
ForumsConfigService.checkOutConfig("working_directory", "cell_name")
where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied. The files are kept in this working directory while you make changes to them.
AIX and Linux only: The directory must grant write permissions or the command will not run successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
ForumsConfigService.checkOutConfig("/opt/my_temp_dir", "ForumServerNode01Cell")
- Open the forum-config.xml file using a text editor.
- Edit the <max-number-attachment-per-post> element in the <objectStore> section of the file to set the maximum number of attachments that can be uploaded per post.
For example, to set the maximum number of attachments per post to 6, you edit the file as follows:
<objectStore> ... <max-number-attachment-per-post>6</max-number-attachment-per-post> ... </objectStore>
- Save your changes and close the forum-config.xml file.
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes in Forums for information about how to save and apply your changes.
Related tasks
Start the wsadmin client Apply property changes in Forums
Disable attachments
Edit configuration property settings to prevent users from uploading file attachments to forums.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. By default, users can upload file attachments to forum topics, however you can disable this functionality by configuring a setting in the forum-config.xml file. If users have already uploaded file attachments to the Forums application and you subsequently disable this capability, the attachments are no longer visible in the user interface. The user interface options for adding and working with attachments are also hidden.
To disable the upload of file attachments in Forums, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Forums Jython script interpreter.
- Use the following command to access the Forums configuration files:
execfile("forumsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Check out the Forums configuration files :
ForumsConfigService.checkOutConfig("working_directory", "cell_name")
where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied. The files are kept in this working directory while you make changes to them.
AIX and Linux only: The directory must grant write permissions or the command will not run successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
ForumsConfigService.checkOutConfig("/opt/my_temp_dir", "ForumServerNode01Cell")
- Open the forum-config.xml file using a text editor.
- Change the value specified for the <allow-upload> property from true to false as follows:
<allow-upload>false</allow-upload>
- Save your changes and close the forum-config.xml file.
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes for information about how to save and apply your changes.
Related tasks
Start the wsadmin client Apply property changes in Forums Enable forum topic posting in different deployments
Enable users to take forum topics in one IBM Connections deployment, and post them to a different IBM Connections deployment.
Users in IBM Connections can click Bookmark or Discuss This on any IBM Connections page to install a Discuss This button in their browser tool bar. When they click the button, the content of the current web or IBM Connections page is added to a forum topic. The user can then choose a forum they have access to, and add the topic to that forum.
The discussThis configuration property allows you to enable a similar Discuss This button on every forum topic page. The button allows users to post the topic as a new topic in a forum in a different IBM Connections deployment which you specify in the discussThis.targetBookmarklet element.
For example, you might have two IBM Connections deployments in your enterprise, A and B. You want users in deployment A forums to be able to post topics to deployment B forums. You would check out the forums-config.xml document in deployment A, and specify the server address where you can access the forums application in B. When a user opens a forum page in deployment A and clicks the Discuss This link, they can select the target forum on deployment B from the pop-up dialog. If the user is not logged into deployment B, they are prompted to log in before they can post the new topic. In order for the Discuss This link to display in the topic page, the user must be a member of the group that the discussThis-user J2EE role on deployment A is mapped to (the default is Everyone).
- On the Forums server in IBM Connections deployment A, check out forums-config.xml. See Changing Forums configuration property values.
- Run the following command in the wsadmin client to enable the feature:
ForumsConfigService.updateConfig("discussThis", "true")
- Run the following command in the wsadmin client to specify the server address where you can access the forums application in deployment B:
ForumsConfigService.updateConfig("discussThis.targetBookmarklet", "http://forums_appserver.enterprise.com:9081/connections/bookmarklet")
- Check in forums-config.xml.
- Restart the Forums application.
Related tasks
Change Forums configuration property values
Roles Restrict forum topic editing to creators
You can restrict the editing of forum topics or replies to their creators. Only someone who created the topic or reply can edit it.
To restrict forum topic editing to creators check out LotusConnections-config.xml, open it in an editor and add some elements, and then check it back in. Then you must use a similar process to check out the forum-policy.xml file, open it in an editor and delete rows containing edit_all_post, and then check it back in.
- Start the wsadmin client :
- Open a command prompt, and then change to the following directory of the system on which you installed the deployment manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01. For example, on
Windows:
C:\Program Files\IBM\WebSphere\AppServer\profiles\Dmgr01\binYou must run the following command to start the wsadmin client from this specific directory because the Jython files for the product are stored here. If you try to start the client from a different directory, then the execfile() command that you subsequently call to initialize the administration environment for an IBM Connections component does not work correctly.
- Enter the following command to start the wsadmin client:
- AIX or Linux:
./wsadmin.sh -lang jython -user admin_user_id -password admin_password -port SOAP_CONNECTOR_ADDRESS Port
- Microsoft
Windows:
wsadmin -lang jython -user admin_user_id -password admin_password -port SOAP_CONNECTOR_ADDRESS Portwhere:
- admin_user_id is the user name of a person in the Administrator role on the IBM WebSphere Application Server.
- admin_password is the password of the WebSphere Application Server administrator.
- SOAP_CONNECTOR_ADDRESS Port is the SOAP port for the WebSphere Application Server deployment manager server. The default value of the SOAP port is 8879. If you are using the default port value, you do not need to specify this parameter. If you are not using the default and you do not know the port number, you can look up its value in the WebSphere Application Server Integrated Solution Console. To look up the SOAP port number, perform the following steps:
- Open the WebSphere Application Server Integrated Solution Console for the deployment manager, and then select System Administration > Deployment Manager.
- In the Additional properties section expand Ports, and then look for the SOAP_CONNECTOR_ADDRESS port entry to find the port number.
For example:
- AIX or Linux:
./wsadmin.sh -lang jython -username primaryAdmin -password p@assword -port 8879
- Microsoft
Windows:
wsadmin -lang jython -username primaryAdmin -password p@assword -port 8879
- Use the wsadmin client to access and check out the IBM Connections configuration files:
- Enter the following command to access the IBM Connections configuration file: execfile("connectionsConfig.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored. This information is not used by the wsadmin client when you are making configuration changes.
- Enter the following command to check out the IBM Connections configuration files:
LCConfigService.checkOutConfig("working_directory","cell_name")
where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not run successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is case-sensitive, so type it with care. If you do not know the cell name, type the following command while in the wsadmin command processor:print AdminControl.getCell()
- AIX or Linux:LCConfigService.checkOutConfig("/opt/temp","foo01Cell01")
- Microsoft
Windows:LCConfigService.checkOutConfig("c:/temp","foo01Cell01")
- Open LotusConnections-config.xml in an editor, and then add the following content:
<properties> <genericProperty name="forceContentEditOnlyByCreator">true</genericProperty> </properties>
- Open LotusConnections-config.xml in a web browser to make sure you did not introduce any errors. XML files that are well formed display in a web browser; if there are errors, the web browser reports that an error was encountered. Fix an errors before proceeding.
- Check the configuration files back in during the same wsadmin session in which you checked them out.
- Update the value of the version stamp configuration property to force users' browsers to pick up this change. Enter the following command to increment the value of the versionStamp property: LCConfigService.updateConfig("versionStamp","gmt_timestamp") where gmt_timestamp is the GMT time. You can specify an empty string for the time stamp or provide a GMT value string. When you specify an empty string, the client calculates the current GMT time and updates the version stamp with that value. If you choose to provide the time, specify it using the following format: yyyyMMdd.HHmmss and specify the time in GMT. It is best to provide an empty string and let the client format the time stamp. For example: LCConfigService.updateConfig("versionStamp",""). See Required post-customization step for more details.
- To check in the changed configuration property files, use the following command:
LCConfigService.checkInConfig()
- After making updates, type the following command to deploy the changes:
synchAllNodes()
- Do not exit the wsadmin client.
- In the wsadmin client, check out the forum-policy.xml file following steps in the topic Editing configuration files.
- Open the forum-policy.xml file in an editor and delete any row containing edit_all_post.
- Check in the forum-policy.xml file following steps in the topic Editing configuration files.
- Stop and restart all of the IBM Connections application servers.
Related tasks
Edit configuration files Required post-customization step Administer the Home page
You can administer site-wide settings for the Home page from the Home page administration user interface or using the wsadmin client.
Home page administration information is contained in the widget catalog, which resides in the HOMEPAGE database. The catalog defines the widgets that have been deployed in the Home page. It also specifies whether the widgets are enabled or disabled, and sets out any prerequisites that the widgets have on IBM Connections applications. The catalog is administered using the Administration view in the Home page user interface. For more information about administering the widget catalog, see Administering the Home page from the user interface.
You can also perform a number of administrative tasks for the Home page from the wsadmin client, for example, synchronizing member IDs between the Home page and the LDAP directory.
Related
Manage users Administer the Home page from the user interface
You can make site-wide changes to the Home page application directly from the Home page user interface.
Users with the Home page administrator role have access to an additional Administration view on their Home page. When you are assigned this role, you can see an Administration option in the navigation sidebar, under the My Page option. Select this option to access a simple, form-based user interface that allows you to perform key tasks.
From the Administration view you can:
- Add custom widgets for use on the Home page
- Enable and disable widgets
- Enable and disable the My Page view
The Home page caches the XML descriptors of widgets in memory on startup. You can refresh the version of the XML descriptor cached in memory for a particular widget by selecting the widget from the Enabled widgets list in the Administration view and clicking Refresh cache. When you refresh the cache, the Home page fetches the latest version of the XML descriptor for the selected widget and updates the memory cache. This option is typically only used for third-party widgets at development time.
Changes made using the administration user interface occur in real time and are immediately reflected in the Home page user interface.
Administer Home page widgets
You can extend the functionality of the Home page application by adding custom widgets and extend IBM Connections by adding OpenSocial gadgets. To make the widgets and gadgets available for use, you can add them from the Administration view and then enable them for use.
The widgets that you add to the Home page can be based on the iWidget specification, which uses technology based on JavaScript, XML, HTML, and CSS, or the OpenSocial gadget specification. The widget files are stored on an HTTP server.
The gadgets that you add to IBM Connections need to be based on the OpenSocial gadget specification, which enables you to surface gadgets in an OpenSocial container that can interact with an OAuth 2.0 protected service
The widget files can be bundled as EAR applications and deployed on IBM WebSphere Application Server. They can also be hosted in LAMP, .NET, and other environments.
You can add two types of third-party widget to the Home page:
Any widget can be used as a default or optional widget.
- Opened by default
- This type of widget displays by default, but can be removed or hidden. It can also be moved to a different location. For example, the To Do List widget that displays in the Updates view is opened by default.
- Optional
- This type of widget is available for users to add to their Home page if they select it from the widget catalog. Optional widgets can be added, removed, hidden, or moved by Home page users.
Third-party widgets can be added to the side column in the Updates view and to any column in the My Page view.
Configure widgets for the Home page
You can add widgets to the widget catalog to meet the needs of your users. Ensure that the widgets that you add to the catalog are from trusted sources. The widget catalog allows you to administer OpenSocial gadgets for the entire IBM Connections system including Embedded Experiences and Share Dialog gadgets as well as gadgets and iWidgets that are specific to the Home page.
To add widgets via the Home page, you must be logged in as an administrator. If you do not see an Administration option display under the My Page option in the navigation sidebar on the Home page, this means that you are not configured as an administrator of the Home page application. See Configuring the Home page administrator for more details.
If you wish to add gadgets deployed externally, such as iGoogle gadgets, you must configure locked domains. Locking domains isolates semi-trusted gadgets and prevents them from accessing SSO tokens or via DOM access to the parent page of the gadget iFrame that can be used to forward sensitive data to external sites. For more information on locked domains, refer to Enable locked domains.
To add a widget to the widget catalog, complete the following steps:
- Open the Administration view.
- Click Add another widget to display the Add new widget form.
- Specify whether you are adding a widget that is based on the iWidget specification or the OpenSocial gadget specification. To allow users to be able to integrate applications such as Facebook, Twitter, and LinkedIn into their IBM Connections client experience, select OpenSocial gadget. Selecting OpenSocial gadget opens the Gadget settings with Activity stream or Share dialog subform, on which you need to specify the following additional options:
- For Security, select either a Trusted or a Restricted security type. Make your selection based on the following considerations:
- Trusted gadgets can access a wider selection of container APIs and they can interact with IBM Connections data. Even though a gadget is marked as "trusted", its data access is still isolated from SSO data when used in combination with locked domains.
- Select Use SSO token for trusted enterprise gadgets. Selecting this feature disables all of the security provided by locked domains for this particular gadget.
- In general, gadgets should be written to utilize OAuth unless they are speaking to a "legacy" system that has not been OAuth enabled. For 4.0, all of the Connections APIs are now OAuth enabled. Currently SSO is not a standard OpenSocial feature, but specific to the Common Rendering Engine (CRE). Some IBM Containers, such as Notes® Social Edition, do not support the SSO feature at all at the time of this writing.
- Restricted gadgets are limited in terms of the OpenSocial features. For example, they are not able to popup model dialogs. In general, you should always scope gadget feature access as narrowly as possible. Use this setting if the gadget does not require the additional page API features provided to trusted gadgets.
You should not put any external (restricted) gadgets into IBM Connections if you have not configured locked domains.
- For UI integration points select
...where the gadget should be inserted in the user interface:Show in Share dialog or Show for Activity stream events or both.
Your gadget will display after the IBM Connections gadgets in the Share dialog.
- Select the Server access via proxy preference as follows:
- Only outside the intranet prevents the gadget from accessing your intranet servers. Unless specifically configured, the system will deem a server as part of the intranet if it is part of the WebSphere SSO domain. If this scoping is too narrow, it can be expanded via additional configuration settings.
- All servers allows the gadget to access URLs in your intranet as well as outside it.
- Custom rule defined for this gadget in the proxy-policy.dynamic file enforces settings defined in the policy file. For more information refer to Configuring per-host proxy access rules for OpenSocial gadgets.
- In the Service Mappings section, create a new mapping between an OAuth client, such as Facebook or Twitter, and its associated service, or edit or remove an existing mapping.
OAuth clients must be pre-configured via wsadmin commands. This setting just manages the association of the clients with individual gadgets.
For more information about OAuth tokens, refer to Configure OAuth for custom gadgets.
- Click Add Mapping to create a new mapping between an OAuth service and an OAuth client. In the fields that display, select an OAuth Client name and enter the associated Service Name.
- Select an existing mapping in the map list and then click Edit Mapping to update the mapping.
- Select an existing mapping in the map list and then click Delete Mapping to remove that mapping from the list.
- Enter a name for the widget in the Widget Title field.
- Enter a short description of the widget in the Description field.
- Enter the web address for the XML widget descriptor in the URL Address field. This address must be an absolute web address.
- Enter the widget location in the Secure URL Address field. This address must be an absolute web address.
- Enter the web address for an icon to associate with the widget in the Icon URL field. This image is used to represent the widget when it is docked in the widget palette.
- Enter the location of an icon to display for the widget in the Icon Secure URL field. This icon displays when the widget is docked in the content palette.
- Select Use IBM Connections specific tags to indicate if the widget deployment descriptor uses specific IBM Connections tags to represent the URLs of the IBM Connections applications.
- To display the widget in the My Page view, select Display in the My Page view. You must display the widget in the My Page view or the Updates view, or both.
- To display the widget in the Updates view, select Display in the Updates view. You must display the widget in the My Page view or the Updates view, or both.
- To display the widget when users open the Home page for the first time, select Opened by default. The widget will not display for existing users, but it will be available from the widget palette so that they can add it whenever they want.
- To enable multiple instances of the widget to be used, select Multiple widgets. Each widget instance has its own properties, which can be useful. For example, if you are using a widget that displays bookmarks for a specific tag, you might want to enable multiple instances of the widget so that you can follow different tags in each widget.
This setting is only applicable for iWidgets. Only one instance of an OpenSocial gadget may be loaded at a time.
- If there are specific IBM Connections applications that must be included in your deployment for the widget to function correctly, select the required applications in the Prerequisites area.
When an IBM Connections application is selected as a prerequisite but that application is not installed, the widget does not display on the Home page. For gadgets that declare dependencies this way, they will act as though they are "disabled" for the purposes of whitelisting if all of their dependencies are not met.
- Click Save.
What to do next
If you are adding widgets that are hosted on third-party servers, then you might need to update your proxy configuration. For more information on configuring the Ajax proxy, see Configuring the AJAX proxy for a specific application.
Enable Home page widgets
You need to enable widgets before they can display on the Home page or elsewhere in IBM Connections. The Home page administration user interface lists the current status of widgets in the widgets catalog, and allows you to enable and disable widgets as needed. All changes made in the user interface, including enabling and disabling widgets, take immediate effect without the need for application restart.
To change a widget's status to enabled, complete the following steps.
- Open the Administration view.
- In the Disabled widgets area, select the widget to enable and click Enable.
Disable Home page widgets
You can disable widgets from displaying on the Home page or elsewhere in IBM Connections when you no longer want them to be available to your users. Set a widget's status to disabled means that it no longer displays on the Home page. The Home page administration user interface lists the current status of widgets in the widget catalog, and allows the administrator to enable and disable widgets as needed. All changes made in the user interface, including enabling and disabling widgets, take immediate effect without the need for application restart.
To change a widget's status to disabled, complete the following steps.
- Open the Administration view.
- In the Enabled widgets area, select the widget to disable and click Disable.
Edit Home page widgets
Edit a widget to change its name, description, or deployment descriptor. You can edit a widget to update the icon associated with the widget when it is docked, specify whether the widget deployment descriptor uses particular IBM Connections tags to represent the URLs of IBM Connections applications, and select IBM Connections applications as prerequisites for the widget.
For system widgets that are installed as part of IBM Connections, you can only change the name of the widget.
To edit a widget.
- Open the Administration view.
- Select the widget to edit and click Edit.
- Make the necessary changes in the Edit widget form and then click Save.
Remove Home page widgets
If a third-party widget is no longer used or needed, you can remove it from the widget catalog. You cannot remove IBM Connections widgets from the catalog, you can only disable them.
To remove a third-party widget from the widget catalog, complete the following steps.
- Open the Administration page.
- Select the widget to remove, and then click Remove.
Enable and disable the My Page view
You can control whether the My Page view is available to your users by enabling or disabling it from the Administration view. When you install IBM Connections, the My Page view is disabled by default. If you have migrated from a previous version of the product, the view is enabled by default. You can override the default setting from the Administration view.
To enable or disable the My Page view, complete the following steps:
- Open the Administration view.
- Select Enabled or Disabled from the The Widget page is currently list, and then click Save.
Administer the Home page using the wsadmin client
Although most of the Home page administration tasks are performed using the Home page user interface, there are some administrative functions that you must perform using the wsadmin client.
For example, you can use wsadmin commands to access the configuration files for the Get Started wizard and force the Get Started view to be the default view for Home page users.
Related
Synchronize user data using administrative commands
Start the wsadmin client Customize the Get Started view
Administer Blogs using the wsadmin Client
Home page administrative commands
Use the commands listed to perform administrative tasks for the Home page application.
The following sections define the commands that you can use when working with the Home page. Each section describes the commands for a specific service. The commands are listed in alphabetical order.
HomepageCellConfig commands
- HomepageCellConfig.checkInGetstartedConfig("working_directory", "cell_name")
Checks in the configuration files for the Get Started wizard
...where the working_directory and cell_name parameters contain the same values you specified for the checkout location. See the description for the HomepageCellConfig.checkOutGetstartedConfig command for more information.
- HomepageCellConfig.checkOutGetstartedConfig("working_directory","cell_name")
Checks out the configuration files for the Get Started wizard where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command will not run successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX/Linux:
HomepageCellConfig.checkOutGetstartedConfig("/opt/act/temp","foo01Cell01")
- Microsoft
Windows:
HomepageCellConfig.checkOutGetstartedConfig("c:/act/temp","foo01Cell01")
HomepagePersonService commands
- HomepagePersonService.resetWelcomeFlagAllMembers()
Forces the Get Started view to be the default Home page view for all users.
- HomepagePersonService.resetWelcomeFlagMemberByEmail(String email)
Forces the Get Started view to be the default Home page view for the user specified by email address.
For example:
HomepagePersonService.resetWelcomeFlagMemberByEmail("jsmith@example.com")
- HomepagePersonService.resetWelcomeFlagMemberByLoginName(String loginName)
Forces the Get Started view to be the default Home page view for the user specified by login name.
For example:
HomepagePersonService.resetWelcomeFlagMemberByLoginName("Joe Smith")
- HomepagePersonService.resetWelcomeFlagBatchMembersByEmail(String fileName)
Forces the Get Started view to be the default Home page view for the users listed in the specified text file. Define the people by adding one person's email per line.
For example:
HomepagePersonService.resetWelcomeFlagBatchMembersByEmail("/opt/Homepage/emails.txt")
- HomepagePersonService.resetWelcomeFlagBatchMembersByLoginName(String fileName)
Forces the Get Started view to be the default Home page view for the users listed in the specified text file. Define the people by adding one person's login name per line.
For example:
HomepagePersonService.resetWelcomeFlagBatchMembersByLoginName("/opt/Homepage/logins.txt")
Related
Synchronize user data using administrative commands
Forcing the Get Started view to be the default Home page view Customize the Get Started view
Forcing the Get Started view to be the default Home page view
Use an administrative command, you can force the Get Started view to be the default view for all users or a subset of users.
To use administrative commands, you must use the wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. When you first open the Home page, the Get Started view is displayed by default. Users can select a check box in the Get Started view to prevent it from being displayed each time they log in. However, you can use an administrative command to force it to be the default view for all users or for a subset of users. You might want to set this view as the default if, for example, you added an important enterprise-wide message to the page that you want people to read.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Home page Jython script interpreter.
- Use the following command to access the Home page configuration files.
execfile("homepageAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use one of the following commands to force the Get Started view to be displayed for the specified users:
- HomepagePersonService.resetWelcomeFlagAllMembers()
Forces the Get Started view to be the default Home page view for all users.
- HomepagePersonService.resetWelcomeFlagMemberByEmail(String email)
Forces the Get Started view to be the default Home page view for the user specified by email address.
For example:
HomepagePersonService.resetWelcomeFlagMemberByEmail("jsmith@example.com")
- HomepagePersonService.resetWelcomeFlagMemberByLoginName(String loginName)
Forces the Get Started view to be the default Home page view for the user specified by login name.
For example:
HomepagePersonService.resetWelcomeFlagMemberByLoginName("Joe Smith")
- HomepagePersonService.resetWelcomeFlagBatchMembersByEmail(String fileName)
Forces the Get Started view to be the default Home page view for the users listed in the specified text file. Define the people by adding one person's email per line.
For example:
HomepagePersonService.resetWelcomeFlagBatchMembersByEmail("/opt/Homepage/emails.txt")
- HomepagePersonService.resetWelcomeFlagBatchMembersByLoginName(String fileName)
Forces the Get Started view to be the default Home page view for the users listed in the specified text file. Define the people by adding one person's login name per line.
For example:
HomepagePersonService.resetWelcomeFlagBatchMembersByLoginName("/opt/Homepage/logins.txt")
Related tasks
Customize the Get Started view
Home page administrative commands Administer Metrics
Administer metrics in IBM Connections by modifying configuration settings, backing up data, and running commands to perform maintenance tasks.
About this task
IBM Connections provides vital metrics about your deployment. Metrics are presented simply, using charts that provide clear business value to users, executives, and administrators. IBM Connections metrics are supported by IBM Cognos® Business Intelligence, which you install as part of the Connections deployment. IBM Connections application events, such as reading or creating objects, generate metrics that are stored in a database, which synchronizes with a Cognos PowerCube to store data so it can be accessed along different dimensions. When a Connections user runs a Metrics report, the Cognos server sends the data to the IBM Connections metrics interface.
Authorized users can work with the charts interactively, filtering data by parameters such as geography and time period, and drilling down into data points for more detail. The Connections administrator can customize reports using a suite of Cognos tools. Refer to the Cognos documentation for detailed information on customizing reports as well as administering the PowerCube as well as the Cognos server.
What are metrics?
The new Metrics application in IBM Connections provides a comprehensive set of quantitative (measures) and qualitative (descriptions) metrics that help measure the business value of IBM Connections in your organization. Connections uses IBM Cognos Business Intelligence to collect and maintain metrics, and to generate reports that users can view directly in Connections. Metrics reports can be presented as tables or charts that you refine by selecting options such as the time period to report on, a particular application to focus on, and how to group users in the results.
Statistics related to the Search application are not collected or reported by the Metrics application. For information on search statistics, see Viewing and collecting Search metrics.
Connections provides metrics on two levels, global and community. Global metrics report on overall usage (all users across all applications); for example, the total number of people who logged into Connections last week. Global metrics are updated on a daily basis; refreshes are typically scheduled during off-peak hours to avoid degrading system performance for users.
Community metrics report on a particular community; for example, the number of people who logged into the Sales community last week. Community metrics are generated on demand and are then cached until a new report is requested. Requests are place into a queue and are processed in order. After submitting a request to update metrics, the community owner can work in other areas and return when the report is ready for viewing.
The Connections administrator has implicit access to all metrics reports. Community owners can view metrics for their own community, but cannot view global metrics. Additional users who require the information can be authorized to view global metrics; for example, a high-level manager might require access to metrics for business purposes even if he or she does not manage a community.
The Metrics application comprises the following components.
- Event tracker
- The event tracker records user actions in Connections; for example, an event is created every time a Connections user reads a blog entry, creates a "To do" item in an activity, updates a wiki page, or follows a community. These events are then used to calculate various metrics based on their timing and frequency.
- Database
- Event data is stored in database tables and includes information about each event, such as the user who performed an action, the data that was acted upon, the date the event occurred, and the Connections application that was affected. Connections requires two DBs for managing metrics data: the Cognos Content Store database contains data needed for managing the Cognos Business Intelligence components that provide the metrics collection and reporting tools, and the Metrics database contains the raw event-related data.
- PowerCube
- Cognos Business Intelligence uses a cube to store metrics information for analysis. A cube is a data structure in which data is stored across multiple categories, or dimensions. The Metrics PowerCube is generated by the Cognos Transformer application. The PowerCube uses OLAP (online analytical processing) techniques for quickly analyzing a measure across multiple dimensions; for example to count user logins across multiple Connections applications during a specified period of time. Pre-aggregating the data for each measure across the available dimensions enables the PowerCube to respond quickly to queries so that reports can be produced in a timely manner.
The PowerCube is based on the metrics model, which is a business-oriented representation of the information from the metrics cube datasource that includes the dimensional metadata and measures. The metrics cube datasource is a Cognos package that defines the queries that retrieve data from the PowerCube.
- Reports
- A report is a summary of the data provided by the PowerCube in response to a particular query. Reports can be scheduled to run automatically at specified times, and are presented to the user as tables, charts, or other types of graphs. When you deploy IBM Connections, a predefined set of reports is immediately available for use. You can additionally create custom reports to suit your organization.s needs.
Reports are designed with three standard filters that categorize data in the displays:
- The applications filter groups data for a specific application scope, either across Connections or within a particular community; for example to view only blogs owned by the Customer Support community.
- The time range filter groups allows a report to focus on a particular period of time by including only data for one of the following predefined intervals:
- Last 7 days
- Last 4 weeks
- Last quarter
- Last 12 months
- All years
- The user attribute filter groups data about people based on predefined user profile attributes (geography, department, and role). For information on customizing the user attribute filter for your organization.s reports, see Map Metrics report dimensions to user profile attributes.
- User interface
- Connections provides a user interface for displaying reports. When viewing reports, authorized users can apply filters to collect and categorize data, drill down on data points to see more detail, and save a copy of the report.
The Metrics event-tracking component captures events from IBM Connections, such as viewing a blog entry, replying to a forum topic, uploading a file, or updating wiki page. Events are stored in the raw Metrics database. A scheduled job runs the Cognos Transformer application to retrieve data from the raw Metrics database and generate the PowerCube. When a user accesses the Metrics user interface in IBM Connections, the Cognos Business Intelligence application generates metrics reports by querying the PowerCube.
Manage the Metrics environment
You can manage the Metrics environment by modifying configuration settings and running administrative commands that determine how Metrics data is collected and reported.
Manage the metrics environment by using the wsadmin client to specify settings in a configuration file or to run administrative commands.
The configuration file contains settings that control when and how Metrics operations are performed. When you make configuration changes, you use scripts to check out the Metrics configuration file, modify settings, and then check the file back in. A server restart is required for your changes to take effect.
Administrative commands perform tasks that manipulate Metrics content, change member access levels and synchronize member IDs, and manage scheduled tasks in Metrics.
Manage the scheduled tasks for Metrics
Use administrative commands to manage scheduled tasks in Metrics.
To run administrative commands, you must use the wsadmin client. See Start the wsadmin client for details.
Metrics uses the IBM WebSphere Application Server scheduling service for performing regular managed tasks. For more information about how the scheduler works, see Schedule tasks.
To manage a task:
- Start the Metrics Jython script interpreter.
- Access the Metrics configuration file:
execfile("metricsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node.
If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands to administer the Metrics scheduler service.
MetricsSchedulerService.getTaskDetails(java.lang.String taskName)Returns information about the scheduled task specified by taskName. Specify one of the following jobs:
- "ReportGenerator"
- "MetricsDBCleanup"
- "DataSynchronization"
The values returned are server time, next scheduled run time, status (SCHEDULED, RUNNING, SUSPENDED), and task name. When the task has been paused, then the status parameter shows as SUSPENDED instead of SCHEDULED. SUSPENDED means that the task is not scheduled to run.
For example:
MetricsSchedulerService.getTaskDetails("ReportGenerator")returns output similar to the following:
{currentServerTime=Fri Jan 22 14:13:52 EST 2010, nextFireTime= Fri Jan 22 14:21:00 EST 2010, status=SCHEDULED, taskName=ReportGenerator}
MetricsSchedulerService.pauseSchedulingTask(java.lang.String taskName)Temporarily pauses the specified task and stops it from running.
When you pause a scheduled task, the task remains in the suspended state even after you stop and restart Metrics or the IBM WebSphere Application Server. You must run the MetricsScheduler.resumeSchedulingTask(String taskName) command to get the task running again.
If the task is currently running, it continues to run but is not scheduled to run again. If the task is already suspended, this command has no effect.
For example:
MetricsSchedulerService.pauseSchedulingTask("ReportGenerator")returns output similar to the following:
ReportGenerator paused
MetricsSchedulerService.resumeSchedulingTask(java.lang.String taskName)If the task is suspended, puts the task in the scheduled state. If the task is not suspended, this command has no effect.
When a task is resumed, it does not run immediately; it runs at the time when it is next scheduled to run.
For example:
MetricsSchedulerService.resumeSchedulingTask("ReportGenerator")returns output similar to the following:
ReportGenerator resumed
Manage Metrics configurations
You can modify configuration settings to control how the Metrics application behaves. You can also use the configuration information to map user profile attributes to report dimensions.
Modify configuration properties
Configuration settings control how and when various Metrics operations take place. You can edit the settings to change the way the Metrics application behaves by modifying configuration properties.
To edit configuration files, use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool.
Configure Metrics using scripts accessed with the wsadmin client. These scripts use the AdminConfig object, available in the WebSphere Application Server wsadmin client, to modify the Metrics configuration file. Changes to Metrics configuration settings require node synchronization and a restart of the Metrics server before they take effect.
To edit Metrics configuration properties, complete the following steps:
- Start the wsadmin client.
- Start the Metrics Jython script interpreter.
- Access the Metrics configuration file:
execfile("metricsAdmin.py")If you are asked to select a server, you can select any server.
- Check out the Metrics configuration files :
MetricsConfigService.checkOutConfig("working_directory", "cell_name")where
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied. The files are kept in this working directory while you make changes to them.
AIX and Linux only: The directory must grant write permissions or the command will not run successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the IBM Connections application. This argument is required. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()For example:
MetricsConfigService.checkOutConfig("/opt/my_temp_dir", "CommServerNode01Cell")
- Optional: To view a list of the valid Metrics configuration settings and their current values, use the following command: MetricsConfigService.showConfig()
Here is some sample output from the MetricsConfigService.showConfig() command:
Metrics configuration properties: cognos.namespace = IBMConnections cognos.secsPerRequest = 1200 communitiesMetricsDateRange.all.enabled = true communitiesMetricsDateRange.last12months.enabled = true communitiesMetricsDateRange.last4weeks.enabled = true communitiesMetricsDateRange.last7days.enabled = false communitiesMetricsDateRange.lastquarter.enabled = true db.dialect = DB2Only properties in metrics-config.xml are printed by the MetricsConfigService.showConfig() command. Configurations of custom reports are not listed.
- Modify configuration properties using the appropriate method:
- Some Metrics configuration properties can be edited using the wsadmin client:
MetricsConfigService.updateConfig("property", "value")where property is one of the editable Metrics configuration properties and value is the new value with which you want to set that property. For example:
MetricsConfigService.updateConfig("communitiesMetricsDateRange.last7days.enabled", "false")
- Properties that are not listed as being editable with the wsadmin client can be edited directly in the configuration file: open the file in a text editor, and then make your changes.
- Check in the changed configuration property keys using the following wsadmin client command: MetricsConfigService.checkInConfig()
- Update the value of the version stamp configuration property in LotusConnections-config.xml to force browsers to pick up this change.
See Required post-customization step for more details.
- Exit the wsadmin client by running the exit command.
- Restart the server to apply your changes.
What to do next
After updating the Metrics properties with new values, you can use the MetricsConfigService.showConfig() command to display the list of properties and their updated values.
Metrics configuration properties
Configuration properties control how and when various Metrics operations occur and help optimize performance.
You can modify the following configuration properties in the metrics-config.xml file. After making changes to the file, restart the server to implement the changes.
Restriction: Note the following restrictions on the values allowed in the file:
- All configuration properties, except those with multiple values, are required.
- .enabled properties must have boolean values of either true or false.
- Number values must be integers.
- communitiesMetricsDateRanges group
- Five configuration properties that specify the scope of date ranges against which community metrics static reports should be generated. Generating reports for all 5 date ranges can be time consuming. You can reduce report generation time by disabling one or more date ranges. A disabled date range is not displayed in the community metrics application. The 5 date ranges properties specify the last 7 days, last 4 weeks, last quarter, last 12 months, and all years.
- communitiesMetricsDateRange.last7days.enabled
- communitiesMetricsDateRange.last4weeks.enabled
- communitiesMetricsDateRange.lastquarter.enabled
- communitiesMetricsDateRange.last12months.enabled
- communitiesMetricsDateRange.all.enabled
- scheduledTasks group
- Properties for the three scheduler tasks used by Metrics. Each task has two properties, "enabled" and "interval". "enabled" determines whether the task is run or not. If the value is false, the task is still registered, but does not run. "interval" specifies the task schedule. To get more information on how to configure the scheduler tasks, See Manage the scheduler.
- scheduledTasks.ReportGenerator.enabled
- scheduledTasks.ReportGenerator.interval
- scheduledTasks.MetricsDBCleanup.enabled
- scheduledTasks.MetricsDBCleanup.interval
- scheduledTasks.DataSynchronization.enabled
- scheduledTasks.DataSynchronization.interval
- db.dialect
- Reflects the current database type, typically specified during installation.
Valid values include DB2, Oracle, or SQL Server.
- UserAttributesMappings group
- Contains three configuration properties that define the mapping relationship between the user attribute filters used in Metrics and user properties in Profiles.
Metrics supports up to three report dimensions that are based on user attributes defined in Profiles. By default, the three dimensions are Geography, Department, and Role. You can redefine them by mapping the preceding attributes to other available attributes in Profiles. For more information, see Map user profile attributes to report dimensions.
- userAttributesMappings.attribute1
- userAttributesMappings.attribute2
- userAttributesMappings.attribute3
- eventLifetimeInMonths
- Number of months from the date a metrics event is created until it is removed from the database. Metrics events are periodically removed from the database. You can change this value based on your database's capacity.
The value must be greater than 0.
- privacy.displayReportWithUserName
- User names are not displayed in all reports if this configuration is set to "false".
By default, the value is "true". Valid values are "true" and "false".
- cognos.namespace
- Specifies the authentication namespace ID configured during IBM Cognos Business Intelligence installation. The authentication namespace defines a group of properties that allows Cognos to access an LDAP for user authentication.
Must be the same as what you defined in the Cognos configuration. Otherwise, you might have authentication issues when accessing Metrics.
- cognos.secsPerRequest
- Specifies the estimated time to generate a whole set of reports for a community. This value is used when Metrics calculates the estimated finish time of Community Metrics report generation. Be default, the value is 1200, which is measured on a normal two-CPU server. You can change this value based on the capacity of your server.
The value must be in seconds and must be greater than 0.
Map user profile attributes to report dimensions
Edit Metrics configuration files to map various user profile attributes to Metrics report dimensions.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool.
Metrics reports support up to three different dimensions. The dimensions are based on user profile attributes, such as "com.ibm.snx_profiles.base.title", which specifies the user role. By default, the three attributes are:
- com.ibm.snx_profiles.base.countryCode
- Mapped to the "Geography" dimension in Metrics reports
- com.ibm.snx_profiles.base.orgId
- Mapped to the "Department" dimension in Metrics reports
- com.ibm.snx_profiles.base.title
- Mapped to the "Role" dimension in Metrics reports
To get the full list of Profiles attributes through the administration ATOM API provided by Profiles, refer to Retrieve the Profiles Administration API service document in the IBM Social Business wiki.
The following Profiles attributes contain codes instead of real values:
- com.ibm.snx_profiles.base.deptNumber
- com.ibm.snx_profiles.base.countryCode
- com.ibm.snx_profiles.base.orgId
- com.ibm.snx_profiles.base.employeeTypeCode
- com.ibm.snx_profiles.base.workLocationCode
If any of these attributes are used, Metrics shows real values in the reports.
To manage a task, complete the following steps:
- Start the Metrics Jython script interpreter.
- Access the Metrics configuration file:
execfile("metricsAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node.
- Use the following command to check out the Metrics configuration file metrics.xml:
MetricsConfigService.checkOutConfig("working_directory", "cell_name")
- Modify metrics-config.xml directly or use MetricsConfigService.updateConfig() to update the Profiles attributes mappings.
- Use the following command to check in the Metrics configuration file metrics.xml:
MetricsConfigService.checkInConfig()
- Define names for customized attributes with customized product strings. Set new values for the following properties in Metrics properties file com.ibm.connections.metrics.ui.strings.ui_xx.properties,
...where xx is the language identifier in metrics.ear/lc.metrics.ui.jar:
- METRICS.FILTER.DIMENSION.OPTIONS.ATTRIBUTE1
- METRICS.FILTER.DIMENSION.OPTIONS.ATTRIBUTE2
- METRICS.FILTER.DIMENSION.OPTIONS.ATTRIBUTE3
See Customize product strings for more details.
- Save all changes and restart the server on which Metrics is deployed.
Run Metrics administrative commands
Use administrative commands from the wsadmin command line to directly interact with Metrics.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details.
Administrative commands interact with the Metrics application and its resources through scripts. These scripts use the AdminControl object available in the IBM WebSphere Application Server wsadmin tool to interact with the Metrics server. Each script uses managed Java beans (MBeans) to get and set server administration properties. You do not need to check out files before running administrative commands, and you do not need to restart the server for the commands to take effect.
See Metrics administrative commands for a complete list of other administrative commands for the Metrics application.
To run Metrics administrative commands, complete the following steps:
- Start the wsadmin client.
- Start the Metrics Jython script interpreter.
- Access the Metrics configuration file: execfile("metricsAdmin.py") If an error occurs when you are executing the commands, examine the SystemOut.log file to determine the error.
Metrics administrative commands
You can manage the Metrics services by using the wsadmin client to perform administrative commands that allow you to check files in and out and modify settings. Administrative commands do not require a server restart to take effect.
You must use the wsadmin client to run administrative commands. For information, see Starting the wsadmin client.
Each section describes the commands for a specific service.
MetricsConfigService
MetricsConfigService.checkOutConfig("working_directory", "cell_name")Checks Metrics configuration files out to a temporary directory. Run from the wsadmin command processor.
- working_directory
- Temporary working directory to which the configuration files are copied. The files are kept in this working directory while you make changes to them.
- cell_name
- Name of the WebSphere Application Server cell hosting the application. If you do not know the cell name, type the following command in the wsadmin command processor:
print AdminControl.getCell()For example:
- IBM AIX or Linux: MetricsConfigService.checkOutConfig("/opt/my_temp_dir", "CommServerNode01Cell")
- Microsoft
Windows: MetricsConfigService.checkOutConfig("c:/temp","foo01Cell01")
MetricsConfigService.showConfig()Displays the current configuration settings. You must check out the configuration files with MetricsConfigService.checkOutConfig() before running MetricsConfigService.showConfig().
MetricsConfigService.updateConfig("quick_config_property", "new_value")Updates configuration properties.
- quick_config_property
- Property in the metrics-config.xml configuration file expressed as a quick config command. For example, the quick config value for following property:
<databaseCleanup> <eventLifetimeInMonths>12</eventLifetimeInMonths> </databaseCleanup>is eventLifetimeInMonths. See Metrics configuration properties for configuration properties and descriptions.
- new_value
- The new value for the property. Property values can be restricted, for example, to either true or false. e Metrics configuration properties for configuration properties and descriptions.
For example, to set the scheduledTasks.ReportGenerator.enabled property to false, use the following command:
MetricsConfigService.updateConfig("scheduledTasks.ReportGenerator.enabled", "false")
MetricsConfigService.checkInConfig()Checks in Metrics configuration files. Run from the wsadmin command processor.
MetricsMemberService
- MetricsMemberService.syncAllMembersByExtId( {"updateOnEmailLoginMatch": ["true" | "false"] } )
- MetricsMemberService.syncMemberByExtId("currentExternalId"[, {"newExtId" : "id-string" [, "allowExtIdSwap" : ["true" | "false"] ] } ] )
- MetricsMemberService.inactivateMemberByEmail("email")
- MetricsMemberService.inactivateMemberByExtId("externalID")
- MetricsMemberService.getMemberExtIdByEmail("email")
- MetricsMemberService.getMemberExtIdByLogin("login")
- MetricsMemberService.syncBatchMemberExtIdsByEmail("emailFile" [, {"allowInactivate" : ["true" | "false"] } ] )
- MetricsMemberService.syncBatchMemberExtIdsByLogin("loginFile" [, {"allowInactivate" : ["true" | "false"] } ] )
- MetricsMemberService.syncMemberExtIdByEmail("email" [, { "allowInactivate" : ["true" | "false"] } ])
- MetricsMemberService.syncMemberExtIdByLogin("name" [, {"allowInactivate": ["true" | "false"] } ])
See Synchronize user data using administrative commands for details.
MetricsUsersService
MetricsUsersService.reloadUsersAttributes()Synchronize user information with Profiles immediately.
User synchronization runs periodically by the "DataSynchronization" scheduler task to get detailed information of users captured in Metrics raw data.
By default, user synchronization runs daily. Use MetricsUsersService.reloadUsersAttributes() if you want to run synchronization ahead of the scheduled time.
MetricsSchedulerService
MetricsSchedulerService.pauseSchedulingTask(string taskName)Suspends scheduling of a task. This has no effect on currently running tasks. Paused tasks remain paused until you explicitly resume them, even if the server is stopped and restarted.
- taskName
- A string value containing one of the following:
For example: MetricsSchedulerService.pauseSchedulingTask("ReportGenerator")
- ReportGenerator
- MetricsDBCleanup
- DataSynchronization
MetricsSchedulerService.resumeSchedulingTask(string taskName)Resumes the start of a paused task.
- taskName
- A string value containing one of the following:
For example: MetricsSchedulerService.resumeSchedulingTask("ReportGenerator")
- ReportGenerator
- MetricsDBCleanup
- DataSynchronization
MetricsSchedulerService.forceTaskExecution(string taskName string executeSynchronously)Runs a task.
Property settings in the metrics-config.xml configuration properties file specify whether tasks are enabled to run automatically, and how often. This command allows you to run tasks manually, for example, if you disabled a task but want to run it at specified times.
- taskName
- A string value containing one of the following:
- ReportGenerator
- MetricsDBCleanup
- DataSynchronization
- executeSynchronously
- Takes the string values true or false. Specifying this value is optional, and the default value is false. If this value is false, then the task executes asynchronously, meaning that if the taskId is valid, the command returns immediately and execution continues in the background. If this value is true, the command does not return until the task completes. For example: MetricsSchedulerService.forceTaskExecution("ReportGenerator")
MetricsSchedulerService.getTaskDetails(string taskName)Displays the status of a task and returns a detailed status message.
For example: MetricsSchedulerService.getTaskDetails("ReportGenerator")
- taskName
- A string value containing one of the following:
- ReportGenerator
- MetricsDBCleanup
- DataSynchronization
Update the Cognos server with fix packs
Apply available fix packs to the Cognos Business Intelligence server to provide important product corrections.
You should check with IBM Fix Central periodically in case additional fix packs were made available after this documentation was published. Download the latest fix pack and apply it to the Cognos server. Fix packs are cumulative; when you install the latest fix pack, it includes updates from all previous fix packs.
For additional information on updating Cognos Business Intelligence with fix packs, see Install Fix Packs in the Cognos information center.
- Stop IBM WebSphere Application Server and verify that all Cognos services have stopped before proceeding to the next step.
After stopping the server, wait at least 1 full minute to ensure that all Cognos processes have stopped:
- IBM AIX or Linux: cgsServer.sh and CAM_LPSvr processes
- Microsoft
Windows: cgsLauncher.exe and CAM_LPSvr processes
- Download fix packs for Cognos Business Intelligence from IBM Fix Central.
- Review the fix pack prerequisites and make sure your deployment satisfies all requirements.
- Download the appropriate compressed tar file for your operating system using the links in the "Download Package" section.
Some browsers might change a downloaded file.s type from .tar.gz to a file type not recognized by the operating system. To correct this, change the file type back to .tar.gz after the download is complete. Using Download Director will prevent inadvertent renaming of files at download.
- Expand the downloaded fix pack.
AIX or Linux
- Open command prompt or terminal window.
- Change to the directory where you have downloaded the fix pack.
- Run the following command to expand the package using either GNU Zip (gzip) or GNU Tar (tar):
gunzip fix_pack_file_name.tar.gz | tar xvf .Windows
- Open a command prompt.
- Change to the directory where you have downloaded the fix pack.
- Expand the package using your file compress and decompress utility (if you are using WinZip, select the option "Use folder names" to retain the package.s folder structure).
- Apply the fix pack:
AIX or Linux:
- Change to the directory where you expanded the fix pack.
- Now change to the following subdirectory:
- AIX: /aix64h
- Linux: /linuxi38664h
- zLinux: /zlinux64h
- Run the following command: ./issetup
If you do not use XWindow, run an unattended installation as explained in Set Up an Unattended Installation Using a File From an Installation on Another Computer in the Cognos information center.
- Follow the instructions in the installation wizard, install the fix pack in the same location as your existing IBM Cognos components.
This installation location is the path specified for the cognos.biserver.install.path property in the cognos-setup.properties file.
Windows:
- Change to the directory where you expanded the fix pack.
- Now change to the \win64h subdirectory.
- Run the following command: issetup.exe
- Follow the instructions in the installation wizard, install the fix pack in the same location as your existing IBM Cognos components.
This installation location is the path specified for the cognos.biserver.install.path property in the cognos-setup.properties file.
- Generate a new Cognos BI Server EAR file with the fix pack:
- Locate the cognos-setup-update.sh|bat script in the directory where you expanded the CognosConfig.zip or CognosConfig.tar when you installed Cognos Business Intelligence components as part of the pre-install task.
- Edit the cognos-setup.properties file and verify that it contains the appropriate values for each property.
All passwords were removed from this file the last time it was used, so you must either add the passwords again, or pass them in from the command line when you run the cognos-setup-update.sh|bat script.
- Run the cognos-setup-update.sh|bat script.
- Apply the new EAR file to the Cognos server by running an update in the WebSphere Integrated Solutions Console:
- On the server where Cognos BI Server is installed, start WebSphere Application Server.
- Log in to the Integrated Solutions Console as the WebSphere administrator.
- Click Servers > Enterprise Applications.
- In the list of applications, select the Cognos where you generated the new EAR file, and click the Update button in the table.
- Browse to the newly built EAR file residing in the Cognos_BI_Server_install_path directory, and click Next.
- Complete the remaining screens by accepting the default values and clicking Next.
- Click Finish to complete the update.
- Enable anonymous access to the Cognos server:
When you initially configured the Cognos server after installation, you disabled anonymous access to the server while Configure support for LDAP authentication for Cognos Business Intelligence; however the script that updates the configuration requires that anonymous access be enabled. There are two ways to enable anonymous access. You can run the Cognos Configuration tool or, if your Cognos server runs on AIX or Linux and does not provide a graphical user interface, you can enable anonymous access manually.
Enable anonymous access with the Cognos Configuration tool:
- Navigate to the /bin directory within the Cognos BI Server installation directory:
For example:
- AIX or Linux: /opt/IBM/Cognos64/bin/
- Windows: C:\Program Files\IBM\Cognos\bin
- Start the Cognos Configuration tool by running the following command:
- AIX or Linux: ./cogconfig.sh
- Windows: cogconfig.bat
- Expand Local Configuration > Security > Authentication > Cognos and set Allow anonymous access? to True.
- Exit the Cognos Configuration tool, making sure to select No at the following prompt: The service 'IBM Cognos' is not running on the local computer. Before you can use it your computer must start the service. Do you want to start this service before exiting?
- Restart WebSphere Application Server.
Enable anonymous access manually:
- Navigate to the /configuration directory within the Cognos BI Server installation directory:
For example:
- AIX or Linux: /opt/IBM/Cognos64/bin/
- Windows: C:\Program Files\IBM\Cognos\bin
- Open the working copy of the cogstartup.xml file for editing.
- Within the <crn:instance name="Cognos" class="Cognos"> section, change the allowAnon parameter:
From:
<crn:parameter name="allowAnon"> <crn:value xsi:type="xsd:boolean"> false </crn:value> </crn:parameter>To:
<crn:parameter name="allowAnon"> <crn:value xsi:type="xsd:boolean"> true </crn:value> </crn:parameter>
- Save and close the file.
- Restart WebSphere Application Server.
- Run the cognos-configure.sh|bat script to configure the Cognos server and set up database connections, just as you did when you originally deployed the Cognos server.
Output from this operation is stored in the /CognosSetup/cognos-configure.log file.
If you encounter an error when running the cognos-configure.sh|bat script, correct the error and run the script again before proceeding to the next step.
- After the configuration has been updated, disable anonymous access once more:
Disable anonymous access with the Cognos Configuration tool:
- Navigate to the /bin directory of the Cognos BI Server installation directory.
For example:
- AIX or Linux: /opt/IBM/Cognos64/bin/
- Windows: C:\Program Files\IBM\Cognos\bin
- Start the Cognos Configuration tool by running the following command:
- AIX or Linux: ./cogconfig.sh
- Windows: cogconfig.bat
- Expand Local Configuration > Security > Authentication > Cognos and set Allow anonymous access? to False.
- Exit the Cognos Configuration tool, making sure to select No at the following prompt: The service 'IBM Cognos' is not running on the local computer. Before you can use it your computer must start the service. Do you want to start this service before exiting?
- Restart WebSphere Application Server.
- Start the Cognos server.
Disable anonymous access manually:
- Navigate to the /configuration directory within the Cognos BI Server installation directory:
For example:
- AIX or Linux: /opt/IBM/Cognos64/bin/
- Windows: C:\Program Files\IBM\Cognos\bin
- Open the working copy of the cogstartup.xml file for editing.
- Within the <crn:instance name="Cognos" class="Cognos"> section, change the allowAnon parameter:
From:
<crn:parameter name="allowAnon"> <crn:value xsi:type="xsd:boolean"> true </crn:value> </crn:parameter>To:
<crn:parameter name="allowAnon"> <crn:value xsi:type="xsd:boolean"> false </crn:value> </crn:parameter>
- Save and close the file.
- Restart WebSphere Application Server.
- Start the Cognos server.
Back up and restore Metrics data
You can back up the PowerCube.s data on a monthly basis, or you can back up the entire Metrics database history. It is easier to back up a single month.s worth of PowerCube data than to back up the entire Metrics database history, but backing up the database allows you to rebuild the entire PowerCube if needed.
Back up and restore sub-PowerCubes
Each month, one sub-PowerCube is generated containing data for the past month. These sub-PowerCubes are stored on the disk as files that you can use for backing up and restoring a month.s worth of data in the PowerCube.
Back up a sub-PowerCube only preserves one month.s data at a time. Rebuilding a PowerCube requires a full restore from the raw Metrics database. For information on restoring an entire PowerCube, see Restore the entire Metrics database and PowerCube or Restore the Metrics database and PowerCube incrementally.
- To back up a month.s worth of PowerCube data, copy the previous month.s sub-PowerCube file to a different server:
Back up the most recent sub-PowerCube that contains data for an entire month; do not back up the current month.s data because it is incomplete.
- On the server hosting the IBM Cognos Transformer component, navigate to the Powercube_save_path/MetricsTrxCube directory, which is where sub-PowerCube files for each month are stored.
The Powercube_save_path is the value of the cognos.cube.path property specified in the cognos-setup.properties file.
- Copy the sub-PowerCube for the previous month to the backup location.
- To restore a PowerCube, copy the backed-up version of the sub-PowerCube back to the original server:
- On the server storing the backup files, navigate to the location of the saved PowerCube file and copy the most recent month.s backup file.
- On the server hosting the IBM Cognos Transformer component, copy the retrieved file to the Powercube_save_path/MetricsTrxCube directory.
- Either wait for the scheduled cube refresh job to run, or run it manually.
After the cube refresh job finishes, the changes are updated to the Cognos server.
Back up the Metrics database
The Metrics database contains the raw data that is used to generate the PowerCube. Back up the Metrics database on a regular basis ensures that you can rebuild the PowerCube in the event of a failure.
The backup schedule for the Metrics database is based on how long the raw metrics data is stored there. For example, if you specify the metrics-config.xml file.s databaseCleanup.eventLifetimeInMonths value as 6, then raw metrics data older than 6 months is purged, so you must back up the Metrics database at least every 6 months to prevent data loss.
To back up the Metrics database, complete the following steps:
- Select a backup schedule method to back up the Metrics database every month, quarter, or year, depending on the database size and your business needs.
- On the database server, back up the database as explained in the database product documentation.
Restore the entire Metrics database and PowerCube
The Metrics database contains the raw data that is used to generate the PowerCube. Back up the Metrics database on a regular basis ensures that you can rebuild the PowerCube in the event of a failure.
If you plan to restore the PowerCube on a staging server before copying to your product server, begin by installing Cognos Business Intelligence on the staging server. Best practice is to install and configure the staging server just like the production server; at a minimum the staging server requires the customized version of Cognos Business Intelligence installed on the production server, and access to the LDAP directory where the Cognos administrator account resides.
When you restore the Metrics database, you must rebuild the PowerCube to make sure it contains all of the same data. You can restore the entire Metrics database in a single operation, and then rebuild the entire PowerCube in another single operation. If the Metrics database is large and your space for restoring the database and rebuilding the PowerCube is limited, you can complete the process incrementally by restoring subsets of data and rebuilding the PowerCube to add each additional set of data. For more information, see Restore the Metrics database and PowerCube incrementally. To minimize the impact on your users, restore the PowerCube to a staging server and then copy the completed PowerCube to the production server where IBM Cognos Transformer is installed.
If the database is large, it can take a long time to restore it and rebuild the PowerCube.
To restore the Metrics database and rebuild the PowerCube, complete the following steps:
- Restore the entire Metrics database by following the instructions in the database product documentation.
- On the staging server, copy the Transformer_install_path/metricsmodel directory and its contents from the production server where IBM Cognos Transformer is installed.
This is the directory containing saved PowerCube model files that specify how the PowerCube is built; it is the cognos.transformer.install.path property specified in the cognos-setup.properties file.
- On the staging server, rebuild the PowerCube from the restored Metrics database:
- Navigate to the Transformer_install_path/metricsmodel directory.
The Transformer_install_path is the value of the cognos.transformer.install.path property specified in the cognos-setup.properties file.
- Run the build-all.sh|bat script.
- Move the rebuilt PowerCube to the production server by copying the following directories and their contents from the staging server to the production server:
- Powercube_save_path
Powercube_save_path is the directory containing saved PowerCube files; it is the cognos.cube.path property specified in the cognos-setup.properties file.
- Transformer_install_path/metricsmodel
Transformer_install_path is the value of the cognos.transformer.install.path property specified in the cognos-setup.properties file.
Restore the Metrics database and PowerCube incrementally
The Metrics database contains the raw data that is used to generate the PowerCube. Whenever you restore the Metrics database from the backup copy, you must rebuild the PowerCube to ensure it contains the full set of data. If you have limited disk space, you can restore both the database and the PowerCube in increments.
If you plan to restore the PowerCube on a staging server before copying to your product server, begin by installing Cognos Business Intelligence on the staging server. Best practice is to install and configure the staging server just like the production server; at a minimum the staging server requires the customized version of Cognos Business Intelligence installed on the production server, and access to the LDAP directory where the Cognos administrator account resides.
If the Metrics database is large and your space for restoring the database and rebuilding the PowerCube is limited, you can complete the process incrementally by restoring subsets of data and rebuilding the PowerCube to add each additional set of data; then you will delete the restored data to prepare the database for the next increment. When the PowerCube is completely rebuilt, you must perform one final restore on the Metrics database to replace the data you deleted between stages.
If you have the space and prefer to rebuild the entire PowerCube in a single operation, see Rebuilding the entire Metrics database and PowerCube.
If the database is large, it can take a long time to restore it and rebuild the PowerCube. To minimize the impact on your users, restore the PowerCube to a staging server and then copy the completed PowerCube to the production server
...where IBM Cognos Transformer is installed.
- Prepare the staging server where you will rebuild the PowerCube:
- Copy the Transformer_install_path/metricsmodel directory and its contents from the production server where IBM Cognos Transformer is installed.
This is the directory containing saved PowerCube model files that specify how the PowerCube is built; it is the cognos.transformer.install.path property specified in the cognos-setup.properties file.
- Create an incremental version of the script that builds the PowerCube:
- Navigate to the Powercube_save_path/metricsmodel directory.
- Copy the build-all.sh|bat script to a new file called incremental-build-all.sh|bat in the same directory.
- Edit the incremental-build-all.sh|bat file and delete the following statements to avoid accidentally deleting incremental additions to the PowerCube:
AIX or Linux:
echo delete all existing cube files... rm -rf [POWERCUBE_SAVE_PATH]/*
Windows:
echo delete all existing cube files... del /F /Q "[POWERCUBE_SAVE_PATH]" for /D %%i in ("[POWERCUBE_SAVE_PATH]") do RD /S /Q "%%i"
- Save and close the file.
- On the database server, restore the first increment of data to the Metrics database as explained it the database product documentation.
For best results, restore data in full-month increments (multiple months are acceptable provided you restore the complete set of data for each month). Restoring data for full months ensures prevents you from duplicating data by restoring it twice.
For example, suppose you restore backup data for 1-May-2012 through 12-May-2012 but omit the remainder of the data for that month. In the next stage, you will have to take extra care to restore only the remaining data for that month (13-May-2012 through 31-May-2012); if you want to restore the entire month in the second stage you will have to first delete the partial month that you already restored. Restoring only full-month increments avoids this problem.
If the final set of data comprises an incomplete month, you will not risk duplicating it in another stage so there is no need to worry about it representing less than a full month.
If you restored a partial month.s data, you can delete those records from the appropriate database tables based on the specified timestamp column for each table. Table 1 lists the database tables and corresponding timestamp columns where yo will need to delete records. For example, in the F_TRX_EVENT database table, check the data in the EVENT_TS column and delete the records where the date falls within the time period to delete.
Table 2. Tables to reference when deleting records for partial months from a database
Table name in database Timestamp column F_TRX_EVENT EVENT_TS F_USER_EVENT_COUNT UPDATE_TS F_ITEM_EVENT_COUNT UPDATE_TS
- On the staging server, rebuild the first increment of restored data in the PowerCube:
- Navigate to the Powercube_save_path/metricsmodel directory.
- Run the build-all.sh|bat script to rebuild the PowerCube from the first set of restored Metrics data.
If there is already a PowerCube stored in the directory, the build-all.sh|bat script deletes it before building the new one. When building the PowerCube incrementally, you only run this version of the script once because you do not want to delete the incremental copies of the PowerCube.
- Complete the following steps for each subsequent increment of data to be restored:
- On the database server, delete the previously restored data from the Metrics database to prevent accidental duplication.
- On the database server, restore the next increment of data to the Metrics database by following the instructions in the database product documentation.
- On the staging server, rebuild the new increment of restored data to the PowerCube by running the incremental-build-all.sh|bat script.
Repeat this process until the PowerCube has been completely rebuilt.
- Move the rebuilt PowerCube to the production server by copying the Powercube_save_path directory and its contents from the staging server:
Powercube_save_path is the directory containing saved PowerCube files; it is the cognos.cube.path property specified in the cognos-setup.properties file.
- Delete the data from the Metrics database that was previously restored, to prevent duplication the next time you restore the database on the staging server.
Administer Profiles
Profiles provides two types of administrative capabilities: configuration settings and administrative commands. You change configuration settings and execute administrative commands by running scripts from the wsadmin command line.
Jython Scripts run from a wsadmin command line are used to configure and to administer Profiles. These scripts use the AdminConfig object available in IBM WebSphere Application Server Admin (wsadmin) to interact with the configuration repository.
You can update the Profiles environment in two ways:
- Configuration settings
- Modify these settings to control various configurable applications within Profiles. When you make configuration changes, you use scripts to check out the Profiles configuration file, profiles-config.xml, make changes, and then check the file back in. A server restart is required for your changes to take effect.
- Administrative commands
- Use these commands to control various aspects of the Profiles environment. Administrative commands do not require a server restart to take effect.
Related
Customize Profiles Manage users Customize the Profiles business card
Integrate the Profiles business card Run Profiles administrative commands
Scripts are used to administer the Profiles application. These scripts use the AdminConfig object available in IBM WebSphere Application Server wsadmin client to interact with the Profiles server.
To run administrative commands, you must use the wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool.
You cannot use administrative tools to add or remove a profile from your LDAP directory system. You must use that directory's native tools to create and delete profiles. The scripts used to administer Profiles give an administrator (who otherwise would not have access to edit a user's profile data), the ability to edit various fields in a user's profile. For example, one use of the capability is to remove unwanted or inappropriate content.
Unlike with configuration properties, when you use administrative commands to change server administration properties, you do not have to check out any files nor restart the server. Your changes take effect immediately.
To run administrative commands, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- See Profiles administrative commands for a complete list of administrative commands for the Profiles application.
Profiles administrative commands
Use the commands listed to perform administrative tasks for Profiles. No file checkout or server restart is needed when using these commands.
The following sections define the commands that you can use when working with Profiles. Each section describes the commands for a specific service. The commands are listed in alphabetical order.
ProfilesConfigService commands
- ProfilesConfigService.checkOutConfig("working_directory", "cell_name")
Checks all Profiles configuration files out to a temporary directory.
This command takes the following parameters:
- working_directory. Temporary working directory to which the configuration files are copied. The files are kept in this working directory while you make changes to them.
- cell_name. Name of the IBM WebSphere Application Server cell hosting the IBM Connections application. If you do not know the cell name, type the following command while in the wsadmin command processor:
print AdminControl.getCell()For example:
- AIX/Linux:
ProfilesConfigService.checkOutConfig("/opt/my_temp_dir", "ServerNode01Cell")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/temp","foo01Cell01")
- ProfilesConfigService.showConfig()
Displays the current configuration settings. You must check out the configuration files with ProfilesConfigService.checkOutConfig before running ProfilesConfigService.showConfig.
- ProfilesConfigService.updateConfig("property", "value")
Updates configuration properties.
This command takes the following parameters:
- property. One of the configuration properties that can be edited for Profiles. See Profiles configuration properties for a full list of Profiles configuration properties and their descriptions.
- value. The new value with which you want to set the specified property. Acceptable values for properties can be restricted, for example, to either true or false. See Profiles configuration properties for configuration properties and descriptions.
- ProfilesConfigService.checkInConfig()
Checks in Profiles configuration files. Run from the wsadmin command processor.
- ProfilesConfigService.checkOutPolicyConfig("working_directory", "cell_name")
Checks profiles-policy.xml and profiles-policy.xsd files out to a temporary directory.
This command takes the following parameters:
- working_directory. Temporary working directory to which the configuration files are copied. The files are kept in this working directory while you make changes to them.
- cell_name. Name of the WebSphere Application Server cell hosting the IBM Connections application. If you do not know the cell name, type the following command while in the wsadmin command processor:
print AdminControl.getCell()For example:
- AIX/Linux:
ProfilesConfigService.checkOutPolicyConfig("/opt/my_temp_dir", "ServerNode01Cell")
- Microsoft
Windows:
ProfilesConfigService.checkOutPolicyConfig("c:/temp","foo01Cell01")
- ProfilesConfigService.checkInPolicyConfig()
- Checks in the Profiles policy configuration files. Run from the wsadmin command processor.
- ProfilesConfigService.findDistinctProfileTypeReferences()
- Lists the profile types that are present in the Profiles database.
- ProfilesConfigService.findUndefinedProfileTypeReferences()
- Lists the profile types that are present in the Profiles database that do not appear in the profiles-types.xml configuration file.
ProfilesService commands
- ProfilesService.deletePhoto(String user_email_addr)
Deletes image files associated with a user's email address. This command can be used only if the user has uploaded a photo to their profile. This command removes the photo.
For example:
ProfilesService.deletePhoto("john_doe@company.com")
- ProfilesService.disableFullReportsToCache()
Disables the full report-to chain cache capability. This command does not take any arguments.
- ProfilesService.enableFullReportsToCache(startDelay, interval, schedTime)
Enables the full report-to chain cache with the specified start delay in minutes, refresh interval in minutes, and scheduled refresh time in HH:MM format.
This cache is used to populate the full report-to chain view available in a user's profile. The cache contains the specified number of top employees in the organizational pyramid; it is not intended to store an entry for each profile. It stores the profiles of those people at the top of the chain who are included in many full report-to chain views.
For example:
ProfilesService.enableFullReportsToCache(5, 15, "23:00")
- ProfilesService.purgeEventLogs()
Deletes all event log entries in the EVENTLOG table. This command does not take any arguments.
- ProfilesService.purgeEventLogsByDates(string startDate, string endDate)
Deletes event log entries created between the specified start date and end date.
This command takes the following parameters:
- startDate
- A string that specifies the start date for the period in MM/DD/YYYY format.
- endDate
- A string that specifies the end date for the period in MM/DD/YYYY format.
For example:
ProfilesService.purgeEventLogsByDates("06/21/2009", "06/26/2009")This command deletes all the event log entries that were created on or after June 21st, 2009 and before June 26th, 2009 from the EVENTLOG table.
- ProfilesService.purgeEventLogsByEventNameAndDates(eventName, string startDate, string endDate)
Deletes event log entries with the specified event name that were created between given start date and end date.
This command takes the following parameters:
- eventName
- The type of event to remove from the EVENTLOG table. The following names are some examples of valid event names:
For a complete list of valid event names for Profiles event log cleaning administrative tasks, refer to the following web page:
- profiles.created
- profiles.removed
- profiles.updated
- profiles.person.photo.updated
- profiles.person.audio.updated
- profiles.colleague.created
- profiles.colleague.added
- profiles.connection.rejected
- profiles.person.tagged
- profiles.person.selftagged
- profiles.tag.removed
- profiles.link.added
- profiles.link.removed
- profiles.status.updated
- profiles.wallpost.created
- profiles.wallpost.removed
- profiles.wall.comment.added
http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Events_Reference
- startDate
- A string that specifies the start date for the period in MM/DD/YYYY format.
- endDate
- A string that specifies the end date for the period in MM/DD/YYYY format.
For example:
ProfilesService.purgeEventLogsByEventNameAndDates(profiles.colleague.created, "06/21/2009", "06/26/2009")This command deletes all the profiles.colleague.created event log entries that were created on or after June 21st, 2009 and before June 26th, 2009 from the EVENTLOG table.
- ProfilesService.reloadFullReportsToCache()
Forces a reload of the full report-to chain cache from the Profiles database. This command does not take any arguments.
If the full report-to cache is disabled, it cannot be reloaded. This command fails when the cache is disabled.
- ProfilesService.updateDescription(String user_email_addr, String new_content_for_description_field)
Replaces the existing description text associated with a user's email address with alternate description text enclosed by double quotes.
Description text is information contained on the About Me tab of a user's profile.
For example:
ProfilesService.updateDescription("ann_jones@company.com","This is new text that will be entered into the About Me tab for Ann.")
Rich text cannot be entered with this command.
- ProfilesService.updateExperience(String user_email_addr, String new_content_for_experience_field)
Replaces the existing experience text associated with a user's email address with alternate text enclosed by double quotes.
Experience is the information contained in the Background area of a user's profile.
For example:
ProfilesService.updateExperience("ann_jones@company.com","This is new text that will be entered into the Background field for Ann.")
Rich text cannot be entered with this command.
- Commands for managing user data
- ProfilesService.activateUserByUserId(String user_external_id, updated_properties_list)
See Managing user data using Profiles administrative commands for details.
- ProfilesService.inactivateUser(String user_email_addr)
See Managing user data using Profiles administrative commands for details.
- ProfilesService.inactivateUserByUserId(String userID)
See Managing user data using Profiles administrative commands for details.
- ProfilesService.publishUserData(String user_email_addr)
See Managing user data using Profiles administrative commands for details.
- ProfilesService.publishUserDataByUserId(String userID)
See Managing user data using Profiles administrative commands for details.
- ProfilesService.swapUserAccessByUserId("user_to_activate","user_to_inactivate")
See Managing user data using Profiles administrative commands for details.
- ProfilesService.updateUser(String user_email_addr, updated_properties_list)
See Managing user data using Profiles administrative commands for details.
- ProfilesService.updateUserByUserId(String userID, updated_properties_list)
See Managing user data using Profiles administrative commands for details.
Related
Synchronize user data using administrative commands
Run administrative commands Synchronize remote application data with the Communities database Manage user data using Profiles administrative commands
Profiles configuration properties Administer application content Change Profiles configuration property values
Configuration settings control how and when various Profiles operations take place. You can edit the settings to change the ways that profiles behave.
To edit configuration files, you must use the wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool. Configure Profiles using scripts accessed with the wsadmin client. These scripts use the AdminConfig object available in the IBM WebSphere Application Server wsadmin client to interact with the Profiles configuration file. Changes to configuration settings require node synchronization and a restart of the Profiles server before they take effect.
There are no Profiles application administrative tools for adding or removing a user's profile. If you want to add or remove a profile for a person, add or remove that person's entry from the corporate LDAP directory system. Use that directory's native tools to create and delete user entries. When you perform standard synchronization tasks on the Profiles database, the profiles are updated. If you add a new user to the LDAP directory, a profile is created for that user. If you remove a user entry from the LDAP directory, that user's profile is removed. See Synchronizing user data between Profiles and the LDAP directory for more details.
To change Profiles configuration settings, complete the following steps:
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Enter the following command to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory", "cell_name")where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- To change a Profiles configuration setting, use the following command:
ProfilesConfigService.updateConfig("property", "value")
...where:
For example, the following code disables the display of organizational information.
- property is one of the editable Profiles configuration properties.
- value is the new value with which you want to set that property.
ProfilesConfigService.updateConfig("organizationalStructure.enabled","false")See Profiles configuration properties for a complete list of editable properties.
- Optional: Repeat the previous step once for each property setting you want to change.
What to do next
You must check the configuration files back in after making changes, and they must be checked in during the same wsadmin session in which they were checked out for the changes to take effect. See Applying property changes for details.
Related tasks
Synchronize user data between Profiles and the LDAP directory Apply property changes in Profiles Configure Profiles events
Profiles configuration properties
Configuration settings control various configurable applications within Profiles. They require a Profiles application or server restart to take effect.
You can check out and modify the following configuration settings in the profiles-config.xml file.Some configuration settings, such as the settings for the board and tagging features, were moved from the profiles-config.xml file to profiles-policy.xml file. For more information about the settings that you can configure in profiles-policy.xml file, see Configuring features by profile type.
- activeContentFilter.enabled
Enables/disables filtering for active content of text entered into the About me and Background text input fields.
This property takes a Boolean value: true or false. The value must be formatted in lowercase.
- fullReportsToChainCache.ceouid
The corporate directory user ID of the person who displays at the top of the organizational structure.
- fullReportsToChainCache.enabled
Enables or disables the full reports-to chain cache.
This property takes a Boolean value: true or false. The value must be formatted in lowercase.
- fullReportsToChainCache.refreshInterval
Time in minutes between cache reload operations.
This property takes an integer value.
- fullReportsToChainCache.refreshTime
HH:MM. Determines the time of day in 24-hour time format that Profiles performs the first scheduled reloading of the cache.
- fullReportsToChainCache.size
The number of employee entries that should be loaded into the cache.
This property takes an integer value.
- fullReportsToChainCache.startDelay
Time in minutes that Profiles should wait after starting loading the cache for the first time.
This property takes an integer value.
- organizationalStructure.enabled
Indicates if the organizational structure information (report-to chain, people managed, same manager) should display.
This property takes a Boolean value: true or false. The value must be formatted in lowercase.
- nameOrdering.enabled
When this property is set to true, names must be entered as (FirstName LastName) or (LastName, FirstName). By default, it is set to false.
When only a single word is entered, that word is treated as the LastName value during search.
This property takes a Boolean value.
- scheduledTasks.DbCleanupTasks
- Specifies the frequency at which the database cleanup tasks runs. This task removes event log entries, or draft profiles updates older than the specified number of days.
eventLogTrashRetentionInDays: Specifies the number of days to keep system events in the EMPINST.EVENTLOG table.
draftTrashRetentionInDays: Specifies the number of days to keep draft profile updates.
eventLogMaxBulkPurge: Specifies the maximum number of events to purge in a query.
- scheduledTasks.ProcessLifeCycleEventsTasks
- Specifies the frequency at which lifecycle events are published. This event ensures that lifecycle events are propagated.
platformCommandBatrchSize: Specifies the maximum number of events attempted to process in each event run.
- scheduledTasks.ProcessTDIEventsTasks
- Specifies the frequency at which audit events triggered by a TDI synch are processed.
platformCommandBatrchSize: Specifies the maximum number of events attempted to process in each event run.
- scheduledTasks.StatsCollectorTask
- Specifies the frequency at which Profiles statistics are calculated and written to disk.
filePath: Specifies the directory in which to place the file.
fileName: Specifies the file name.
- scheduledTasks.RefreshSystemObjectsTask
- This task is obsolete.
- search.maxRowsToReturn
Determines the maximum number of rows returned by a search operation.
This property takes an integer value.
- search.pageSize
Determines the number of returned rows to place on a results page.
This property takes an integer value.
Related
Configure advanced settings in Profiles Configure features by profile type
Start the wsadmin client Apply common configuration property changes IBM Connections configuration property values Apply property changes in Profiles
Profiles administrative commands
Apply property changes in Profiles
After you have edited Profiles configuration properties, check the changed configuration file in, and restart the server to apply your changes.
See Profiles configuration properties for information about the properties that you can edit for Profiles.
- Check in the changed configuration property keys using the following wsadmin client command:
ProfilesConfigService.checkInConfig()
- Update the value of the version stamp configuration property in LotusConnections-config.xml to force users' browsers to pick up this change. See Required post-customization step for more details.
- To exit the wsadmin client, type exit at the prompt.
- Use the IBM WebSphere Application Server Integrated Solutions Console to stop and restart the server hosting the Profiles application.
Related tasks
Apply common configuration property changes Required post-customization step
Profiles configuration properties Tivoli Directory Integrator commands
The following IBM Tivoli® Directory Integrator commands are available for managing profile data and performing user data synchronization tasks.
For related information, see Developing custom Tivoli Directory Integrator assembly lines for Profiles.Use these commands to manage and work with profile data. The commands are listed in alphabetical order.
Table 3. Tivoli Directory Integrator commands
Command Description IBM AIX and Linux:
clearLock.shMicrosoft
Windows:
clearLock.batDeletes the lock file that is generated by the sync_all_dns task. For more information, see Synchronizing LDAP directory changes with Profiles.
AIX and Linux:
delete_or_inactivate_employees.shMicrosoft
Windows:
delete_or_inactivate_employees.batDeletes or inactivates users in the Profiles database. For more information, see Delete or inactivate users in the Profiles database.
AIX and Linux:
dump_photos_to_files.shMicrosoft
Windows:
dump_photos_to_files.batReads existing photo files from the Profiles database and stores them on disk. Used in conjunction with the load_photos_from_files command. For more information, see Populating Profiles with photos.
AIX and Linux:
dump_pronounce_to_files.shMicrosoft
Windows:
dump_pronounce_to_files.batReads existing pronunciation files from the Profiles database and stores them on disk. Used in conjunction with the load_pronounce_from_files command. For more information, see Uploading pronunciation files.
AIX and Linux:
fixup_tdi_adapters.shMicrosoft
Windows:
fixup_tdi_adapters.batAdds a reference to the profiles property store to your adapter files when you are defining a custom assembly line to contain the logic used for the delete operation. For more information, see Customize the logic used for the delete operation.
AIX and Linux: load_photos_from_files.sh Microsoft
Windows: load_photos_from_files.bat
Reads stored photo files from disk and populates the Profiles database with them. Used in conjunction with the dump_photos_to_files command. For more information, see Populating Profiles with photos.
AIX and Linux:
load_pronounce_from_files.shMicrosoft
Windows:
load_pronounce_from_files.batReads stored pronunciation files from disk and populates the Profiles database with them. Used in conjunction with the dump_pronounce_to_files command. For more information, see Uploading pronunciation files.
AIX and Linux:
process_draft_updates.shMicrosoft
Windows:
process_draft_updates.batSynchronizes changes from the Profiles database back to the LDAP directory. The script initializes a daemon process that monitors the Profiles database for updates, formats each update as a DSML request, and the transmits it to a configured DSML server. For more information, see Synchronizing user data between Profiles and the LDAP directory.
AIX and Linux:
process_ad_changes.shMicrosoft
Windows:
process_ad_changes.batProcesses changes made to a Microsoft Active Directory LDAP directory and propagates the changes to the corresponding records in the Profiles database repository. For more information, see Synchronizing IBM Tivoli Directory Server and Microsoft Active Directory LDAP changes.
AIX and Linux:
process_tds_changes.shMicrosoft
Windows:
process_tds_changes.batProcesses changes made to an IBM Tivoli Directory Server LDAP directory and propagates the changes to the corresponding records in the Profiles database repository. For more information, see Synchronizing IBM Tivoli Directory Server and Microsoft Active Directory LDAP changes.
AIX and Linux:
reset_draft_iterator_state.shMicrosoft
Windows:
reset_draft_iterator_state.batDeletes the value of a database change record number tracked in a persistent field by the process_draft_update task. For more information, see Synchronizing user data between Profiles and the LDAP directory.
AIX and Linux:
set_draft_iterator_count.shMicrosoft
Windows:
set_draft_iterator_count.batResets the value of a database change record number tracked in a persistent field by the process_draft_update task. For more information, see Synchronizing user data between Profiles and the LDAP directory.
AIX and Linux:
sync_all_dns.shMicrosoft
Windows:
sync_all_dns.batSynchronizes LDAP directory changes with the Profiles database. For more information, see Synchronizing LDAP directory changes with Profiles.
AIX and Linux:
update_employees_from_file.shMicrosoft
Windows:
update_employees_from_file.batReplaces the globally unique identifiers in the Profiles database with the correct values from the LDAP directory. For more information, see Updating Profiles when changing LDAP directory.
Related
Developing custom Tivoli Directory Integrator assembly lines for Profiles Manage user data using Tivoli Directory Integrator scripts Developing custom Tivoli Directory Integrator assembly lines for Profiles
Populate the Profiles database Synchronize source changes such as LDAP with Profiles Update Profiles when changing LDAP directory Delete or inactivate users in the Profiles database Populate Profiles with photos Uploading pronunciation files Customize the logic used for the delete operation Synchronize user data between Profiles and the LDAP directory Synchronize IBM Tivoli Directory Server and Microsoft Active Directory LDAP changes Add supplemental content to Profiles
You can use IBM Tivoli Directory Integrator assembly-line commands to add photo files and pronunciation files for your users to the Profiles database.
When xWindows is not installed on your system, the load_pronunciation_from_files and load_photo_from_files commands might not work. In this scenario, change the default value of the headless_tdi_scripts setting in the profile_tdi.properties file from false to true as follows:
headless_tdi_scripts=trueRelated information is available in the IBM Tivoli Directory Integrator solutions for IBM Connections real-world scenarios wiki article.
Related
Developing custom Tivoli Directory Integrator assembly lines for Profiles Manage user data using Tivoli Directory Integrator scripts
Add source data to the Profiles database
Uploading pronunciation files
Profiles users can add a recording of how their name is pronounced to enhance their profile. As administrator, you can use IBM Tivoli Directory Integrator assembly-line commands to populate the profiles database repository with pronunciation files for your users. You can use the dump_pronounce_to_files and load_pronounce_from_file assembly-line commands to populate the profiles database with pronunciation files. These commands are useful when you are moving the profiles database, allowing you to save the pronunciation information from the existing database on disk, repopulate the new database from the LDAP, and then load the pronunciation files back into the new database.
To populate a new profiles database with pronunciation files.
- Use the dump_pronounce_to_files.bat or dump_pronounce_to_files.sh command to read the existing pronunciation files from the Profiles database and store them on disk:
The following table shows the properties that are used by this command and their default values. These properties can be found in the profiles_tdi.properties file.
Property Description dump_pronounce_directory The directory where the extracted files are stored.
The default value is ./dump_pronounce.
dump_pronounce_file The list of people whose pronunciation files were collected.
The default value is collect_pronounce.in.
load_pronounce_simple_file The list of people whose pronunciation files were collected.
The default value is collect_pronounce.in.
If you want to load only a subset of files from a location, you edit this file.
When dumping multiple pronunciation files, there must be a period separator between each entry. If the separator is omitted, an error is generated when you use the load command to import the files into the profiles database.
- To populate the new database with the pronunciation files that you saved in the previous step, use the load_pronounce_from_files.bat or load_pronounce_from_files.sh command to read the files from disk and populate the profiles database with them
The table in step 1 shows the properties that relate to this command.
Example
Here is an example of an entry from the collect_pronounce.in file:file:/C:/install_directory/TDISOL/TDI/./dump_pronounce/pron1197046202619_9.dat uid:FAdams .The characters following uid: correspond to the PROF_UID in the profiles database.Note the required period separator between each entry.
For example:
file:/C:/install_directory/TDISOL/TDI/./dump_pronounce/pron1197046202619_9.dat uid:FAdams . file:/C:/install_directory/TDISOL/TDI/./dump_pronounce/pron6198046102314_6.dat uid:TAmado .
Related tasks
Enable the use of pronunciation files in an HTTPS environment Use the PronunciationConnector
Populate Profiles with photos
You can use IBM Tivoli Directory Integrator assembly-line commands to populate the profiles database repository with photo files for your users. You can use the dump_photos_to_files and load_photos_from_file assembly-line commands to populate the profiles database with photo files. These commands are useful when you are moving the profiles database, allowing you to save the photos from the existing database on disk, repopulate the new database from the LDAP, and then load the photo files back into the new database.
To populate a new profiles database with photos, complete the following steps.
- Use the dump_photos_to_files.bat or dump_photos_to_files.sh command to read the existing photos from the profiles database and store them on disk:
The following table shows the properties that are used by this command, and their default values. These properties can be found in the profiles_tdi.properties file.
Property Description dump_photos_directory The directory where the extracted files are stored. The default value is /dump_photos.
dump_photos_file The list of people whose photos were collected. The default value is collect_photos.in.
load_photos_simple_file The list of people whose photos were collected. The default value is collect_photos.in. If you want to load only a subset of files from a location, edit this file.
When dumping multiple photo files, there must be a period separator between each entry. If the separator is omitted, an error is generated when you use the load command to import the files into the profiles database.
- To populate the new database with the photo files that you saved in the previous step, use the load_photos_from_files.bat or load_photos_from_files.sh command to read the files from disk and populate the Profiles database with them:
- The table in step 1 shows the properties that relate to this command.
- Although in IBM Connections 2.0, the Profiles application can crop the photo uploaded by a user, the photo size limit in the underlying database is 15 KB. When Profiles is used with IBM Tivoli Access Manager enabled, the Tivoli Access Manager can only load files conforming to this size limit.
Example
Here is an example of an entry from the collect_photos.in file:photo:file:/C:/install_directory/TDISOL/TDI/./dump_photos/img1197046202619_9.dat uid:FAdams .The characters following uid: correspond to the PROF_UID in the profiles database.Note the required period separator between each entry.
For example:
photo:file:/C:/install_directory/TDISOL/TDI/./dump_photos/img1197046202619_9.dat uid:FAdams . photo:file:/C:/install_directory/TDISOL/TDI/./dump_photos/img1197146402316_7.dat uid:TAmado .
Related tasks
Use the PhotoConnector Developing custom Tivoli Directory Integrator assembly lines for Profiles
You can use IBM Tivoli Directory Integrator (TDI) connectors to develop custom assembly-line scripts when you need to provide a specific type of function.
For example, if you do not want to populate Profiles with photos or pronunciation files using the standard method covered in Add supplemental content to Profiles, you might want to use the Photo connector or Pronunciation connector as an alternative.
Tivoli Directory Integrator connectors are components that are used to access and update information sources. Connectors allow you to build your assembly lines without having to handle the technical details of working with different data stores, systems, services, or transports. Each type of connector suppresses implementation details and specifically handles the details of data source access. For more information about programming TDI connectors, see the TDI Reference Guide.
IBM Connections provides the following connectors:
- Profile connector
- Photo connector
- Pronunciation connector
- Codes connector
Related information is available in the IBM Tivoli Directory Integrator solutions for IBM Connections real-world scenarios wiki article.
The only supported methods for writing data or modifying data in the Profiles database are the following:
Writing directly to the Profiles database, including using Tivoli Directory Integrator database connectors to do so, is not supported and can lead to data loss and application malfunction.
- Use the supplied Profiles Tivoli Directory Integrator assembly lines
- Use the Profiles ATOM administrative API
- Developing custom assembly lines using the Profiles TDI connectors
Related
Manage user data using Tivoli Directory Integrator scripts Add supplemental content to Profiles Manage user data using Tivoli Directory Integrator scripts
Populate the Profiles database
Tivoli Directory Integrator commands Tivoli Directory Integrator commands
Set up your development environment
Use the Tivoli Directory Integrator Configuration Editor to create custom IBM Tivoli Directory Integrator scripts. Set up the development environment so that the editor can access a separate set of the IBM Connections Profiles Tivoli Directory Integrator connector source files than those used by the installed product. When you install IBM Connections, a set of Tivoli Directory Integrator (TDI) components are installed on your system. These components are used by the population wizard and other TDI tasks, such as the synchronization tasks, to populate and update the IBM Connections user directory. They are stored in a compressed file referred to as the TDI solution directory (tdisol.zip or tdisol.tar).
The solution directory includes a set of connectors, which are standard TDI components that you can use to build your own TDI assembly lines when the assembly lines in the solution directory do not suit your needs. Your custom assembly lines can:
- Use an available plug point, such as an alternate source for profiles data or custom delete processing
- Create a stand-alone program to interact with the profiles, photos, pronunciation, or code sections of profiles through the available connectors.
This section describes how to set up a development environment in which you can write your own assembly lines using the Profiles TDI connectors provided in the IBM Connections installation package.
To set up your development environment, complete the following steps.
- Create a directory in which to store the TDI connector source files.
Since you might create multiple iterations of the code you are developing, use a directory naming system that will help you keep track of each iteration. For example, you could add a subdirectory named version, where version is the version number and date of the copy of the tdisol.zip file that you will extract into the directory. Alternatively, you could name the directory after the assembly line you will be creating, such as custdel if you are working on custom delete processing logic. For example: C:\TDIProject\20120530 or c:\tdiprojects\40\custdel.
- Extract the files from the TDI solution directory (tdisol.zip or tdisol.tar) into the directory you created in the previous step. You can find the solution directory in the following location:
C:\IBM\IBMConnections\TDISOL This action adds a tdi subdirectory to the directory path. For example: C:\TDIProject\20120530\TDI or c:\tdiprojects\40\custdel\tdi.
- When you start the Configuration Editor, specify the location of the Profiles TDI solution directory using the -s command-line option as follows:
tdi_install_dir/ibmditk -s your_TDI_directory...where:
For example:
- tdi_install_dir is the name of the directory where you installed Tivoli Directory Integrator.
- your_TDI_directory is the subdirectory that you created in the previous step.
C:\Program Files\IBM\TDI\V7.0/ibmditk -s C:\TDIProject\20120530\TDIThe workspace used for development must reference a TDI solution directory that contains all the Profiles TDI artifacts. It is not sufficient to create a new TDI solution directory or use one that does not contain these artifacts. If you attempt to use a Profiles TDI component, such as one of the connectors, and they do not appear in the connector list, then you do not have your workspace and solution configured correctly.
- When you start the Tivoli Directory Integrator Configuration Editor, you are asked to specify a workspace. This is a working directory in which to store things related to your development project. When prompted, specify the same file path that you are using for the connector files, but replace TDI with workspace.
For example: C:\TDIProject\20120530\workspace or c:\tdiprojects\40\custdel\workspace The editor creates the workspace subdirectory if it does not already exist.
Results
You now have a Tivoli Directory Integrator solution environment that you can use to edit the Profiles Tivoli Directory Integrator connectors.
What to do next
Refer to connector-specific documentation for details about each connector. Scripts created in this environment can be executed from the Configuration Editor in the same way that you would execute standard Tivoli Directory Integrator assembly lines.
Related tasks
Use the ProfileConnector Use the PhotoConnector Use the PronunciationConnector Use the CodesConnector Customize the logic used for the delete operation Create an iterator connector Create a lookup connector
Use a custom source repository connector
By creating custom source repository connectors, you can integrate data from non-LDAP sources when you are populating Profiles with user data.
To integrate a custom source repository, create custom versions of the following two assembly lines and package them as IBM Tivoli Directory Integrator adapters:
For more information about using adapters, see the Tivoli Directory Integrator product documentation
- Iterator connector
- This adapter iterates sequentially through all the users in your user directory. It is used by a number of iterative Tivoli Directory Integrator scripts. For example, it is used to retrieve the full information for initial data population using the collect_dns script and during data synchronization using the sync_all_dns script.
- Lookup connector
- This adapter looks up individual users in your user directory. It is used by the populate_from_dns_file script.
http://www.ibm.com/developerworks/tivoli/library/t-tdiadapters/index.html.After packaging your assembly lines, you can use them in your TDI solution by copying the file you published, such as the adapter.xml file, into the packages Profiles TDI solution directory.
Add a reference to the profiles property store to your adapter files by running the fixup_tdi_adapters.sh or fixup_tdi_adapters.bat command. This reference is required to use the Profiles Tivoli Directory Integrator adapter. Even if you do not believe that your adapter file requires access to the profiles property store, there is no penalty for adding the reference so it is strongly advised that you run this command regardless.
Related tasks
Set up your development environment
Create an iterator connector
Create an iterator connector to perform a sequential read of your entire user source repository.
If you are using a source other than an LDAP, you must provide an iterator that will return each entry to process in sequence. If you are combining data from multiple sources, you must join all the data that is relevant to the data population mapping for a particular user into the work entry of the iterator assembly line. The only output should be a work entry that contains all the attributes for that user. Joining all the data together in a single step allows you to provide just this hook component and rely on the remainder of the Profiles Tivoli Directory Integrator (TDI) assembly lines to perform the majority of the processing.
Create a source repository iterator connector by completing the following steps:
- To develop your iterator assembly line, connect to your source with an appropriate connector using its iterator mode. Retrieve the data to be used in the process into the work entry.
You must populate the $dn attribute in the work entry. You can populate all the data from the source by mapping all attributes. You can use the mapping functionality to map fields from their names in your source into the fields expected by Profiles; you do not have to perform that mapping in your connector. The $dn attribute is the only required attribute name you must provide at this point in the process.
To help get started with Tivoli Directory Integrator, go to the Learning TDI site. You can also refer to the Tivoli Directory Integrator product documentation for more information.
- Export your iterator solution :
You can package the iterator connector together with the lookup assembly line, which is best practice although not a required step.
- Shift-click the assembly lines that comprise your iterator solution in the IBM Tivoli Directory Integrator Config Editor.
- Right-click a member of the selected assembly line group and select Publish.
- In the Publish window, enter a name for your solution in the Package ID field. For example, myIterateAdapter.
- Optional: Enter additional information, such as a version number or a help URL for future administrators.
- Assuming you followed the development environment set-up guide outlined in the topic, Set up your development environment, select the packages directory located in your IBM Connections TDI solution from the File Path menu, and then click Finish.
- To make the adapter file visible to the Profiles TDI solution, restart the Tivoli Directory Integrator Config Editor. If the Tivoli Directory Integrator server is not recycled during testing, it might not detect the existence of the new adapter.xml file. Recycling the Config Editor stops and starts the embedded Tivoli Directory Integrator server.
- Configure the Profiles TDI solution to use your adapter for data iteration :
- Open the profiles_tdi.properties file in a text editor.
- Add a property of the following format to the file:
source_repository_iterator_assemblyline={name-of-your-adapter.xml}:/AssemblyLines/{name-of-your-ITERATOR-al}This property may already be present and commented out in the file. If so, remove the comment character (hash sign) and make the edits.
- Substitute {name-of-your-adapter.xml} with the package ID that you entered in step 2c.
- Substitute {name-of-your-ITERATOR-al} with the name of your iterator assembly line. The line should now look similar to the following:
source_repository_iterator_assemblyline=myIterateAdapter:/AssemblyLines/iterate_over_csv_file
- Save your changes and then close the profiles_tdi.properties file.
- Optional: Test your solution and verify that you are able to iterate and to ensure that you are selecting the users that you are expecting, run the ./collect_dns.sh or collect_dns.bat script located in the TDI solution directory. You can then review the resulting collect.dns script to ensure that you have the results that you are expecting.
Related tasks
Set up your development environment Create a lookup connector
Create a lookup connector
Create a lookup connector to fetch data for a single user, including all the attributes necessary for mapping that user in your source repository. The lookup assembly line is used in the populate_from_dns_file script to populate users. Using the default mapping for secretary ($secretary_uid) and manager ($manager_uid), the script uses the assembly line to look up the manager and secretary uid values. If you can extract the manager and secretary uid values from the work entry without an additional lookup, it is advisable to do so for performance reasons.
After developing your lookup connector, export it and then restart the Tivoli Directory Integrator configuration editor to make the adapter file visible to the Profiles TDI solution. To test the adapter, configure the Profiles TDI solution to use your adapter for data lookup. You can then test the adapter using the TEST_source_repository_lookup script provided by the TDI solution.
A lookup connector is not usable in every situation. For example, if your source is a data file, you cannot retrieve the data using a lookup mode with the TDI file. However, you can provide an iterator connector and use the TDI assembly lines that do not use the lookup connector, such as sync_all_dns.
Create a source repository lookup connector by completing the following steps:
- Develop your lookup assembly line by performing the following steps.
- Add an attribute map to your assembly line flow section by mapping the following attributes:
- $dn . This attribute should be present in the attribute map with the value from the work entry.
- $lookup_operation . This attribute should be present in the attribute map with the value from the work entry
- $lookup_status . This attribute should be initialized to return the string error, for example map it to ret.value = "error"; .
- Connect to your source with an appropriate connector using its iterator mode. Retrieve the data to be used in the process into the work entry. Use the $dn attribute as the link criteria, or ensure that another value you wish to use is present in the work entry.
- Add the following Javascript entries to the following lookup connector hooks:
- On no Match hook:
work.setAttribute("$lookup_status", "nomatch"); system.skipEntry();
- Default Success hook:
work.setAttribute("$lookup_status", "success");
- Lookup Error hook:
work.setAttribute("$lookup_status", "nomatch"); system.skipEntry();
- Add the following entry to the assembly line On Failure hook:
system.ignoreEntry();
- Optionally add additional error checking code and tracing output.
To help get started with Tivoli Directory Integrator, go to the Learning TDI site. You can also refer to the Tivoli Directory Integrator product documentation for more information.
- Export your lookup solution :
You can package the lookup connector together with the iterator assembly line, which is best practice suggestion but not a required step.
- Shift-click the assembly lines that comprise your lookup solution in the IBM Tivoli Directory Integrator Config Editor.
- Right-click a member of the selected assembly line group and select Publish.
- In the Publish window, enter a name for your solution in the Package ID field. For example, myLookupAdapter.
- Optional: Enter additional information, such as a version number or a help URL for future administrators.
- Assuming you followed the development environment procedure outlined in the topic, Set up your development environment, select the packages directory located in your IBM Connections TDI solution from the File Path menu, and then click Finish.
- To make the adapter file visible to the Profiles TDI solution, restart the Tivoli Directory Integrator Config Editor. If the Tivoli Directory Integrator server is not recycled during testing, it might not detect the existence of the new adapter.xml file. Recycling the Config Editor stops and starts the embedded Tivoli Directory Integrator server.
- Configure the Profiles TDI solution to use your adapter for data lookup :
- Open the profiles_tdi.properties file in a text editor.
- Add a property of the following format to the file:
source_repository_iterator_assemblyline={name-of-your-adapter.xml}:/AssemblyLines/{name-of-your-ITERATOR-al}This property may already be present and commented out in the file. If so, remove the comment character (hash sign) and make the edits.
- Substitute {name-of-your-adapter.xml} with the package ID that you entered in step 2c.
- Substitute {name-of-your-ITERATOR-al} with the name of your lookup assembly line. The line should now look similar to the following:
source_repository_lookup_assemblyline=myLookupAdapter:/AssemblyLines/lookup_from_db
- Save your changes and then close the profiles_tdi.properties file.
- Test your lookup adapter using the TEST_source_repository_lookup script in the Profiles TDI solution. To use this script:
- Configure the assembly line as described in the previous steps.
- Write the distinguished names of a number of users in a file named collect.dns and place this file at the root of the Profiles TDI solution directory. Separte each distinguished name with a carriage return.
- Run the runAl.sh TEST_source_repository_lookup or runAl.bat TEST_source_repository_lookup command. This command iterates over the collect.dns file and attempts to look up each user specified. The resulting data returned by your adapter is generated in the ibmdi.log file in the {TDI solution}/logs/ibmdi.log directory. You can examine this file to confirm that it is returning all of the expected values correctly.
- Repeat this procedure as needed until you are satisfied with the output of your adapter.
Related tasks
Set up your development environment Create an iterator connector
Use the ProfileConnector
Use the ProfileConnector to retrieve, create, update, and reset profile entries in the employee, profile extension, and other employee tables in the Profiles database. The connector flattens these tables into a single view of the profile data. The ProfileConnector can also be used to change the user state and change whether a user profile is listed as a manager. The ProfileConnector is the only supported way to perform these operations on a proflie using TDI as IBM Connections does not support the use of direct database access.
For information about how to configure your development environment for working with the IBM Tivoli Directory Integrator connectors, and where to place the connectors, see Set up your development environment.
Database properties are read from the profiles_tdi.properties file, which must be configured prior to using the connector. The Profiles property store must be part of the configuration (.xml) file where your assembly lines are located. For related information, see Connector modes in the Tivoli Directory Integrator documentation. The mode setting of the ProfileConnector determines what role the connector carries out in the assembly line. You can use the ProfileConnector in the following modes.
Table 4. ProfileConnector modes
Mode Description Iterator Iteratively scans data source entries, reads their attribute values, and delivers each entry to the appropriate AssemblyLine Flow section components.
All attributes that contain data in the profile can be mapped to be returned by the iterator mode. In addition to the list of profile attributes listed in the map_dbrepos_from_source.properties file, the following attributes can also be retrieved in the iterator and lookup modes:
- key - an internal key used to uniquely identify this profile. This key is used to link data between tables in the profiles database. It is not exported from profiles out to other connections components.
- sys_usrState - the value active or inactive based on the user's state
- lastUpdate - the time when this record was last updated by any means int the database
The sync_all_dns assembly line uses the Iterator mode during the hash records in database phase.
Lookup Fetches records from the Employee table in the Profiles database according to specified search criteria.
The following attributes can be used for the search criteria:
- key
- uid
- guid
- distinguishedName
- sourceUrl
- managerUid
This is used by the dump_photos call.
The search (link) criteria must be the key attribute.
Update Updates the profile records in the Employee table in the Profiles database. The following attributes can be used for the search criteria:
- key
- uid
- guid
- distinguishedName
- sourceUrl
- managerUid
In Update mode the following options are available on the connector panel:
- Update user state . The available options are as follows:
If Activate or Inactivate is selected this state will be explicitly set during the update processing of the record. This option is used during the sync_dns_process_add phase of sync_all_dns.
- Do not change (default)
- Activate
- Inactivate
- Mark manager . The available options are as follows:
- Checked . Sets the manger status to Yes or No
- Unchecked (default) . No manager status is specified
- When this option is enabled, the update mode will perform the Mark manager processing in addition to any other update operations. It will recognize if the profile being updated is referenced as the manager by any other profile in the database. If it is referenced, it will be marked with a Y as being a manager. If it is not referenced, it will be marked with a N as not being a manager. This option is used by the mark_manager assembly line.
The Update mode of the ProfileConnector is used by the update mode of the SyncDBFromSource internal assembly line, which is called by populate_from_dn_file.
The ProfileConnector also supports the Compute Changes and Skip Lookup checkboxes in the Advanced area. Consider unchecking the Compute Changes option if you want a state change or mark manager operation to be executed whether or not other changes are necessary. For more information about Compute Changes and Skip Lookup options, see Connector modes in the Tivoli Directory Integrator documentation.
The search (link) criteria is the same as the Lookup mode.
Delete Deletes records in the Employee table in the Profiles database according to specified search criteria.
The Delete mode of the ProfileConnector is used by the delete mode of the SyncDBFromSource internal assembly line, which is called by sync_all_dns.
The search (link) criteria is the same as the Lookup mode.
addOnly Adds new records to the Employee table in the Profiles database.
markManager This mode has been deprecated in Connections 4; use Update mode with the Mark manager option instead.
activate This mode has been deprecated in Connections 4; use Update mode with the Update user state option instead.
inactivate This mode has been deprecated in Connections 4; use Update mode with the Update user state option instead.
- To add the connector to an assembly line, open the assembly line, and then click Add Component in the Configuration Editor.
- Select Connectors, and then select ProfileConnector from the Components list.
- Enter a name for the connector in the Name field.
- Select a mode from the Mode list, and then click Finish.
What to do next
Consider referencing the supplied assembly lines for examples in using the ProfileConnector. In addition to these ProfilesConnector supplied assembly lines, the following topics describe additional example programs that are included as part of the TDI solution and that use the ProfileConnector. Do not modify the existing assembly lines, but use the extension points available through the hooks or create your own assembly line.
- Create a connector to synchronize Profiles data using LDIF . This describes how to use a source other than LDAP to synchronize Profiles user data. This sample shows how to use an LDIF text file as the user data source.
- Create a connector to synchronize a subset of Profiles data . This describes how to synchronize an explicit set of Profiles users out of cycle from your scheduled synchronization plan supplying a list of users to synchronize to an alternate synchronization utility.
- Use supplied scripts to delete inactive users based on inactivity length . This describes how to use supplied TDI scripts to surface and delete users who have been inactive for specified length of time.
- Create a connector to customize TDI attribute mapping . This describes how to use the mapping functionality included with the TDI solution and used by the supplied Profiles tasks.
Related tasks
Set up your development environment Uploading pronunciation files
Create a connector to customize TDI attribute mapping
You can customize extension attribute mappings in the Profiles connector.
Only use this function if you plan to use the mapping functionality in the same way that the default assembly lines do.
- If you want to set extension attributes, they must be added to the work entry in a certain way. In TDI, the work entry is the object passed to the different steps of the assembly line.
The following function reads the extension attributes out of the tdi-profiles-config file and adds them to the work entry.
var theEntry = system.newEntry(); ... create_extension_attribute_mappings(db_from_ldap_array, theEntry);
Create a connector to synchronize Profiles data using LDIF
You can use a source other than LDAP to synchronize Profiles user data. This sample shows how to use an LDIF text file as the user data source.
In this sample, data exported from an LDAP or constructed from another means contains data for the Profiles users in your IBM Connections deployment. If you have user data in a text file such as in LDIF format, you can use this sample connector in conjunction with sync_all_dns to synchronize the source data with connections.
Use this process, you.ll do the following:
- Configure TDI to use the iterator connector during operations to synchronize the Profiles database form the source.
- Use TDI mapping and extension attribute processing functions to upload data from the LDIF file to the Profiles database. Based on the source content, you will specify the mapping functions as needed.
A sample connector for use with an LDIF file is supplied as samples/ldifSourceConnectorIterator.xml.
The following is sample LDIF file content for a single user:
dn: uid=asingh, cn=users, dc=ibm,dc=com cn: Allie Singh givenName: Allie sn: Singh employeeNumber: 24251 ou: Office of the CEO departmentNumber: 10 title: Administrative Assistant to George Bandini telephoneNumber: 1-301-555-1001 mobile: 1-312-555-0302 pager: 1-773-555-8840 facsimileTelephoneNumber: 1-301-555-1002 uid: asingh roomNumber: 1-400A workloc: ID countryName: USA mail: asingh@rennovations.com manager: uid=gbandini, cn=users, dc=ibm,dc=comIn this example, using source data from am LDIF text file, the iterator connector is available but the lookup connector is not. TDI assembly lines that work in an iterative manner will read from the LDIF file, however assembly lines that must look up a particular user will not. For example, the collect_dns utility and the sync_all_dns utility will work but the populate_from_dn file utility will not because it also requires a lookup connector.
Use the following procedure:
- Create or otherwise obtain the LDIF file from your source data repository, for example an LDAP database.
- Move the supplied ldifSourceConnectorIterator.xml connector file from the samples directory to the packages subdirectory.
- Add the following statement to the profiles_tdi.properties file:
source_employees_file=your_file_name.ldif
- Open the map_dbrepos_from_source.properties file and configure mappings as needed based on the attributes in your source LDIF file. Note the following sample mapping for a single user:
In this example, a guid field was not present in the LDIF file so the guid entry in the following sample is mapped to employeeNumber, which will enable processing. See Map fields manually and Create an iterator connector for details.
deptNumber=departmentNumber displayName=cn distinguishedName=$dn email=mail faxNumber=facsimileTelephoneNumber givenName=given_name givenNames=given_name guid=employeeNumber #managerUid={func_map_to_db_MANAGER_UID} mobileNumber=mobile officeName=roomNumber #secretaryUid={func_map_to_db_SECRETARY_UID} surname=sn surnames=sn telephoneNumber=telephoneNumber title=title uid=uid
- Uncomment and change the following statement in the profiles_tdi.properties file to enable access to the connector:
source_repository_iterator_assemblyline=ldifSourceConnectorIterator:/AssemblyLines/ldifSourceConnectorIterator
- Run a command to process the connector, such as sync_all_dns, to update the corresponding Profiles user data.
Summary output will appear in the console and any errors generated will appear in the log file.
Synchronize a subset of Profiles data
You can synchronize an explicit set of Profiles users out of cycle from your scheduled synchronization plan supplying a list of users to synchronize to an alternate synchronization utility.
While IBM Connections enables you to upload and synchronize Profiles user data from an LDAP or alternate source repository (such as an LDIF file) on a scheduled basis, you can also synchronize data for a small user subset using the alternative process described here.
Typically the sync_all_dns command is used to synchronize the entire Profiles data set on a scheduled basis. If you need to synchronize a set of users, you can use the sample sync_dns_from_file command to accomplish the task. For example, you can use this utility, and a small user data subset, as a diagnostic tool when troubleshooting the synchronization process, making it easier to analyze trace output with a smaller sample size.
In this example, you will synchronize a list of users using sync_dns_simple_file. Functionally, this process works as though you had run the sync_all_dns command.
- If the user is found in the Profiles database but not in the source repository (for example LDAP), the specified delete action occurs.
- If the user is found in the source repository (for example LDAP) but not in the Profiles database, specified adds occur as they would in an sync_all_dns action.
- If the user is found in the source repository (for example LDAP) and also in the Profiles database, specified updates occur as they would in an sync_all_dns action.
The file uses the same formatting as the existing delete_or_inactivate_employees.in file in the samples directory. See Delete or inactivate users in the Profiles database for details.
Use the following procedure:
- Create your user synchronization source data fileyour_file.txt, for example sync_users_subset.txt, using the following format:
$dn:cn=Amy Jones3,cn=Users,l=WestfordFVT,st=Massachusetts,c=US,ou=Lotus,o=Software Group,dc=ibm,dc=com uid:Amy Jones3 . $dn:cn=Amy Jones8,cn=Users,l=WestfordFVT,st=Massachusetts,c=US,ou=Lotus,o=Software Group,dc=ibm,dc=com uid:Amy Jones8
- Save the completed your_file.txt file, for example sync_users_subset.txt.
- Open the profiles_tdi.properties file and reference your file and path using the sync_dns_simple_file statement; use the following format:
sync_dns_simple_file=samples/your_file.ext
- Save the profiles_tdi.properties file.
- Run the sync_dns_from_file.bat or sync_dns_from_file.sh command.
Summary output will appear in the console and any errors generated will appear in the log file.
Use supplied scripts to delete inactive users based on inactivity length
You can use supplied Tivoli Directory Integrator (TDI) scripts to surface and delete users who have been inactive for specified length of time. You might use this process to ensure that users who are no longer in the organization, according to LDAP, are deleted from the Profiles directory. If your organization plans to reuse UID values, or other unique profiles fields, you should permanently delete inactive users to so that these values can be reassigned to others.
When you inactivate a user, their email field is cleared but other fields such as UID, GUID, and distinguished name are not. These users also remain listed in components such as Communities, Activities, and Profiles. After a specified length of time you may want to delete these inactive users completely from your other Connections components. You can use the revoke users sample to delete inactive users who meet the length of time criteria. For related information, see User life cycle details.
After flagging a user as inactive, but prior to revoking or deleting that user, you can retrieve that user and their data. However, after revoking or deleting a user, you cannot retrieve that user or that user.s data.
Typically the sync_all_dns utility is used to synchronize the Profiles data set on a scheduled basis. When a user leaves the organization, and is removed from the LDAP directory, by default the sync_all_dns utility inactivate that user by flagging them as inactive in the Profiles database and propagating this infomation to the other Connections components.
In this example, you will use supplied scripts to delete inactive user(s) who were inactivated earlier than the specified number of days. This gives the organization a transition period, during which the users are in an inactive state. These users can then be deleted after the transition period. The transition period can be any value, in days. When the user is deleted, their UID and GUID identifiers are made available for reuse.
See Delete or inactivate users in the Profiles database for related information.
Use the following procedure:
- Copy the revoke_users.sh or revoke_users.bat, revoke_users.xml, and revoke_users.properties files to the Profiles TDI solution directory from the supplied samples directory.
- Optional: Run the revoke_users script with the validate parameter to check that you have installed the fixpacks required to run the revoke_users script with the revoke parameter. Results are sent to the logs/ibmdi.log file.
See the following sample output:
2012-06-19 11:22:03,076 INFO [AssemblyLine.AssemblyLines/validate.1] +++++++++ VALID TDI SOLUTION +++++++++++
- Optional: Run the revoke_users script with the summary parameter to preview the users to be deleted before actually deleting them.
This script creates the following two preview files:
- revoke.ldif . lists the inactive users to be deleted from the Profiles database by the revoke_users revoke script. These are the inactive users who have been inactive for as long as or longer than the specified amount of time.
- revoke_skip.ldif . lists the inactive users to not be deleted from the Profiles database by the revoke_users revoke script. These are the inactive users who have been inactive for less than the specified amount of time.
The logs/ibmdi.log file is updated after every 10K user names processed.
After flagging a user as inactive, but prior to revoking or deleting that user, you can retrieve that user and their data. However, after revoking or deleting a user, you cannot retrieve that user or that user.s data.
- Run the revoke_users script with the revoke parameter to delete the inactive users from the Profiles database.
This script creates the same revoke.ldif and revoke_skip.ldif files as the revoke_users summary script. It then deletes the users listed in the revoke.ldif file from the Profiles database.
Use the PhotoConnector
Use the PhotoConnector to retrieve, create, update, and delete photo entries in the Photo table in the Profiles database.
For information about how to configure your development environment for working with the IBM Tivoli Directory Integrator connectors, and where to place the connectors, see Set up your development environment.
Database properties are read from the profiles_tdi.properties file, which must be configured prior to using the connector. The Profiles property store must be part of the configuration (.xml) file where your assembly lines are located. For related information, see General Concepts in the Tivoli Directory Integrator documentation. The PhotoConnector works with photos in the Profiles database. The mode setting of the connector determines what role the connector carries out in the assembly line. You can use the PhotoConnector in the following modes.
Table 5. PhotoConnector modes
Mode Description Iterator Iteratively scans data source entries, reads their attribute values, and delivers each entry to the appropriate AssemblyLine Flow section components.
The available attributes that are returned in the work entry are in the iterator and lookup modes:
- fileType - for example image/jpeg
- image - specifies the byte array containing the photo contents
- key - specifies the user.s key value
- updated - specifies when the photo was last modified
The dump_photos_to_files assembly line uses the Iterator mode.
Lookup Fetches records from the Photo table in the Profiles database according to specified search criteria, which is the key attribute.
The following attributes can be used for the search criteria:
- fileType - for example image/jpeg
- image - specifies the byte array containing the photo contents
- key - specifies the user.s key value
- updated - specifies when the photo was last modified
The search (link) criteria must be the key attribute.
Update Updates the photo for the user specified in the search criteria, that being the key attribute.
One of the following additional attributes must be supplied:
- The image attribute must contain the byte array containing the photo.
- The linkStream must contain a URL reference to the photo.
The load_photos_from_files assembly line uses the Update mode.
The search (link) criteria is the same as the Lookup mode.
Delete Deletes records in the Photo table in the Profiles database according to specified search criteria.
The search (link) criteria is the same as the Lookup mode.
updateToDB This mode has been deprecated, use the Update mode instead.
- To add the connector to an assembly line, create a new or open an existing assembly line and click Add Component in the Configuration Editor.
- Select Connectors, and then select PhotoConnector from the Components list.
- Enter a name for the connector in the Name field.
- Select a mode from the Mode list, and then click Finish.
- Continue with any additional development of your assembly line.
Related tasks
Set up your development environment Populate Profiles with photos
Use the PronunciationConnector
Use the PronunciationConnector to retrieve, create, update, and delete pronunciation entries in the Pronunciation table in the Profiles database.
For information about how to configure your development environment for working with the IBM Tivoli Directory Integrator connectors, and where to place the connectors, see Set up your development environment.
Database properties are read from the profiles_tdi.properties file, which must be configured prior to using the connector. The Profiles property store must be part of the configuration (.xml) file where your assembly lines are located. For related information, see General Concepts in the Tivoli Directory Integrator documentation. The PronunciationConnector writes changes to the Pronunciation table in the Profiles database. The mode setting of the connector determines what role the connector carries out in the assembly line. You can use the PronunciationConnector in the following modes.
Table 6. PronunciationConnector modes
Mode Description Iterator Iteratively scans data source entries, reads their attribute values, and delivers each entry to the appropriate AssemblyLine Flow section components. The available attributes that are returned in the work entry are in the iterator and lookup modes:
In this mode, the PronunciationConnector connects to the Pronunciation table in the Profiles database, retrieves all the records, and handles them one by one.
Lookup Fetches records from the Pronunciation table in the Profiles database according to specified search criteria.
The PronunciationConnector only supports searches by uid and key.
The search (link) criteria must be the key attribute.
Update Updates the pronunciation records in the Pronunciation table in the Profiles database. The connector can update the database using the pronunciation file link, inputting it as an InputStream data type, or using the pronunciation content, inputting it as a byte data type.
The search (link) criteria is the same as the Lookup mode.
Delete Deletes records in the Pronunciation table in the Profiles database according to specified search criteria.
The PronunciationConnector can only delete pronunciation records that are specified by key.
The search (link) criteria is the same as the Lookup mode.
updateToDB This mode has been deprecated, use the Update mode instead.
- To add the connector to an assembly line, open the assembly line, and then click Add Component in the Configuration Editor.
- Select Connectors, and then select PronunciationConnector from the Components list.
- Enter a name for the connector in the Name field.
- Select a mode from the Mode list, and then click Finish.
- If you want to add the connector to your project's connector library, right-click the Connectors folder in the Configuration Browser, and then select PronunciationConnector from the Components list.
Use the CodesConnector
Use the CodesConnector to retrieve, create, update, and delete code entries in various codes tables in the Profiles database.
For information about how to configure your development environment for working with the IBM Tivoli Directory Integrator connectors, and where to place the connectors, see Set up your development environment. For additional information, see Supplemental user data for Profiles.
Database properties are read from the profiles_tdi.properties file, which must be configured prior to using the connector. The Profiles property store must be part of the configuration (.xml) file where your assembly lines are located. For related information, see General Concepts in the Tivoli Directory Integrator documentation.
The Codes Table Name menu option in the CodesConnector contains the choices Country, Department, EmployeeType, Organization, and WorkLocation. The CodesConnector requires that one of these table choices be assigned to the Codes Table Name field option. The table choice specified is used during CodesConnector operations. Each table has a different, but similar, schema. You can determine the schema of a particular table by making connections in the input or output map panels of the connector and then clicking Next to advance to the applicable record.
The CodesConnector works with records in the COUNTRY, DEPARTMENT, EMP_TYPE, ORGANIZATION, and WORKLOC tables in the Profiles database. The mode setting of the connector determines what role the connector carries out in the assembly line. You can use the CodesConnector in the following modes.
Table 7. CodesConnector modes
Mode Description Iterator Connects to the codes table in the Profiles database, retrieves all the records, and handles them one by one.
Lookup Fetches records from the codes table in the Profiles database according to specified search criteria.
The search (link) criteria attribute is determined by the code table name specified in the connector panel. The following table name and their associated attribute are supported for use as the search criteria:
- Country . countryCode
- Department . departmentCode
- EmployeeType . employeeType
- Organization . orgCode
- WorkLocation . workLocationCode
Update Updates records in the codes table in the Profiles database.
The search (link) criteria is the same as the Lookup mode.
Delete Deletes records in the codes table in the Profiles database according to specified search criteria.
The search (link) criteria is the same as the Lookup mode.
updateToDB This mode has been deprecated in Connections 4; use Update mode instead.
- To add the connector to an assembly line, create a new or open an existing assembly line and click Add Component in the Configuration Editor.
- Select Connectors, and then select CodesConnector from the Components list.
- Enter a name for the connector in the Name field.
- Click Next.
- Select the desired table name from the list and click Finish.
- Continue with any additional development of your assembly line.
Related tasks
Set up your development environment Manage profile content
You can enable the active content filter to prevent users from embedding malicious content in text input fields in Profiles. You can also use administrative commands to update or remove inappropriate information in fields to which you do not have owner access.
Filter active content in Profiles
Profiles provides a filter that prevents users from creating rich text descriptions with malicious scripts that are executed when other users visit Profiles. You can enable or disable this component.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool. The active content filter prevents a user from embedding malicious content such as JavaScript in the About me and Background text input fields. You can disable the filter to provide richer options for content in these fields.
Disabling this filter introduces a vulnerability to malicious cross-site scripting (XSS) attacks.
To configure active content filter settings, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Enter the following command to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory", "cell_name")where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- To configure the active content filter for Profiles, use the following command:
ProfilesConfigService.updateConfig(property, value)
...where
- property is one of the editable Profiles configuration properties.
- value is the new value with which you want to set that property.
The following table displays information regarding the active filter property and the type of data you can enter for it.
Table 8. The active content filter property
Option Description activeContentFilter.enabled Enables and disables filtering for active content of text entered into the About me and Background text input fields.
This property takes a Boolean value: true or false. The value must be formatted in lowercase.
For example, to disable filtering:
ProfilesConfigService.updateConfig("activeContentFilter.enabled","false")
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes in Profiles for information about how to save and apply your changes.
Related tasks
Apply property changes in Profiles
Remove inappropriate content
Content management commands are used to update inappropriate information stored in the Profiles database, such as text displayed in the About Me and Background fields of the Profiles user interface. These administrative commands can also be used to delete inappropriate photos from the database. No file checkout or server restart is required when using the commands.
To access configuration files, you must use the wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. Profiles provides a number of administrative commands that allow you to remove offensive or unwanted content from the database.
To update or delete content in the Profiles database, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands to remove or replace inappropriate or unwanted content from the Profiles database.
- ProfilesService.updateExperience(String user_email_addr, String new_content_for_experience_field)
Replaces the existing experience text associated with a user's email address with alternate text enclosed by double quotes.
Experience is the information contained in the Background area of a user's profile.
For example:
ProfilesService.updateExperience("ann_jones@company.com","This is new text that will be entered into the Background field for Ann.")
Rich text cannot be entered with this command.
- ProfilesService.updateDescription(String user_email_addr, String new_content_for_description_field)
Replaces the existing description text associated with a user's email address with alternate description text enclosed by double quotes.
Description text is information contained on the About Me tab of a user's profile.
For example:
ProfilesService.updateDescription("ann_jones@company.com","This is new text that will be entered into the About Me tab for Ann.")
Rich text cannot be entered with this command.
- ProfilesService.deletePhoto(String user_email_addr)
Deletes image files associated with a user's email address. This command can be used only if the user has uploaded a photo to their profile. This command removes the photo.
For example:
ProfilesService.deletePhoto("john_doe@company.com")Configure features by profile type
You can configure certain features in Profiles according to profile type.
By modifying settings in profiles-policy.xml file, you can enable, disable, and set access control settings for the following Profiles features, according to profile type.
- Recent updates and messages
- Following
- Networking
- Profile photo
- Profile pronunciation file
- Reporting structure
- Tagging
Related
Add profile types
Configure the recent updates feature by profile type
Edit settings in profiles-policy.xml file to configure the recent updates feature according to profile type.
To edit configuration files, use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin tool.
The recent updates feature allows users to connect with people in their network by posting messages to their profile and commenting on their status messages. As administrator, you can enable or disable the feature for specific profile types, depending on your organization's needs. You can also configure access control settings according to profile type.
Profiles directory extensions must be enabled to support this capability. Extensions are enabled by default.
Profiles policy contains two related settings that impact how a user is enabled to post a status update on their Profile page . profiles.board and profile.status.update. IBM recommends to have identical settings for both of these policies. In case of conflict between the two settings, the most restrictive setting is used. See Configuring the status update feature for related information.
The following steps provide information about the properties that you can set for the recent updates feature, and the access levels and scopes that you can configure.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
- Edit the following properties for the recent updates feature as needed.
- profile.board
Enables or disables the Profiles recent updates feature.
Configuring this property does not affect the ability to post status messages.
This property takes a string value. Possible values include:
- true. Enables the recent updates feature for users with the specified profile type. When set to true, message posts display in the user interface.
- false. Disables the recent updates feature for users with the specified profile type. When set to false, message posts do not display in the user interface. The access control level settings are also ignored when the feature is disabled.
- profile.board.write.message
Controls user access to post messages.
Access levels for this property can be defined using one of the following scopes:
- none. No user can post messages to users with the specified profile type.
- self. Users with the specified profile type can view and post messages in their own recent updates area. Administrators can also view and post messages in the recent updates area of users with the specified profile type.
- colleagues_not_self. Only people who belong to the network of the user with the specified profile type, and who have the person role, can view and post messages to the user's recent updates area. Users with the specified profile type cannot post messages to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- colleagues_and_self. People who belong to the network of the user with the specified profile type, and who have the person role, can view and post messages to the user's recent updates area. Users with the specified profile type can also post messages to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_not_self. Users with the Person role in the News application can post messages to or view the recent updates area of users with the specified profile type. Users with the specified profile type cannot post messages to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_and_self. Users with the Person role in the News application, including self, can post messages to or view the recent updates area of users with the specified profile type. Users with the specified profile type can also post messages to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- profile.board.write.comment
Controls user access to post comments to the recent updates area.
Access levels for this property can be defined using one of the following scopes:
- none. No one can post comments to the recent updates area of users with the specified profile type.
- self. Users with the specified profile type can view and post comments to their own recent updates area. Administrators can also view and post comments to the recent updates area of users with the specified profile type.
- colleagues_not_self. Only the people who belong to the network of the user with the specified profile type, and who have the person role, can view and post comments to the user's recent updates area. Users with the specified profile type cannot post comments to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- colleagues_and_self. People who belong to the network of the user with the specified profile type, and who have the person role, can view and post comments to the user's recent updates area. Users with the specified profile type can also post comments to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_not_self. Users with the Person role in the News application can post comments to and view the recent updates area of users with the specified profile type. Users with the specified profile type cannot post comments to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_and_self. Users with the Person role in the News application, including self, can post comments to and view the recent updates area of users with the specified profile type. Users with the specified profile type can also post comments to their own recent updates area.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
For example:
<feature name="profile.board"> <profileType type="default" enabled="true"> <acl name="profile.board.write.message" scope="colleagues_and_self" /> <acl name="profile.board.write.comment" scope="colleagues_and_self" /> </profileType> <profileType type="contractor" enabled="true"> <acl name="profile.board.write.message" scope="person_and_self" /> <acl name="profile.board.write.comment" scope="colleagues_and_self" /> </profileType> <profileType type="visitor" enabled="false" /> </feature>This code sample enables the recent updates feature for the default profile type, but restricts access to post messages and comments to people in the profile owner's network who have the person and the profile owner. The recent updates feature is also enabled for the contractor profile type, but access to post messages is restricted to users with the person role, including the profile owner. Access to post comments is restricted to the profile owner, and people in the profile owner's network who have the person role. The recent updates feature is disabled for the visitor profile type.
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Related tasks
- Manage widgets in Profiles
Configure the following feature by profile type
Edit settings in profiles-policy.xml file to configure the following feature according to profile type.
To edit configuration files, use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin tool. When the following feature is enabled, users can follow people and content that they are interested in to get the latest updates about them. In this release of IBM Connections, the following feature is enabled by default and you cannot disable it. However, you can configure access control settings for the feature according to profile type.
These steps provide information about the properties that you can set and the access levels that you can configure.
- Use the wsadmin client to access the Profiles configuration files.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
- Edit the following properties for the following feature as needed.
- profile.following
This property is always enabled in this release so that users are always able to see who they are following and who their followers are. You can use the profile.following.add access scope to control who can follow users of the specified profile type.
- profile.following.add
Controls access to follow users with the specified profile type.
Access levels for this property can be defined using one of the following scopes:
- none. No one can follow users with the specified profile type.
- self. Users with the specified profile type can follow themselves to subscribe to their own updates. Administrators can also follow users with the specified profile type.
- colleagues_not_self. Only people who belong to the network of the user with the specified profile type, and who have the person role, can follow the user. Users with the specified profile type cannot follow themselves.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- colleagues_and_self. People who belong to the network of the user with the specified profile type, and who have the person or self role, can follow the user. Users of the specified profile type can also follow themselves to subscribe to their own updates.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_not_self. Only users with the person J2EE role can post follow users with the specified profile type. Users with the specified profile type cannot follow themselves.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_and_self. Users with the person J2EE role can follow users with the specified profile type. Users of the specified profile type can also follow themselves to subscribe to their own updates.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
For example:
<feature name="profile.following"> <profileType type="default" enabled="true"> <acl name="profile.following.add" scope="person_not_self" /> </profileType> <profileType type="contractor" enabled="true"> <acl name="profile.following.add" scope="colleagues_not_self" /> </profileType> <profileType type="visitor" enabled="false"> <acl name="profile.following.add" scope="none" /> </profileType> </feature>This code sample allows only users who have the person J2EE role to follow users with the specified profile type. For users with the contractor profile type, only the people who belong to the user's network can follow users of that profile type. Following is disabled for users with the visitor profile type.
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Configure the networking feature by profile type
Edit settings in profiles-policy.xml file to configure the networking feature according to profile type.
To edit configuration files, use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin tool. When networking is enabled, users can invite other users to join their network. The networking feature is enabled by default and you cannot disable it. However, you can configure access control settings for the feature according to profile type.
The following steps provide information about the properties for the networking feature, and the access levels and scopes that you can configure.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
- Edit the following properties for the networking feature as needed.
- profile.colleague
This property is always set to enabled to ensure that users are always able to see their possible colleagues. You cannot set the property to disabled. However, you can use the profile.colleague.connect access scope to control who can invite the user to be a colleague.
- profile.colleague.connect
Controls user access to invite people to join their network.
Access levels for this property can be defined using one of the following scopes:
- none. No one can invite a user with the specified profile type to join their network. If the user has an existing network of colleagues, it is not available.
Set the scope to none does not make a user's network read-only. If you need to lock the state of a user, note that users can still remove contacts from their network when you set the scope to none.
- person_not_self. Only users with the person J2EE role can invite users with the specified profile type to join their network. The profile owner cannot invite themselves to join their own network.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the admin role.
For example:
<feature name="profile.colleague"> <profileType type="default" enabled="true"> <acl name="profile.colleague.connect" scope="person_not_self" /> </profileType> <profileType type="contractor" enabled="true"> <acl name="profile.colleague.connect" scope="none" /> </profileType> <profileType type="visitor" enabled="false"> <acl name="profile.colleague.connect" scope="none" /> </profileType> </feature>This code sample enables the networking feature for users with the default profile type, and enables only users with the person J2EE role to invite the profile owner to join their network. Networking is also enabled for the contractor profile type, although no one can invite contractor users to join their network. Networking is disabled for users with the visitor profile type.
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Configure the profile photo feature by profile type
Edit settings in profiles-policy.xml file to configure the profile photo feature according to profile type.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. When the profile photo feature is enabled, users can enhance their profile page by adding a picture of themselves. As administrator, you can enable or disable this feature for specific profile types, depending on your organization's needs. You can also configure access control settings for the profile photo feature according to profile type.
The following steps provide information about the properties that you can set for the profile photo feature, and the access levels and scopes that you can configure.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
- Edit the following properties for the profile photo feature as needed.
- profile.photo
Enables or disables the profile photo feature.
This property takes a string value. Possible values include:
- true. Enables the photo feature for users with the specified profile type. The user interface displays the user's photo and provides options for editing the photo.
- false. Disables the photo feature for users with the specified profile type. The user interface does not display the user's photo or options for editing the photo. A generic photo image is displayed in place of the user's photo.
- profile.photo.update
Control access to view the photo. In additional to the scope attribute for this access control, dissallowNonAdminIfInactive can be used to indicate whether photos for inactive users can be viewed. Administrative users can view photos regardless of the configuration.
Access levels for this property can be defined using one of the following scopes:
- none. No one can update the profile photo of users with the specified profile type.
- self. Users with the specified profile type can update their own profile photo. Administrators can also update the profile photo of users with the specified profile type.
- profile.photo.view
Controls access to view the photo.
In additional to the scope attribute for this access control, dissallowNonAdminIfInactive can be used to indicate whether photos for inactive users can be viewed. Administrative users can view photos regardless of the configuration.
In the following photo policy sample, users who have been assigned the reader role can view active user's photos with the default profile type, but photos for inactive users are only viewable by users who have been assigned theadmin role. When a user's photo is not viewable, the default gray photo image is displayed.
<profileType type="default" enabled="true"> <acl name="profile.photo.view" scope="reader" dissallowNonAdminIfInactive="true"/> <acl name="profile.photo.update" scope="self" /> </profileType>The following sample enables the profile photo feature for the default profile type, but restricts access to update profile photos to profile owners and administrators. For users with the contractor profile type, the profile photo is enabled, but no access is provided to update the profile photo for users of this profile type. The profile photo feature is disabled for users with the visitor profile type, and no one can update the profile photo for users of this profile type.
<feature name="profile.photo"> <profileType type="default" enabled="true"> <acl name="profile.photo.update" scope="self" /> </profileType> <profileType type="contractor" enabled="true"> <acl name="profile.photo.update" scope="none" /> </profileType> <profileType type="visitor" enabled="false"> <acl name="profile.photo.update" scope="none" /> </profileType> </feature>
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Configure the pronunciation feature by profile type
Edit settings in profiles-policy.xml file to configure the pronunciation feature according to profile type.
To edit configuration files, use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin tool. When the pronunciation feature is enabled, users can upload a recording of their name being pronounced correctly to their profile. You can enable or disable this feature for specific profile types. You can also configure access control settings for the pronunciation feature according to profile type.
The following steps provide information about the properties that you can set for the pronunciation feature, and the access levels and scopes that you can configure.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
- Edit the following properties for the pronunciation feature as needed.
- profile.pronunciation
Enables or disables the profile pronunciation feature.
This property takes a string value. Possible values include:
- true. Enables the pronunciation feature for users with the specified profile type. The user interface displays an icon for the user's pronunciation file and provides options for editing the file.
- false. Disables the pronunciation feature for users with the specified profile type. The feature does not display in the user interface.
- profile.pronunciation.update
Controls user access to update the profile pronunciation file.
Access levels for this property can be defined using one of the following scopes:
- none. No one can update the pronunciation file of users with the specified profile type.
- self. Users with the specified profile type can update their own pronunciation file. Administrators can also update the pronunciation file of users with the specified profile type.
For example:
<feature name="profile.pronunciation"> <profileType type="default" enabled="true"> <acl name="profile.pronunciation.update" scope="self" /> </profileType> </feature>This code sample enables the pronunciation feature for users with the default profile type, but restricts the ability to update pronunciation files to profile owners and administrators.
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Configure the reporting structure feature by profile type
Edit settings in profiles-policy.xml file to configure the reporting structure feature according to profile type. You can specify whether a user's manager information is available, and whether a manager's direct reports are available, for a specific profile type.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. When the report-to feature is enabled, users can view the position of other users within the organization using the report-to chain information displayed on their profile page. When the people-managed feature is enabled, users can view the direct reports of a particular manager. As administrator, you can enable or disable these reporting structure features for specific profile types.
The following steps provide information about the properties that you can set for the reporting structure feature.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
- Edit the following properties for the reporting structure feature.
- profile.reportTo
Enables or disables the display of the user's report-to information on their profile page.
This property takes a string value. Possible values include:
- true. Report-to information is available for the users with this profile type. The user interface displays the report-to information, and the user's service document contains the reporting structure links.
- false. Report-to information is not available for the users with this profile type. The user interface still displays the Report-to-Chain widget, but with only the profile owner shown. The report-to information is hidden, as if the profile owner does not have a manager. If you are disabling this option, consider also disabling the widget for this profile type in the widgets-config.xml file. For more information, see Managing widgets in Profiles.
For example, to enable the display of report-to information for users with the default profile type:
<feature name="profile.reportTo"> <profileType type="default" enabled="true"> </profileType> </feature>
- profile.peopleManaged
Enables or disables the display of direct reports for managers with the specified profile type.
This property takes a string value. Possible values include:
- true. People-managed information is available for the users with this profile type, when they are managers. The user interface displays the report-to information, and the user's service document contains the reporting structure links.
- false. People-managed information is not available for managers with this profile type. The user interface still displays the Report-to Chain widget, but with only the current profile owner shown. The people-managed information is hidden, as if the user does not have any direct reports.
For example, to enable the display of people-managed information for managers with the default profile type:
<feature name="profile.peopleManaged"> <profileType type="default" enabled="true"> </profileType> </feature>
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Configure the status update feature by profile type
Edit settings in profiles-policy.xml file to configure the status update feature according to profile type.
To edit configuration files, use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin tool. Profiles users can keep people in their network and the wider organization informed about their latest activities by posting status messages. You can control whether users can update their status message by enabling or disabling status updates for specific profile types. You can also configure access control settings for status updates according to profile type.
The following steps provide information about the properties you can set for the status update feature, and the access levels you can configure.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
- Edit the following properties for the status update feature as needed.
- profile.status
Enables or disables the status update feature.
This property takes a string value. Possible values include:
- true. Enables the status update feature for users with the specified profile type. The user interface for status messages displays.
- false. Disables the status update feature for users with the specified profile type. The user interface for status messages does not display. The access control level settings are also ignored when this feature is disabled.
- profile.status.update
Controls user access to update status messages.
Access levels for this property can be defined using one of the following scopes:
- none. No one can update the status message of users with the specified profile type.
- self. Users with the specified profile type can update their own status message. Administrators can also update the status message of users with the specified profile type.
For example:
<feature name="profile.status"> <profileType type="default" enabled="true"> <acl name="profile.status.update" scope="self" /> </profileType> </feature>This code sample enables the status update feature for the default profile, but restricts the ability to update status messages to profile owners and administrators.
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Configure the tagging feature by profile type
Edit settings in profiles-policy.xml file to configure the tagging feature for specific profile types.
To edit configuration files, use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin tool. The tagging feature allows users to assign meaningful keywords to their own profile and other users' profiles, making it easier to find people with a particular interest or expertise. You can control whether users can tag themselves and others by enabling or disabling the tagging feature for specific profile types. You can also configure access control settings for this feature according to profile type.
- When tagging is disabled, the tags widget is not automatically hidden in the user interface. To hide the widget, you must delete or comment out the relevant widget entry in the widget-config.xml file. For more information, see Managing widgets in Profiles.
- When tagging is disabled for a given user type, the user's existing tags are still searchable; there is no mechanism available for controlling access to the tags from a reading and viewing perspective. If you choose to display the tags widget but you disable tagging for a particular user type, it might cause confusion for your users when search results include tags for a particular profile, but the tags do not display in that profile.
To enable or disable tagging by profile type, complete the following steps:
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out profiles-policy.xml file:
ProfilesConfigService.checkOutPolicyConfig("<working_directory>", "cell_name")...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the IBM WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutPolicyConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open profiles-policy.xml file using a text editor, from the temporary directory to which you checked it out.
Edit the following properties for the tagging feature as needed.
- profile.tag
Controls user access to add tags to their profile.
Access levels for this property can be defined using one of the following scopes:
- none. No one can tag the profile of users with the specified profile type.
- self. Users with the specified profile type can tag their own profiles. Administrators can also tag the profiles of users with the specified profile type.
- colleagues_not_self. Only people who belong to the network of the user with the specified profile type, and who have the person role, can tag the user's profile. Users with the specified profile type cannot tag their own profiles.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- colleagues_and_self. People who belong to the network of the user with the specified profile type, and who have the person role, can tag the user's profile. Users with the specified profile type can tag their own profiles.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_not_self. Users with the person J2EE role can tag the profile of users with the specified profile type. Users with the specified profile type cannot tag their own profiles.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
- person_and_self. Users with the person J2EE role can tag the profile of users with the specified profile type. Users with the specified profile type can also tag their own profiles.
If resourceOwner is specified on the access check, the resource owner constraint must also be met, unless the user has the self role.
For example:
<feature name="profile.tag"> <profileType type="default" enabled="true"> <acl name="profile.tag.add" scope="person_and_self" /> </profileType> <profileType type="contractor" enabled="true"> <acl name="profile.tag.add" scope="colleagues_and_self" /> </profileType> <profileType type="visitor" enabled="false"> <acl name="profile.tag.add" scope="none" /> </profileType> </feature>This code sample enables tagging for users with the default profile type. Users with the person J2EE role can tag users of the default profile type, and default users can tag their own profiles. Tagging is also enabled for users with the contractor profile type. People in the profile owner's network who have the person role can add tags to profiles of the contractor type, and contractor users can tag their own profiles. Tagging is disabled for users with the visitor profile type.
- Save your changes and check profiles-policy.xml file back in :
ProfilesConfigService.checkInPolicyConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Related tasks
- Manage widgets in Profiles
Configure widgets in Profiles
To configure existing widgets or to make custom widgets available for use in Profiles, you modify settings in the widgets-config.xml file.
Related tasks
- Configure the Recent Posts widget
Check out the widgets-config.xml file for Profiles
The widgets-config.xml files contains configuration settings for each of the widgets supported by Profiles. To update settings in the file, check the file out and, after making changes, check the file back during the same wsadmin session as the checkout for the changes to take effect.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for details. The widgets-config.xml file defines the widgets available for use in Profiles and Communities. You can edit configuration settings in this file to perform various tasks. For example, if you want to make custom widgets available, you define the widgets in this file. You also edit settings in this file if you want to configure the Recent Posts widget to only display tabs for the applications included in your deployment. For more information, see Configuring the Recent Posts widget.
To configure settings in the widgets-config.xml file for Profiles.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out the widget configuration file:
ProfilesConfigService.checkOutWidgetConfig("<working_directory>", "<cell_name>")
...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutWidgetConfig("/wsadminoutput", "jdoe30Node02Cell")
- Navigate to the temporary directory in which you saved the widgets-config.xml file, and then open the file in a text editor and make the required changes.
- Save your changes and check the widgets-config.xml file back in :
ProfilesConfigService.checkInWidgetConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Related tasks
- Use the widgets-config.xml file for Communities
- Configure the Recent Posts widget
- Manage widgets in Profiles
Manage widgets in Profiles
Configure settings in the widget definition file, widgets-config.xml, when you want to modify the widgets that display in the Profiles application.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for details. The widgets-config.xml file contains information about widget definitions, widget attributes, widget location, default widget templates, and page definitions. Each widget has a corresponding <widgetDef> element that contains the attributes for the widget. When you want to edit the widget, enable or disable it, or move it to a different location, you need to update the corresponding <widgetDef> element in the widgets-config.xml file.
The widgets-config.xml file is stored in the following location:
WAS_HOME\profiles\AppSrv01\config\cells\CELL_NAME\LotusConnections-config\widgets-config.xml
To edit the widgets that display in Profiles, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out the widget configuration file:
ProfilesConfigService.checkOutWidgetConfig("<working_directory>", "<cell_name>")
...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutWidgetConfig("/wsadminoutput", "jdoe30Node02Cell")
- Navigate to the temporary directory in which you saved the widgets_config.xml file, and then open the file in a text editor.
- Do one of the following:
- To edit a widget's properties, look for the corresponding <widgetDef> element, and then modify the widget attributes and parameters as needed. For information about the attributes and parameters, see Profiles widget attributes.
- To associate a widget with a different profile type, look for the relevant <widgetDef> element, and then modify the value of the resourceSubType attribute. For information about the resourceSubType attribute, see Profiles widget attributes.
- To move a widget to a different location, look for the relevant <widgetDef> element, and then modify the value of the pageId and uiLocation attributes. For information about these attributes, see Profiles widget attributes.
- To disable a widget, look for the relevant <widgetDef> element and either delete the element or comment it out of the code.
- Save your changes and check the widgets-config.xml file back in :
ProfilesConfigService.checkInWidgetConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Example
<layout resourceSubType="default"> <page pageId="searchView"> <widgetInstance uiLocation="col1" defIdRef="commonTags"/> <widgetInstance uiLocation="col3" defIdRef="sand_DYK"/> <widgetInstance uiLocation="col3" defIdRef="sand_recomItems"/> </page > <page pageId="profilesView"> <widgetInstance uiLocation="col1" defIdRef="socialTags"/> <widgetInstance uiLocation="col1" defIdRef="sand_thingsInCommon"/> <widgetInstance uiLocation="col2" defIdRef="multiWidget"/> <widgetInstance uiLocation="multiWidget" defIdRef="board"/> <widgetInstance uiLocation="multiWidget" defIdRef="contactInfo"/> <widgetInstance uiLocation="multiWidget" defIdRef="backgroundInfo"/> <widgetInstance uiLocation="multiWidget" defIdRef="multiFeedReader"/> <widgetInstance uiLocation="col3" defIdRef="sand_socialPath"/> <widgetInstance uiLocation="col3" defIdRef="reportStructure"/> <widgetInstance uiLocation="col3" defIdRef="friends"/> <widgetInstance uiLocation="col3" defIdRef="linkRoll"/> </page > <page pageId="searchView"> <widgetInstance uiLocation="col1" defIdRef="commonTags"/> </page > <page pageId="networkView"> <widgetInstance uiLocation="col1" defIdRef="sand_DYK"/> </page > <page pageId="editProfileView"> <widgetInstance uiLocation="col1" defIdRef="socialTags"/> <widgetInstance uiLocation="col1" defIdRef="sand_thingsInCommon"/> <widgetInstance uiLocation="col3" defIdRef="sand_socialPath"/> <widgetInstance uiLocation="col3" defIdRef="reportStructure"/> <widgetInstance uiLocation="col3" defIdRef="friends"/> <widgetInstance uiLocation="col3" defIdRef="linkRoll"/> </page > </layout>
Related
- Add custom widgets to Profiles
- Profiles widget attributes
Profiles widgets
The following table lists the widgets that are available for the Profiles application.
You can edit, enable or disable, and change the location of the following Profiles widgets by configuring settings in the widgets-config.xml file. For more information, see Managing widgets in Profiles.
Table 9. Profiles widgets
User interface element Widget defIdRef Description Organization Tags widget commonTags Displays the tags for the entire organization. This widget is visible on the Directory page. Do You Know widget sand_DYK Recommends people for users to add to their network. This widget is visible on the Directory page. Tags widget socialTags Displays the tags associated with a specific profile. Things in Common widget sand_thingsInCommon Displays a list of the things that a user has in common with another user. Tabs widget multiWidget Displays the tabs in the center section of the profile view page. By default, this tabbed section displays the following widgets:
You can include additional widgets as part of the Tabs widget if required.
- Recent Updates
- Contact Information
- Background
Recent Updates widget board Displays the latest updates to the profile owner's status message, and messages or comments that other users have posted. Also displays a status message for actions and posts of users that the profile owner follows and from content the profile owner is a member of, such as communities, blogs, and wikis. Contact Information widget contactInfo Displays the profile owner's contact information, such as name, job title, company, location, telephone numbers, and email addresses. Background widget backgroundInfo Displays the profile owner's background information, such as work experience, technical skills, languages spoken, interests, past work experience, and education. Who Connects Us widget sand_socialPath Displays the social path that links two users in IBM Connections. Report-to Chain widget reportStructure Displays the profile owner's position in the organization. Network widget friends Displays a selection of the people in the profile owner's network. My Links widget linkRoll Displays a list of external links that the profile owner has included as part of their profile.
Configure the Recent Posts widget
Configure the Recent Posts widget to display multiple feeds in a user's profile. The widget can be extended to display additional feeds from IBM Connections applications and external services as required.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool. The Recent Posts widget that displays on a user's profile page provides an aggregated summary of that user's recent activity in the different IBM Connections applications. The widget also displays the latest updates from content that the profile owner is a member of, such as communities and wikis. The widget only displays updates for content that is publicly accessible.
The Recent Posts widget is automatically configured to provide feeds from all the IBM Connections applications, but you can configure it to display information for only those applications that are included in your deployment.
To configure the Recent Posts widget, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out the widget configuration file:
ProfilesConfigService.checkOutWidgetConfig("<working_directory>", "<cell_name>")
...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutWidgetConfig("/wsadminoutput", "jdoe30Node02Cell")
- Open widgets-config.xml in a text editor, and specify the widget attributes using the information in the following tables. You can find the configuration section for this component under config > widgets > definitions > widgetDef > defId = multiFeedReader > configData.
Set the following URL parameters:
Table 10. Recent posts widget attributes
Attribute Description serviceNameResourceId The resource string that specifies the name of the given feed that is displayed in the tab. serviceNameFeedUrl The feed URL for the specified IBM Connections application. A standard URL can be used, or a serviceNameSvcRef parameter can be used if the serviceName has been defined in the lotusConnections-config.xml file. For example:
Table 11. Recent posts widget URL parameters
Parameter Description A substitution variable for the user email displayed. This is used as a placeholder in the URL; it is replaced at runtime. serviceNameSvcRef A substitution variable for the URL value that is replaced at runtime. This parameter is retrieved from the lotusConnections-config.xml file for the given IBM Connections application. <widgetDef defId="multiFeedReader" url="{contextRoot}/widget-catalog/multifeedreader.xml?version={version}"> <itemSet> <item name="numberOfEntriesToDisplay" value="5" /> <item name="communityResourceId" value="communityResourceId"/> <item name="communityFeedUrl" value="{communitiesSvcRef}/service/atom/communities/all?userid={userid}&ps=5"/> <item name="dogearResourceId" value="dogearResourceId"/> <item name="dogearFeedUrl" value="{dogearSvcRef}/atom?userid={userid}&access=any&sort=date&sortOrder=desc&ps=5&showFavIcon=true{appLangParam}"/> <item name="blogsResourceId" value="blogsResourceId"/> <item name="blogsFeedUrl" value="{blogsSvcRef}/roller-ui/feed/{userid}?order=asc&maxresults=5&sortby=0"/> <item name="activitiesResourceId" value="activitiesResourceId"/> <item name="activitiesFeedUrl" value="{activitiesSvcRef}/service/atom2/activities?public=only&userid={userid}&authenticate=no&ps=5"/> <item name="filesResourceId" value="filesResourceId"/> <item name="filesFeedUrl" value="{filesSvcRef}/basic/anonymous/api/userlibrary/{userid}/feed?pagesize=5"/> </itemSet> </widgetDef>
- To remove an application feed, comment out or delete the <serviceNameResourceId> and <serviceFeedUrl> attributes.
To comment out the attributes, use the <!-- XML notation to open the comment and --> to close the comment.
In the following example, feeds from the Activities and Files applications are removed from the widget:
<!-- <item name="activitiesResourceId" value="activitiesResourceId"/> <item name="activitiesFeedUrl" value="{activitiesSvcRef}/service/atom2/activities?public=only&userid={userid}&authenticate=no&ps=5"/> <item name="filesResourceId" value="filesResourceId"/> <item name="filesFeedUrl" value="{filesSvcRef}/basic/anonymous/api/userlibrary/{userid}/feed?pagesize=5"/> --> </itemSet> </widgetDef>
- Save your changes and check the widgets-config.xml file back in :
ProfilesConfigService.checkInWidgetConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
Related
- Configure widgets in Profiles
- Apply property changes in Profiles
- Check out the widgets-config.xml file for Profiles
- Manage widgets in Profiles
Add custom widgets to Profiles
Extend the functionality of the Profiles application by adding custom widgets.
You can use custom widgets to bring additional functionality to Profiles. Custom widgets must use the iWidget specification, which uses technology based on JavaScript, XML, HTML, and CSS. The widget files are stored on an HTTP server. The widgets can be bundled as EAR applications and deployed on IBM WebSphere Application Server. They can also be hosted in LAMP, .NET, and other environments.
You need to register the widgets developed by iWidget developers to make them available for use in IBM Connections. You do this by configuring the widget attributes defined by the iWidget developer in the widgets-config.xml file.
Profiles supports the use of mandated widgets only. Mandated widgets can be placed in any of the columns on the My Profile, Directory, and My Network pages. This type of widget exists in every profile and cannot be removed or hidden. Mandated widgets can also exist outside a profile, for example, they can show up in a search results page.
Related
- Add custom widgets to Communities
- Manage widgets in Profiles
Enable custom widgets for Profiles
To make custom widgets available for use in Profiles, you need to configure the widgets in the widget definition file, widgets-config.xml.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for details.
The widgets-config.xml file contains information about widget definitions, widget attributes, widget location, default widget templates, and page definitions. Custom widget attributes are defined by the widget developer but, as administrator, you need to configure the widgets by adding a <widgetDef> element containing the appropriate attributes for each widget in the widget configuration file. The file is stored in the following location:
WAS_HOME\profiles\AppSrv01\config\cells\CELL_NAME\LotusConnections-config\widgets-config.xml
You can integrate a custom widget as part of IBM Connections and you can also integrate the widget as an external application. To integrate the widget inside the IBM Connections application, your widget must provide a full page mode. To integrate the widget as an external application, you must use a navBarLink attribute to register a navigation link along with your widget configuration information.
To configure a custom widget for Profiles, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following command to check out the widget configuration file:
ProfilesConfigService.checkOutWidgetConfig("<working_directory>", "<cell_name>")
...where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files will be copied. The files are kept in this working directory while you make changes to them.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required.
ProfilesConfigService.checkOutWidgetConfig("/wsadminoutput", "jdoe30Node02Cell")
- Navigate to the temporary directory in which you saved the widgets_config.xml file, and then open the file in a text editor.
- Define the custom widget by specifying a resource type of profile and adding a <widgetDef> element using the attributes and parameters defined in Profiles widget attributes. When adding custom strings using the resource bundle loader, the value of the category, description, and widgetDef attributes in the <widgetDef> element are used as the resource key for your custom bundle. For more information about adding widget strings, see Add custom strings for widgets and other specified scenarios.
For example:
<config id="widgets"> <resource type="profile"> <widgets> <definitions> <widgetDef defId="HelloWorld" primaryWidget="false" modes="view fullpage edit search" url="{contextRoot}/comm.widgets/helloWorld/HelloWorld.xml?version={version}"/> <!-- XML attribute with substitution variables --> </definitions> <layout resourceSubType="default"> <page pageId="profilesView"> <widgetInstance uiLocation="col3" defIdRef="reportStructure"/> <widgetInstance uiLocation="col3" defIdRef="friends"/> <widgetInstance uiLocation="col1" defIdRef="socialTags"/> <widgetInstance uiLocation="col3" defIdRef="linkRoll"/> <widgetInstance uiLocation="col2" defIdRef="multiFeedReader"/> </page> <page pageId="searchResultView"> <widgetInstance uiLocation="col1" defIdRef="commonTags"/> </page> <page pageId="searchView"> <widgetInstance uiLocation="col1" defIdRef="commonTags"/> </page> </layout> </widgets> </resource> ..... </config>The url, navBarLink, and item or @value XML attributes can be parameterized using substitution variables. For more information about the substitution variables that you can use, see Profiles widget configuration variables.
- Save your changes and check the widgets-config.xml file back in :
ProfilesConfigService.checkInWidgetConfig()
- To exit the wsadmin client, type exit at the prompt.
- Stop and restart the Profiles server.
What to do next
If you are adding widgets that are hosted on third-party servers, then you might need to update your proxy configuration. For more information on configuring the Ajax proxy for Profiles, see Configuring the AJAX proxy for a specific application.
Related tasks
- Configure the AJAX proxy for a specific application
- Manage widgets in Profiles
- Profiles widget attributes
Profiles widget configuration variables
The following table lists the configuration variables that can be used for the url, navBarLink, helpLink, and item or @value attributes when configuring a third-party widget for integration with Profiles. The @value attribute refers to the value attribute in the item of the itemSet configuration elements in the widgets-config.xml file.
Table 12. Profiles widget configuration variables
Variable Description resourceId The profileUuid of the profile in use. lastMod The timestamp for the last time that the profile was updated. userid The IBM Connections user ID of the logged-in user. This variable is returned as undefined if the user is not logged in. The email address of the logged-in user. This variable is returned as undefined if the user is not logged in. version The timestamp form, versionStamp, in LotusConnections-config.xml. This is updated on customizations and upgrades to ensure that static content URLs are updated. lang The language parameter. webresourcesSvcRef The service reference for the Common application as defined in LotusConnections-config.xml. For example, http://myserver.com/connections/resources. contextRoot The context root of the Profiles application. For example: /profiles. communitiesSvcRef The service reference for the Communities application, as defined in LotusConnections-config.xml. For example: http://myserver.com/communities. profilesSvcRef The service reference for the Profiles application, as defined in LotusConnections-config.xml. For example: http://myserver.com/profiles. dogearSvcRef The service reference for the Bookmarks application, as defined in LotusConnections-config.xml. For example: http://myserver.com/dogear. blogsSvcRef The service reference for the Blogs application, as defined in LotusConnections-config.xml. For example: http://myserver.com/blogs. activitiesSvcRef The service reference for the Activities application, as defined in LotusConnections-config.xml. For example: http://myserver.com/activities. forumsSvcRef The service reference for the Forums application, as defined in LotusConnections-config.xml. For example: http://myserver.com/forums. filesSvcRef The service reference for the Files application, as defined in LotusConnections-config.xml. For example: http://myserver.com/files. wikisSvcRef The service reference for the Wikis application, as defined in LotusConnections-config.xml. For example: http://myserver.com/wikis. opensocialSvcRef The service reference for the Status Updates application, as defined in LotusConnections-config.xml. For example: http://myserver.com/opensocial.
Profiles widget attributes
The following tables list the widget elements that you can configure when enabling, disabling, editing, or moving widgets in the Profiles application. These elements are configured in the widgets-config.xml file.
Table 13. The widget definition element
Attribute Description Required defId The widget name, which must be unique. The defId attribute is also used as a title or a resource bundle key. This attribute takes a string value.
Yes primaryWidget Specifies that the widget displays in the center column of the page. The default value is true. No description Description of the widget that displays in the widget palette. This attribute uses the custom string framework. For more information about adding widget strings, see Add custom strings for widgets and other specified scenarios. No category The category in which the widget is placed in the widget palette. This attribute uses the custom string framework. For more information about adding widget strings, see Add custom strings for widgets and other specified scenarios. No requires Specifies which IBM Connections applications are required for the widget to function. The XML attribute values must match the serviceReference values in LotusConnections-config.xml. No url Specifies the location of the widget descriptor. This XML attribute can be parameterized with substitution variables. This attribute takes a string value.
Yes modes Specifies the modes that are supported by the custom widget. Possible modes include:
- view. This mode enables the widget to display on the profile overview page.
- search. This mode integrates the widget into a community's search results page. Each widget displays as a separate tab on the page.
- fullpage. This mode integrates the widget into the navigation bar. When users click the widget link in the navigation bar, the widget displays in a full page view in the community.
- edit. This mode enables the Edit menu option in the widget's action menu, allowing community owners to edit the preferences of the widget inline, directly from the community's Overview page. The widget is also integrated in to the Edit Community page as a separate tab.
No uniqueInstance Specifies whether the widget supports multiple instances on the same page. The default value is true. No resourceOwnerWidget Specifies whether the widget should be seen only by the profile owner. Set this to true or false as required. No navBarLink Specifies the URL to an external application. A link to this URL is added to the navigation bar when the widget is part of the community. The URL can contain substitution variables. No helpLink Specifies the URL to an HTML file containing help documentation for the widget. The help opens in a pop-up window. This parameter can contain subvariables. It can also be parameterized with substitution variables. No showInPalette Specifies if the widget should be displayed in the content palette. No loginRequired Specifies that the widget displays only when users are logged in. No bundleRefId The resource bundle reference ID that is defined in LotusConnections-config.xml. This ID is used to determine the bundle strings for the widget category, widget description, and widget title. For more information about adding widget strings, see Add custom strings for widgets and other specified scenarios. No The url, navBarLink, and item or @value XML attributes can be parameterized using substitution variables. For more information about the substitution variables that you can use, see Profiles widget configuration variables.
Table 14. The layout element
Attribute Description resourceSubType Contains the name of the profile type that is used to render the widget layout. Multiple profile type layout configuration is allowed in Profiles. For more information, see Add profile types. This attribute takes a string value.
Table 15. The page element
Attribute Description pageId Contains the page ID for the page that Profiles uses to render the widget layout. This attribute takes a string value. Possible values include:
- profilesView
- searchView
- searchResultView
- networkView
- editProfileView
Table 16. The widget instance element
Attribute Description uiLocation Specifies which column on the page contains the widget. This attribute takes a string value. Possible values include:
- col1
- col2
- col3. Note that this option is not available for the networkView page.
defIdRef Defines the widget definition to which the instance is bound. This attribute takes a string value.
Related tasks
- Manage widgets in Profiles
- Enable custom widgets for Profiles
Configure Profiles events
Use configuration settings to control how you want the events generated by Profiles to be handled in your deployment for auditing purpose.
By default, all Tivoli Directory Integrator-related events are ignored for auditing purpose. For a list of the Tivoli Directory Integrator events that are logged, see Tivoli Directory Integrator events.
You can modify configuration settings in the tdi-profiles-config.xml and profiles-config.xml files to specify whether Tivoli Directory Integrator events are stored in the Profiles database and whether they are made available to the News application or third-party audit integration tools. For example, you might want to continue storing Tivoli Directory Integrator events in the Profiles database but you might not want to publish the events to the event infrastructure.
You can configure settings to control whether regular, end-user events are stored in the Profiles database or published to the event infrastructure.
To configure Profiles events, complete the following steps.
- To specify whether to store Tivoli Directory Integrator events in the Profiles database, you need to manually update settings in the tdi-profiles-config.xml file.
- Use a text editor, open the tdi-profiles-config.xml file.
After the Tivoli Directory Integrator Solution files are extracted, the file is located in the following directory:
TDI/conf/LotusConnections-config
- In the <properties> section of the file, update the value of the profiles.events.system.ignore property.
<property name="profiles.events.system.ignore" value="false" />By default, the property is set to true so that Tivoli Directory Integrator events are not stored in the Profiles database.
- To configure event settings for the Profiles Web application, manually update settings in the profiles-config.xml file.
To edit the profiles-config.xml file, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command tool.
- Check out the profiles-config.xml file by completing steps 1 and 2 of the topic, Changing Profiles configuration property values.
- Use a text editor, open the profiles-config.xml file from the temporary directory to which you checked it out and perform the following steps:
- To configure Tivoli Directory Integrator and system events, update the following properties in the <properties> section of the profiles-config.xml file:
- profiles.events.system.publish
Specifies whether to publish Tivoli Directory Integrator events to the IBM Connections event infrastructure. By default, this property is set to true.
For example, if you do not want to publish Tivoli Directory Integrator events to the event infrastructure, set the value of the property to false as follows:
<property name="profiles.events.system.publish" value="false" />Tivoli Directory Integrator events must be stored in the Profiles database if you want them to be published to the event infrastructure. Therefore, if profiles.events.system.ignore in the tdi-profiles-config.xml file is set to true, the profiles.events.system.publish property has no effect, that is, system events and Tivoli Directory Integrator events will not be published to the event infrastructure.
- profiles.events.ignore
Ignores all the events generated by Profiles. This property is set to false by default.
This property is not explicitly listed in the profiles-config.xml file when you install IBM Connections. If you want to change the default setting so that the events generated by the Profiles application are ignored, manually add the property to the <properties> section of the profiles-config.xml file and set its value to true as follows:
<property name="profiles.events.ignore" value="true" />If you installed the News application and are using it in your deployment, do not set the value of the profiles.events.ignore property to true. If you set it to true, the News application will not receive any events from the Profiles application.
- To configure end-user events, update the following properties in the <properties> section of the profiles-config.xml file:
- profiles.events.user.store
Specifies whether to store regular, end-user create, update, and delete events in the Profiles database. By default, this property is set to true.
This property is not explicitly listed in the profiles-config.xml file when you install IBM Connections. If you want to change the default setting so that end-user create, update, and delete events are not stored in the Profiles database, manually add the property to the <properties> section of the profiles-config.xml file and set its value to false as follows:
<property name="profiles.events.user.store" value="false" />By default, IBM Tivoli Directory Integrator-related events are not stored in the Profiles database.
- profiles.events.user.publish
Specifies whether to publish regular, end-user create, update, and delete events to the event infrastructure. By default, this property is set to true.
This property is not explicitly listed in the profiles-config.xml file when you install IBM Connections. If you want to change the default setting so that end-user create, update, and delete events are not published to the event infrastructure, manually add the property to the <properties> section of the profiles-config.xml file and set its value to false as follows:
<property name="profiles.events.user.publish" value="false" />If you installed the News application and are using it in your deployment, do not set the value of the profiles.events.user.publish property to false. If you set it to false, the News application will not receive any events from the Profiles application.
- Save your changes and then close the profiles-config.xml file.
- After making changes, check the profiles-config.xml file back in, and you must do so during the same wsadmin session in which you checked it out for the changes to take effect. See Applying property changes in Profiles for information about how to apply your changes.
Related tasks
- Apply property changes in Profiles
- Start the wsadmin client
- Change Profiles configuration property values
Tivoli Directory Integrator events
By default, all IBM Tivoli Directory Integrator-related events are stored in the Profiles database and are published to the event infrastructure in IBM Connections.
The following Tivoli Directory Integrator events are logged by default:
Table 17. Tivoli Directory Integrator events
Event name Description profiles.person.updated Generated when a user's profile is modified. profiles.person.added Generated when a new user record is added to Profiles. There is no user interface for this task. This action can only be performed using the API or Tivoli Directory Integrator. profiles.person.deleted Generated when a new user record is deleted from the Profiles database. profiles.code.created Generated when new profile code is created using a Tivoli Directory Integrator script. The code might be for department, work location, or organization. profiles.code.updated Generated when profile code is updated using a Tivoli Directory Integrator script. The code might be for department, work location, or organization. profiles.code.deleted Generated when profile code is deleted using a Tivoli Directory Integrator script. The code might be for department, work location, or organization. Manage Profiles scheduled tasks
Use the ProfilesScheduledTaskService administrative commands to manage the tasks scheduled for Profiles.
To use administrative commands, you must use the wsadmin client. See Start the wsadmin client for details.
Profiles uses the IBM WebSphere Application Server scheduling service for performing regular managed tasks. For more information about how the scheduler works, see Scheduling tasks.
Profiles has four managed tasks that are specified in the profiles-config.xml property file. You can use the ProfilesScheduledTaskService commands to pause and resume a Profiles task, and to retrieve information about a task. The SystemOut.log file also contains information about whether the scheduler is running and whether any scheduled tasks have started.
To administer the tasks performed by the WebSphere Application Server scheduler, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\binwhere app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter :
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands to administer the Profiles scheduler service.
- ProfilesScheduledTaskService.pauseSchedulingTask(string taskName)
Suspends scheduling of a task. Has no effect on currently running tasks. Returns a 1 to indicate that the task has been paused. Paused tasks remain paused until you explicitly resume them, even if the server is stopped and restarted.
Parameters: taskName
Task names have the following string values:
For example:
- DbCleanupTask
- ProcessLifeCycleEventsTask
- ProcessTDIEventsTask
- StatsCollectorTask
ProfilesScheduledTaskService.pauseSchedulingTask("StatsCollectorTask")
- ProfilesScheduledTaskService.resumeSchedulingTask(string taskName)
Resumes the start of a paused task. Returns a 1 to indicate that the task has been resumed.
Parameters: taskName
Task names have the following string values:
For example:
- DbCleanupTask
- ProcessLifeCycleEventsTask
- ProcessTDIEventsTask
- StatsCollectorTask
ProfilesScheduledTaskService.resumeSchedulingTask("StatsCollectorTask")
- ProfilesScheduledTaskService.forceTaskExecution(string taskName, string executeSynchronously)
Property settings in the profiles-config.xml file specify whether tasks are enabled to run automatically, and how often. This command allows you to run tasks manually, for example if you disabled a task but want to run it occasionally.
Executes a task. Returns a 1 to indicate that the task has been executed.
Parameters: taskName
Task names have the following string values:
Parameters: executeSynchronously
- DbCleanupTask
- ProcessLifeCycleEventsTask
- ProcessTDIEventsTask
- StatsCollectorTask
This takes the string values true or false. Specifying this value is not required; the default is false. If this value is false, then the task executes asynchronously, meaning if the taskId is valid the command returns immediately and the execution continues in the background. If this value is true, it the command does not return until the task completes. The StatsCollectorTask is a local task (run on each node) and is always run asynchronously when triggered from the admin console.
For example:
ProfilesScheduledTaskService.forceTaskExecution("StatsCollectorTask")
- FilesScheduler.getTaskDetails(string taskName)
Displays status of a task and details about configuration parameters.
Parameters: taskName
Task names have the following string values:
For example:
- DbCleanupTask
- ProcessLifeCycleEventsTask
- ProcessTDIEventsTask
- StatsCollectorTask
ProfilesScheduledTaskService.getTaskDetails("StatsCollectorTask")Administer cache
You can modify settings in the profiles-config.xml file to configure the full report-to and object caches for Profiles. Use Profiles administrative commands when you want to enable, disable, or reload the full report-to chain cache.
Profiles can display organizational structure information using report-to cache settings. These settings determine how the cache that is used to store the full-report-to data is configured. For performance reasons, this cache is used to present report-chain information rather than accessing the corporate directory. If the cache is disabled, the reporting structure information is still available, but it displays more slowly.
Profiles uses the object cache to store auxiliary table information, including department, organization, work location, employee type, and country code display values. You can configure settings to specify when the cache is refreshed, and to define the refresh interval and start delay.
Controlling cache operations
Use Profiles administrative commands to control the operation of the full report-to chain cache without having to stop and start the Profiles server.
To run administrative commands, you must use the wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. Profiles uses an in-memory cache to support the organizational structure view available in every profile . the full report-to chain cache. You can use this procedure to change the behavior of the cache at runtime. However, the changes that you make using this procedure are not permanently stored. You must change the configuration settings in the profiles-config.xml file to change the behavior permanently because the changes you make here will be overwritten by the settings in the configuration file the next time you stop and restart the server. See Configuring the full reports-to cache for details. Only use these steps to immediately effect the behavior of the organizational structure cache without having to stop and restart the server.
If you use the administrative commands to disable the cache, the reporting structure information is still available, but it displays more slowly.
To control cache operations for Profiles, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands to control cache operations.
- ProfilesService.enableFullReportsToCache(startDelay, interval, schedTime)
Enables the full report-to chain cache with the specified start delay in minutes, refresh interval in minutes, and scheduled refresh time in HH:MM format.
This cache is used to populate the full report-to chain view available in a user's profile. The cache contains the specified number of top employees in the organizational pyramid; it is not intended to store an entry for each profile. It stores the profiles of those people at the top of the chain who are included in many full report-to chain views.
For example:
ProfilesService.enableFullReportsToCache(5, 15, "23:00")
- ProfilesService.disableFullReportsToCache()
Disables the full report-to chain cache capability. This command does not take any arguments.
- ProfilesService.reloadFullReportsToCache()
Forces a reload of the full report-to chain cache from the Profiles database. This command does not take any arguments.
If the full report-to cache is disabled, it cannot be reloaded. This command fails when the cache is disabled.
Related tasks
- Configure the full reports-to cache
Configure the full reports-to cache
The full reports-to cache is one of the two in-memory caches used by Profiles to support the organizational structure views.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool.
The other in-memory cache is the object cache, which caches auxiliary table information, including department, organization, work location, employee type, and country code display values. The full reports-to cache is used to populate the full reports-to chain view available in a profile. The cache contains the specified number of top employees in the organizational pyramid. It is not intended to store an entry for each profile; it stores the profiles of those people at the top of the chain who are included in many full report-to chain views.
When you use this procedure to change the default behavior of the cache, it changes the behavior permanently, but requires a server restart. If you want to change the cache behavior in a production environment without having to disrupt service, see Controlling cache operations. But, any changes you make to the runtime cache are overwritten by the setting in the configuration file when the server next restarts.
To manage the display of report-chain information using the full reports-to cache.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Enter the following command to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory", "cell_name")where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- To configure the full reports-to cache, use the following command:
ProfilesConfigService.updateConfig(property, value)
...where
- property is one of the editable Profiles configuration properties.
- value is the new value with which you want to set that property.
The following table displays information regarding the properties that you can configure for the full reports-to chain cache, and the type of data that you can enter for them.
Table 18. Full reports-to chain cache properties
Option Description fullReportsToChainCache.enabled Enables or disables the full reports-to cache. This property takes a Boolean value: true or false. The value must be formatted in lowercase.
fullReportsToChainCache.ceouid The corporate directory user ID of the person who will appear at the top of the organizational structure. This property takes a UID value.
fullReportsToChainCache.size The number of employee entries that should be loaded into the cache. This property takes an integer value.
fullReportsToChainCache.refreshTime Determines the time of day in 24-hour time format that Profiles performs the first scheduled reloading of the cache. The property value must be expressed in hours and minutes using this formatting: HH:MM.
fullReportsToChainCache.refreshInterval The time in minutes between cache reload operations. This property takes an integer value.
fullReportsToChainCache.startDelay The time in minutes that Profiles should wait after starting before loading the cache for the first time. This property takes an integer value.
For example, to disable the cache, enter:
ProfilesConfigService.updateConfig("fullReportsToChainCache.enabled","false")
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes in Profiles for information about how to save and apply your changes.
Related tasks
- Apply property changes in Profiles
- Controlling cache operations
Configure the Profiles object cache
You can modify settings in the profiles-config.xml file to specify when the Profiles object cache is refreshed, and to define the refresh interval and start delay.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool. The Profiles object cache is used to cache auxiliary table information, including department, organization, work location, employee type, and country code display values. As a result, there is a delay before changes to these types of data are reflected in the user interface.
By default, the data is refreshed every 15 minutes to ensure that, whenever data is updated, there is a relatively short delay from when the data is changed and when the changes are reflected in the user interface.
To configure the Profiles object cache, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Enter the following command to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory", "cell_name")where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- Open the profiles-config.xml file in a text editor.
- Look for the <profileObjectCache> element, and then modify the following lines of code as needed:
<profileObjectCache> <refreshTime>22:30</refreshTime> <!-- 24 hour time --> <refreshInterval>15</refreshInterval> <!-- minutes --> <startDelay>10</startDelay> <!-- minutes --> </profileObjectCache>...where:
- <refreshTime> is the scheduled refresh time in HH:MM format.
- <refreshInterval> is the refresh interval in minutes.
- <startDelay> is the specified start delay in minutes.
- Save your changes and close the configuration file.
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes in Profiles for information about how to save and apply your changes.
Related tasks
- Apply property changes in Profiles
Manage the Profiles search operation
Use Profiles configuration settings to control how the search operation displays search results.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool.
To configure Profiles search, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Enter the following command to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory", "cell_name")where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- To configure the Profiles search operation, use the following command:
ProfilesConfigService.updateConfig(property, value)
...where
- property is one of the editable Profiles configuration properties.
- value is the new value with which you want to set that property.
The following table displays information regarding the search property and the type of data that you can enter for it.
Table 19. Profiles search properties
Property Description search.maxRowsToReturn Determines the maximum number of Profiles database rows returned by a name search operation.
This property takes an integer value. The default value is 250. You can increase the number, but do not specify a number larger than 500. Doing so causes search operations to fail entirely. Do not specify 0 unless you want no results to be returned.
The keyword and directory search operations do not have this limit.
search.pageSize Determines the number of returned rows to place on a results page. This property takes an integer value. The default value is 10.
search.firstNameSearchEnabled Determines if search by first name only is enabled. By default, this setting is set to false.
This property takes a Boolean value.
Enabling this setting negatively impacts the performance of the Search by > Name function available in the Profiles user interface.
nameOrdering.enabled When this property is set to true, names must be entered as (FirstName LastName) or (LastName, FirstName). By default, it is set to false.
When only a single word is entered, that word is treated as the LastName value during search.
This property takes a Boolean value.
For example:
ProfilesConfigService.updateConfig("search.pageSize","20")
- To specify the default sorting key to use for displaying search results, you must edit properties in the profiles-config.xml file manually as follows.
- Open the profiles-config.xml file in a text editor.
- Update the following properties as needed.
- sortNameSearchResultsBy
- Determines what sorting key to use for Profiles name search results. This property is also applied to the search results that display when a tag is clicked in a profile overview page. It does not affect the results generated by clicking a tag in a directory search.
The valid values for the default attribute are:
For example:
- displayName. Lists name search results in order of user display name.
- last_name. Lists name search results in order of user last name.
<sortNameSearchResultsBy default="displayName" />
- sortIndexSearchResultsBy
- Determines what sorting key to use for Profiles keyword and advanced search results.
The valid values for the default attribute are:
For example:
- relevance. Lists keyword and advanced search results in order of relevance.
- displayName. Lists keyword and advanced search results in order of user display name.
- last_name. Lists keyword and advanced search results in order of user last name.
<sortIndexSearchResultsBy default="relevance" />
- Save your changes and then close the profiles-config.xml file.
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes in Profiles for information about how to save and apply your changes.
Related
- Customize Profiles search
- Apply property changes in Profiles
Monitor statistics and metrics for Profiles
Use the Profiles statistics capabilities to monitor operations and product usage.
Profiles enables you to monitor statistics in the following ways:
- Collect usage statistics and save them to a specified log file name and location.
- Write usage statistics to a file on demand.
Enable and disable automatic generation of Profiles statistics files
You can enable or disable automatic generation of Profiles statistics files. By default, automatic generation is enabled.
To edit configuration files, you must use the IBM WebSphere Application Server wsadmin client. See Start the wsadmin client for information about how to start the wsadmin command-line tool. Usage statistics are stored in memory and saved to the file system during Profiles shutdown. The statistics are saved to the location configured in the statistics.filePath and statistics.fileName files. The statistics logged depend on the Profiles capabilities that are enabled. For example, if you disable the full report-to chain cache, you do not see statistics listed for that capability.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Enter the following command to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory", "cell_name")where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- In the working_directory from Step 2, locate and open the profiles-config.xml file using a text editor. Scroll to task StatsCollectorTask in the <scheduledTasks> section.
- To disable auto generation of the statistics file, specify enabled="false" in the StatsCollectorTask statement.
- To enable auto generation of the statistics file, specify enabled="true" in the StatsCollectorTask statement.
Example:
<task name="StatsCollectorTask" interval="0 0 1 * * ?" enabled="false" type="internal" scope="local"> <args> <property name="filePath">${PROFILES_STATS_DIR}//LC_NODE_NAME//${WAS_SERVER_NAME}</property> <property name="fileName">profilesStats</property> </args> </task>
- After making changes, check the configuration files back in, and you must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying property changes in Profiles for information about how to save and apply your changes.
Configure the vCard export application for Profiles
Configure settings in the profiles-config.xml file to specify the character set encoding options used to export vCards.
To use administrative commands, you must use the IBM WebSphere Application Server wsadmin client. See Starting the wsadmin client for details. Profiles users can export vCards from people's profiles and then import the profiles into their email client as contacts. You can configure the profiles-config.xml file to specify the encoding options that are available when exporting vCards from Profiles and determine which options are most appropriate for your users.
To configure the vCard export application, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly.
- Start the Profiles Jython script interpreter.
- Enter the following command to access the Profiles configuration files:
execfile("profilesAdmin.py")
If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Enter the following command to check out the Profiles configuration files:
ProfilesConfigService.checkOutConfig("working_directory", "cell_name")where:
For example:
- working_directory is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.
AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.
- cell_name is the name of the WebSphere Application Server cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:
print AdminControl.getCell()
- AIX or Linux:
ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")
- Microsoft
Windows:
ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")
- Open the Profiles configuration file, profiles-config.xml, using a text editor and locate the following <vcardExport> section:
<vcardExport> <charset name="UTF-8"> <label key="label.vcard.encoding.utf8"/> </charset> <charset name="ISO-8859-1"> <label key="label.vcard.encoding.iso88591"/> </charset> <charset name="Cp943c"> <label key="label.vcard.encoding.cp943c"/> </charset> </vcardExport>
- To provide an export encoding that is specific to your language, include the following lines of code within the <vcardExport> tags:
<charset name="character_encoding"> <label key="ui_label"/> </charset>...where:
For example, to add an export setting for Arabic, include the following element:
- character_encoding is the name of the character encoding to export.
- ui_label is the label for the character encoding in the user interface.
<vcardExport> ... <charset name="Windows-1256"> <label key="label.vcard.encoding.windows.arabic"/> </charset> </vcardExport>The following character set encoding options work best:Complete this step for every language for which you require encoding support. There is no limit to the number of character set encodings that you can specify.
Table 20. Export character set encodings
Character encoding Description Windows-1250 Central European languages that use Latin script (Polish, Czech, Slovak, Hungarian, Slovene, Serbian, Croatian, Romanian, and Albanian) Windows-1251 Cyrillic alphabets Windows-1252 Western languages Windows-1253 Greek Windows-1254 Turkish Windows-1255 Hebrew Windows-1256 Arabic Windows-1257 Baltic languages Windows-1258 Vietnamese gb2312 Chinese gb18030 Chinese
- After making changes, check the configuration files back in during the same wsadmin session in which you checked them out. See Applying property changes in Profiles for information about how to save and apply your changes.
Related tasks
- Apply property changes in Profiles
- Add custom strings for widgets and other specified scenarios
Making photos cachable in secure environments
If your Profiles deployment is configured to prevent profile data from being accessible to readers, you can opt to make just user photos cachable.
This is an optional task; it is only useful if Profiles is configured to lock profile data. For security reasons, when the reader role is set to something other than 'everyone', Profiles does not publicly cache photos in order to protect the integrity of the customer data. As a result, no profile photos are visible to readers. If you want to override this behavior and make photos visible, you must define a rule in the IBM HTTP Server's configuration file to explicitly set the caching headers of photos.
Define a rule in the IBM HTTP Server to explicitly set the caching headers of profile photos by completing the following steps:
- Use a text editor, open the httpd.conf file, which is the IBM HTTP Server configuration file. The file is stored in the following directory by default:
- AIX: /usr/IBM/HTTPServer/conf
- Linux: /opt/IBM/HTTPServer/conf
- Microsoft
Windows: C:\IBM\HTTPServer\conf
- Add the following block of code to the httpd.conf file:
<LocationMatch /*/profiles/photo.do > <IfModule mod_headers.c> Header set Pragma "" Header set Cache-Control "max-age=21600,s-maxage=21600,public" </IfModule> </LocationMatch>
- Save and close the configuration file.
- Restart the IBM HTTP Server.
Enable the use of pronunciation files in an HTTPS environment
Ensure that Profiles users can save and play pronunciation files in an HTTPS environment by defining a rule in the IBM HTTP Server's configuration file.
This task needs to be performed in an HTTPS environment only. Profiles users can add a recording of how their name is pronounced to enhance their profile. To ensure that users can save a pronunciation file to their own profile and listen to the recordings of other users, you must define a rule in the IBM HTTP Server's configuration file to explicitly set the caching headers of pronunciation files.
Define a rule in the IBM HTTP Server :
- Use a text editor, open the IBM HTTP Server configuration file, httpd.conf file. The file is stored in the following directory by default:
- AIX: /usr/IBM/HTTPServer/conf
- Linux: /opt/IBM/HTTPServer/conf
- Microsoft
Windows: C:\IBM\HTTPServer\conf
- Add the following block of code to the httpd.conf file:
<LocationMatch /*/profiles/audio.do> Header set Pragma "" Header set Cache-Control "private, max-age=0, must-revalidate" </LocationMatch>
- Save and close the configuration file.
- Restart the IBM HTTP Server.
Related tasks
- Uploading pronunciation files
Manage the Profiles event log
Use Profiles administrative commands to manage the Profiles event log.
To run administrative commands, you must use the wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool. The Profiles EVENTLOG table logs records relating to Profiles user events. For example, every time a user removes a board post or adds a tag to their profile, an entry is logged in the table. From time to time, you might want to purge older records from the table to control the size of the data. Otherwise, the entries can grow rapidly and impact performance in areas such as seedlist indexing.
By default, records that are more than 30 days old are automatically purged from the event log. For information about how to modify the setting that controls this interval, see Configuring event log clean-up for Profiles.
To manage entries in the event log table for Profiles, complete the following steps.
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager:
app_server_root\profiles\dm_profile_root\bin...where app_server_root is the WebSphere Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.
You must start the client from this directory or subsequent commands that you enter do not execute correctly. For more information, see Starting the wsadmin client.
- Start the Profiles Jython script interpreter.
- Access the Profiles configuration files:
execfile("profilesAdmin.py")If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
- Use the following commands as required.
- ProfilesService.purgeEventLogs()
Deletes all event log entries in the EVENTLOG table. This command does not take any arguments.
- ProfilesService.purgeEventLogsByDates(string startDate, string endDate)
Deletes event log entries created between the specified start date and end date.
This command takes the following parameters:
- startDate
- A string that specifies the start date for the period in MM/DD/YYYY format.
- endDate
- A string that specifies the end date for the period in MM/DD/YYYY format.
For example:
ProfilesService.purgeEventLogsByDates("06/21/2009", "06/26/2009")This command deletes all the event log entries that were created on or after June 21st, 2009 and before June 26th, 2009 from the EVENTLOG table.
- ProfilesService.purgeEventLogsByEventNameAndDates(eventName, string startDate, string endDate)
Deletes event log entries with the specified event name that were created between given start date and end date.
This command takes the following parameters:
- eventName
- The type of event to remove from the EVENTLOG table. The following names are some examples of valid event names:
For a complete list of valid event names for Profiles event log cleaning administrative tasks, refer to the following web page:
- profiles.created
- profiles.removed
- profiles.updated
- profiles.person.photo.updated
- profiles.person.audio.updated
- profiles.colleague.created
- profiles.colleague.added
- profiles.connection.rejected
- profiles.person.tagged
- profiles.person.selftagged
- profiles.tag.removed
- profiles.link.added
- profiles.link.removed
- profiles.status.updated
- profiles.wallpost.created
- profiles.wallpost.removed
- profiles.wall.comment.added
http://www-10.lotus.com/ldd/lcwiki.nsf/dx/Events_Reference
- startDate
- A string that specifies the start date for the period in MM/DD/YYYY format.
- endDate
- A string that specifies the end date for the period in MM/DD/YYYY format.
For example:
ProfilesService.purgeEventLogsByEventNameAndDates(profiles.colleague.created, "06/21/2009", "06/26/2009")This command deletes all the profiles.colleague.created event log entries that were created on or after June 21st, 2009 and before June 26th, 2009 from the EVENTLOG table.
Related tasks
- Configure event log clean-up for Profiles . obsolete
Configure advanced settings in Profiles
Configure advanced settings in Profiles by adding information to the <properties> element in the profile-config.xml file.
For the most part, you can use the ProfilesConfigService.updateConfig command to update settings in the profiles-config.xml file. However, for some advanced settings, check out the configuration file and make changes to it manually. For example, if you want to change the display order of the information that displays on the Reporting Structure page or to expose information relating to the following feature, you must use the steps documented in the following topics.
For a full list of the properties that you can update using the ProfilesConfigService.updateConfig command, see Profiles configuration properties.