When designing a template you often need to explore a query’s context and all its available attributes. You might need that in order to add another attribute to the output or to work with sibling queries.
Prior to RPE 2.0 your only option is to manually expand one node of the schema at a time until you reached your query. With RPE 2.0.1 you have a far simpler option: right click on the element holding your query and select “Go to schema” from the “Search” sub menu.
RPE will focus the appropriate data source schema in the Schema View and ensure the query is expanded and visible in the schema tree.
With RPE 2.0.1 you can specify .docx as the extension for the output documents regardless of the stylesheet you are using. With 2.0 and older the generation process would fail if the stylesheet contained macros since .docx is a macro free Word document format.
To avoid this RPE 2.0.1 will remove all macros before saving the .docx file. This also means that any macro specified to be executed for the output will be ignored if the output extension is .docx. If you need macros in your output document you need to use one of the macro enabled document formats .doc or .docm.
When running a report the end user must provide a number of inputs. Some cannot be avoided but most can and even better you can replace manual typing with value selection.
A simple scenario is choosing to print the content of a Rhapsody package. You do not know a priori what that package is so you design the template to accept the package name as a variable. To make things very efficient you can use a native filter on the predefined “AllPackages” query as shown below.
Native filter to select the desired package
Now “all” the end user has to do is type the right package name and he’ll get the report he wants.
Manually configuring the variable
But typing is error prone so you need to switch to Rhapsody to make sure you get the right value. The alternative is to equip the variable with knowledge at design time to allow RPE to assist the user in picking the right value. This is known as the RPE Configuration Layer.
In this example the scope for the packageName variable is the list of package names from the current model and the “knowledge” looks like this:
Configuration metadata at design time
This information enables the end user to use the “Configure using Metadata” action from the context menu of the “packageName” variable and select the package name from the displayed list.
Configuration metadata at runtime
The example template is available for download here.
My colleague Shikha Aggarwal has recorded a video showing how to use the color outlining feature of Document Studio 1.3. This feature is meant to help designers better understand templates with very complex nesting.
RPE 1.3 makes a number of additional verifications when launching a document generation job, such as verifying the availability of the specified style sheets and more. These checks are added to detect errors early in the docgen process and avoid debugging an apparently incorrect RPE output.
The path specified for the Word stylesheet does not exist
NOTE: there are a couple of points at the end of this article for which I would like to have your feedback. Please see the User Feedback section.
Continue reading “Validating the Output Configuration at Document Generation Start”
RPE Launcher and Studio consume RPE licenses so any instance left open over night can prevent other users from the organization from using RPE. To address this problem we have implemented since RPE 1.2.1 a timeout mechanism which releases the RPE licenses if RPE Launcher/Studio is idle for more than 60 minutes.
NOTE: the timeout interval cannot be changed.
Once RPE Launcher/Studio has been idle for more than 60 minutes the license is checked-in and a the user is prompted to either close the application or check-out the license again and continue working with RPE.
When editing the predefined data source list as described in this post make sure you add your entries after the first one, the DS1 in the default file. RPE handles that 1st entry in a special way, it clears the URL field as soon as you click on it. This is done to reduce the number of manual actions required as we assume that for that particular data source you always want to type a value.