Change Management: Have It Your Way
by Jim Thorstad
In WebFOCUS Version 7 Release 6 we introduced enhancements to Managed Reporting (MR) that record when a report was created, last modified, and who performed those activities. This information is displayed in the Developer Studio and Dashboard interfaces but not in the MR Domain Builder and Domains applet interfaces.
Because there are different philosophies on revealing this information, we are providing configuration settings to make the product behavior flexible.
The first thing we'll look at is the Dashboard item Properties panel, shown in Screen 1. On the panel you see the new "Last Modified On" property. By default, the individual who created and last modified the item is not displayed in Dashboard.

To expose the author and person who last modified the item, set the Dashboard showItemPropertyCreatorModifier setting to true, which you can do in the WebFOCUS76\worp\config/bid-config.xml file.
This setting puts the individual's name and user ID into the "Created By" and "Last Modified By" properties, as illustrated in Screen 2.

Note: In WebFOCUS 7.6 the bid-config.xml file is read only once during Dashboard initialization. If you edit the file you need to
restart your Web application before the change is recognized.
The showItemPropertyCreatorModifier setting only affects Dashboard; Developer Studio always shows these properties.
The properties we just discussed are available for all file-based items in the MR repository including Standard Reports, Reporting Objects, Other files (such as HTML or GIF images), and My Reports. Remember, the new properties are not displayed in the MR Domain Builder and Domains applets.
Now let's look at how this property information is stored. First you need to know that regardless of how your installation is configured, MR items are always stored in the MR repository file system and item metadata is always stored in the domain control file for that domain. For example, metadata about Standard Reports and Reporting Objects in the "default domain" are stored in the WebFOCUS76\basedir\ untitled.htm file. Similarly, the default administrator's My Report metadata is stored in the WebFOCUS76\basedir\admin.htm file.
When an MR item is created in WebFOCUS 7.6, three new flags are added to the item's MRFLAG attribute, as shown in the fragment of untitled.htm below:
<A HREF='app/product_sales_by_category. fex'MRFLAG='createdon=1157746613187,createdby=Thorstad%2C+Jim+%28jt04134%29,lastmodby=Thorstad%2C+Jim+%28jt04134%29'>Product Sales by Category
The createdon flag shows when the item was created in milliseconds since 1970. The createdby and lastmodby flags show the name and user ID of who performed those operations. The last two properties are encoded so that special characters don't create problems for our parser. You'll notice that there is no prop-erty for the last modified by time; WebFOCUS gets this information from the file system.
The last topic concerns how you want to process these new property fields when loading reports from one environment to another. There are many possible scenarios, but let's focus on these two:
- History Preservation you want to preserve the name of the person who created a report as it is moved from development to test. You also want to preserve the time the report was created in development and also the last time it was saved prior to being moved into test.
- History Reset you want to reset all report author information during production load to that of the service account used to run the CM Load (
IBILoadRepos) program. You also want to reset all of the report creation/last modification times to the time that the CM Load program was run.
It may be useful to preserve history when moving reports from development to test. This way users who are part of the acceptance test process can more easily determine which versions of the reports they are looking at and whom to call with questions. On the other hand,
it may be more useful for end users to know
the time that a particular batch of reports were introduced to the production environment as opposed to the time that the report was
first created by the developer much earlier in the process.
To enable customers to adjust the behavior to their particular requirements, we are introducing two new optional command line arguments for the CM Load program:
-preserveCreationInfo - the CM Load program preserves the createdon and createdby flags found in the change package zip file.
-preserveModifierInfo - the CM Load program preserves the lasmodby flag found in the change package zip file.
These arguments may be added to the IBILoadRepos call in the CM Load batch file WebFOCUS76\utilities\cm\cmload.bat. By default, these arguments are not specified, which means that the history is reset. If you want to preserve creation information and/or modification information then add one or both of these arguments to the end of the command in the batch file like this:
java -DinfoLogType=FILE -cp %CLASSPATH% ibi.srv.cm.IBILoadRepos -user %MRID% -confDir %ROOT%\WEB-INF -d .\load -preserveCreationInfo -preserveModifierInfo
There is nothing to control whether these properties are extracted during the CM Extract step; they are always extracted into the change package. It is during the load step that you can control the behavior. This allows you to take a single change package from development and load it one way into test and a different way
into production.
I hope you find these enhancements useful in your WebFOCUS installation. For more information about Managed Reporting Change Management refer to the chapter on this topic in your MR Administrator and MR Developer manuals.
You are welcome to send feedback on these enhancements to me at jim_thorstad@ibi.com.
|