Recently, while working on a project in which a Portlet Factory model needed to provide a tabular list of data I elected to use a Data Page builder. This builder is a convenient way to display a tabular list of records from a data source such as a relational database, when used in combination with a Data Column Modifier builder and some Page Control builders such as check boxes or buttons a developer can create a remarkably sophisticated interface. However, complications may arise if two Data Page builders are placed on the same page.
Initially, in the project, I used two datapages derived from similar but not identical schemas. Later, when the underlying data model was updated the schemas were aligned such that they were identical. The consequence, after repeated experiments with the same outcome, is that the generated code appears to be corrupted in such a way that I could only recover by replacing the damaged model with a copy from an earlier backup. This recovery attempt succeeded after several other attempts in which I disabled, removed, undid, and (relying on CVS) over wrote the damaged model.
How did I survive and achieve my objective? Well, since the shemas were identical I created a schema typed variable, used a condtional action list to populate the variable and placed a single data page builder into the model that was driven by this singular variable.
Alternatively I might have performed a transform on one of the sources to 'break' the association created by data services with identical shemas. I didn't choose this as the use of a variable proved to be a very useful and reusable pattern.
So, reporting 'live' from the WebSphere Portlet Factory trenches, this is G. David Wilkerson signing off for now.
Comments (2)David Wilkerson November 8th, 2007 08:40:28 PM
