02 March 2009
This chapter describes the main feature enhancements of the TVC Core, i.e. functionality common for all the TVC components.
Pages that are built using the TVC dialog toolkit can now also enable an apply button, see screenshot below.
The href’s in a command or menu can sometimes become very long and unreadable.
There is now an alternative way to configure the href, see example below.
<Command>
<URL href="${COMMON_DIR}/page.jsp"
submit="true"
submitOID="true"
target="hiddenFrame">
<Param name="inquiry" value="MyInquiry"/>
<Param name="param1" value="value1"/>
<Param name="anotherParam" value="another value"/>
</URL>
If you are executing a TVC-action, this can be written as:
<URL action="navigate" …
Instead of:
<URL href="/tvc-action/navigate" …
The setting called "Column Type" used in table columns to define the type of the column has been improved and extended.
Previously, there have been a couple of fixed values for this setting, for example: "image", "icon", "program", "programHTMLOutput", "checkbox" etc.
It is now possible to register a custom, so called column type handler that is handling a particular column-type. A column type handler is typically used for a new column type but it is possible to override an existing column type.
The main reason behind using pre-defined column types is to reduce the amount of settings that traditionally is needed for a column, for example "Data Handler Class", "Cell Renderer Class" etc.
The structure browser and the office integration component provide a couple of new values for the column type setting.
The V6 version of ENOVIA introduced some behaviour changes that appeared when for example reloading a table inside the structure browser and the table contained a reference to a business-object or connection that had been deleted (stale). If so, you will as of V6 get an Exception from ENOVIA, while on earlier versions you did not. This is now handled and taken care of in TVC. The only drawback is that evaluating a table containing stale objects and/or connections might take longer time than in earlier versions of ENOVIA.
This chapter describes the main feature enhancements of the structure browser.
In the V6 OOTB structure browser, the selected rows being submitted contain in addition to the object-id and connection-id also the id of the "parent object".
As of TVC 2009.1, this format is used by default by the TVC Structure Browser. It is however possible to disable it globally, or disable it per structure browser instance.
The init parameter is:
<init-param>
<param-name>tvc.structurebrowser.submitParentOID</param-name>
<param-value>false</param-value>
</init-param>
If you need to enable or disable it per structure browser instance, this is done via the parameter
submitParentOID=true
or
submitParentOID=false
The most common way to expand a structure in TVC has been by using so called filters that define how the structure is being expanded. The filters to be used have been defined (configured) on the view itself, and the actual filter is defined in the database or as an XML file.
Other possibilities, like expanding a structure using a JPO or writing a custom StructureBean that implements the expand logic, have also been possible. The drawback has been that you were not able to easily mix the expand modes used within the same Structure Browser instance. E.g. you had to launch different instances of the structure browser depending on how you wanted to expand the structure.
As of this release, you will be able to configure the way a structure is expanded per view.
It is possible to expand a structure using any of standard filters, an inquiry, a JPO, so called shadow expansions (skipping intermediate objects) or using a custom Java expander.
Moreover, you are able to define the behavior of the filter chooser per view. It can be made invisible (locked), allow multiple filters to be selected or just allow one filter at a time to be enabled.
An example of a use case is: Navigate a structure and show the latest released object.
A new setting has been added in order to allow changing the way the text is aligned in the cell. This setting is called "Text Align" and accepts the following values (case insensitive):
Left
Right
Center
By default, numeric values are right aligned.
In addition to navigating a Structure Browser instance in edit mode with the arrow keys, the enter key will now take you to the cell in the same column on the next row.
The printer friendly popup dialog has been replaced with a pane, which contains the settings that can be configured for the printer friendly page.
Just clicking the printer icon will generate a printer friendly page using the current settings.
The table export function that previously was configured through the preferences page in the side panel is now shown in a pane next to the export button.
Just clicking on the export icon will export the data according to the current user preferences.
The preferences page shown in the side panel has been removed as of this release. Instead, the preferences button is shown in the toolbar and the options are shown in a pane below this button.
From here, the user can change the pagination settings as well as the layout settings.
The clipboard implementation has been totally rewritten as of this release. The previous implementation offered several different alternatives for storing the content of the clipboard, like using a data object, a set, in an attribute on the person object, or as a serialized object on disc.
The new implementation will save the objects into a set, using the name "mxClipboardCollections" if you are using ENOVIA V6R2009 or later, or using the name ".clipboard" for earlier versions. The name used can be changed through system parameters.
The reason for this is that ENOVIA V6 also has a clipboard, and to not confuse the user by having two different clipboards in the system, the TVC clipboard will work with the same clipboard content as ENOVIA does.
The clipboard and collection functionality has been merged under the same button in the toolbar, as shown below. It also makes it possible to add multiple items to the clipboard.
The green icon in the table-row is still available for the ability to quickly add single items to the clipboard.
The "view clipboard" button has been moved into this place too.
NB: The go-there function from the clipboard has been removed as of this release. It is sometimes not desired to allow the user to make an object from the clipboard available in the table as the functions/commands in the toolbar might only have been designed for a certain kind of data.
The “Search in Structure” and “Advanced Filter” functions that previously have been used to find or filter data inside a flat table or structure have been replaced by a new search function. The new function combines most of the functionality from the old functions, and presents it in a new and friendlier user-interface.
By pressing the arrow next to the search icon in the toolbar you can quickly find rows in a table or structure that contains a certain text.
In the result, Structure Browser will display an area above the table showing what parameters you’ve searched on. Also, the column headers and search hits will be highlighted with different background colors.
If you click on the “Edit” link in the search area above the table, or if you click on the search button on the toolbar, you can create complex queries. You are also able to save and load your queries.
If the table you’re searching in is a structure, you can select if you want to search in the full structure, if the result should be displayed in a flat list, and if the query must match on every level in the structure (i.e., as a filter).
A help marker can be added to the toolbar. If the parameter "HelpMarker" is present in the URL or in the Page Configuration object, when invoking the Structure Browser, the button will become visible in the toolbar.
Promote and Demote has been added to the toolbar, in order to allow performing mass promotions or mass demotions. The visibility of these buttons is configured through the page configuration object.
If the operation fails, you will in a popup window see the failed items together with the error message / reason.
If there are objects that need a signature to be signed, the popup window will show the missing signatures and the user will have the possibility to approve any signature he has access to sign. The sign form is shown in the side panel:
The possibility to approve signatures can be disabled.
If you are running TVC in an environment using ENOVIA V6R2009x or later, you can configure via the page configuration object whether or not the object comparison and/or the trigger validation button should be visible in the toolbar. These buttons will use the OOTB functions for performing the action.
The Structure Browser provides a couple of new column types that can be used in the tables. The table below shows the details:
Column Type | Description |
---|---|
tnr |
Shows the column containing type, name, revision (and revisions) |
dimension |
Used for columns applying to an attribute having dimension |
usd |
Used for columns containing values that should be formatted using the USD currency. |
date |
Used for columns showing date values |
datetime |
Used for columns showing datetime values. |
fn |
Used for columns showing the "Find Number" value. |
findnumber |
Same as "fn" |
state |
Used for columns showing the current state. |
lifecycle |
Same as "state" |
newrow |
Used for columns showing the input field allowing doing inline connect. |
objectactions |
Can be used for adding common object actions. |
refdes |
Used for columns showing the "Reference Designator" value. |
referencedesignator |
Same as "refdes" |
statedate |
Used for columns showing either scheduled or actual dates. |
The search form page is now using a toolbar that contains the commands used to switch form, or opening the collections page, saved queries list or clipboard.
It is however still possible to switch and use any of the previous layout modes by configuring the following system parameter:
<init-param>
<param-name>tvc.structurebrowser.searchFrameLayout</param-name>
<param-value>toolbar</param-value>
</init-param>
Possible values are
toolbar
drop-down
old
It is also possible to configure this per use of the search tool. Simply provide the following parameter in the request using the same values as for the system parameter above.
searchFrameLayout=drop-down
A new attribute has been added to the type field, which defines if to allow selecting abstract types in the type chooser.
<TypeField canSelectAbstractTypes="false">
The owner field can be configured to use the username of the logged in user as a default value. This is configured like the example below:
<OwnerField currentUserDefault="true"/>
A commonly used function in other ENOVIA table pages is the "emxTableColumnLinkClick" function. A similar method is now added in TVC, in order to allow using an already written JPO that relies on this function, meanwhile the JPO is rewritten to become a data-handler and/or cell-renderer.
A new action has been added that allows doing quick connects. The quick connect is lighter variant of the traditional build structure function.
The search tool will be opened, and from the search result the user can select one or more objects to connect. Selecting the objects will perform the connect operation using the pre-defined relationship type and direction, and then close the search result window. The original page is refreshed and new rows are highlighted.
A new action has been added that allows the user to create and connect a new item directly in the structure. The action will create a new object, according to the parameters in the request such as type, number generator name, revision, policy etc. There is no user interface shown for the create object dialog as this function is intended for quickly adding new items.
The new item is connected and highlighted in the structure.
In addition to using the go-there function, which can be used to set one selected object as the top object in the structure, it is now possible to use a new action for zooming in multiple selected objects.
The selections are shown in a "clone" of the original table, with only the selected objects remaining.
The user can go back to the original structure using the go-back button. The URL for this action is:
/tvc-action/zoomInSelected
A new action has been added that can be called to expand the root node(s) in a structure. A command can be added to the toolbar that invokes the action. The URL is:
/tvc-action/expandRoots
The parameter "levels" can be used to define the number of levels to expand. Default value is 1. For full expand, use the value 0.
The type/name/revision data handler (used when Column Type = tnr) has been improved regarding how it is being sorted and grouped. The data is by default grouped based upon the object type (only), and the data can be configured to be sorted based upon the name and revision only.
The setting to use for changing the sorting behavior is called "Sort By Type" and the default value is True (if the setting "Show Type" is true).
Moreover, if the name of the revision starts with "auto_" or the number of characters in the revision are more than 8, the revision value isn’t shown as it is treated as just being a "dummy" value.
The office integration provides a couple of new column types that can be used in the tables. The table below shows the details:
Column Type | Description |
---|---|
file |
Shows the attachment indicator |
attachment |
Same as "file". |
actions |
Shows the action column containing the icons used for checkout/checkin/update etc. |
versionactions |
Shows the action column to be used for the version objects. |
filesize |
Shows the filesize column. |
lock |
Shows the lock column |
route |
Shows the route column |
version |
Shows the version information column |
versionlock |
Shows the column showing the number of locked files. |
The file package definitions can be stored as XML in the web-application under the WEB-INF/tvc folder. Each configuration is stored in a separate file. The name for these resources is "fpd".
Referring to such a configuration is done using this syntax (corresponding path also shown).
tvc:fpd/MyConfig.xml <--> /WEB-INF/tvc/fpd/MyConfig.xml tvc:fpd:package/MyConfig.xml <--> /WEB-INF/tvc/package/fpd/MyConfig.xml
The folder, which the client downloads the files from Matrix into, can be defined from the server configuration. If the work folder is configured by the server, the user will not be able to change this manually through the preferences dialog. If, for some reason, the pre-defined folder doesn’t exist, the office integration will work as if it has not been configured through the server.
It is also possible for the server to control which folder the client should use for storing its internal configuration files. By default, this folder is a folder inside the user home directory.
The developer documentation contains information how to implement post processors, output handlers and custom Java-based reports, which all can be plugged into the report generator.
The SMTP host to be used when delivering reports through mail will be
taken from the MX_SMTP_HOST
parameter. If a value for this has been
defined in the report generator configuration, that value will be used
instead of MX_SMTP_HOST
.
A new data handler has been added, which can be used to define multiple select expressions within a column. Each select statement should be defined on its own line within the expression field.
This data handler is called:
com.technia.tvc.reportgenerator.datahandler.MultiSelectHandler
Report definitions can as of this release be defined in XML and stored on disc in the application directory instead of as a business object the database.
The naming syntax for reports stored on the disc is:
tvc:report/MyReport.xml
As an alternative to the regular baseline functionality available within the XBOM Manager, there is also a possibility to create another kind of baseline using a different technical approach. This baseline type will not be stored as a structure in the database. Instead, it will create an XML representation of the original structure, and store this as a file checked in to a separate business object.
The benefits of using this approach are:
Speed of creation: Since only one business object is created, the time to create a baseline will be shorter than a regular baseline.
Speed in navigation: Navigating a baseline based on xml is generally faster than navigating a database based baseline.
Versatility in presentation of baseline structure: Since an xml baseline will contain ALL the data (attributes and basics) that was present on the original objects, it is up to the tables being used in the navigation view of the baseline to decide which data is interesting. This creates the option to add additional columns at a later time without needing to recreate baseline.
Generally better performance for the rest of the database: Because of a lot fewer business objects and relationship being created, this solution will have less impact on existing database performance.
All the configurations for the XML baselines are stored inside a page object with the name “TVC XBL Config”. This page object is a XML definition, containing all different kinds of XML baseline configurations.
The user can now choose which objects to work with in the Grid Browser. This is done by using an URL that first launches the search tool within the structure browser. The user can then select objects from a search result, a collection, the clipboard etc. depending on the configuration.
This feature requires the TVC Structure Browser.
When working inside the grid browser, sometimes there is a need for being able to add an object. This can now also be achieved by configuring a command that is used inside the toolbar of the Grid Browser instance.
This feature requires the TVC Structure Browser.
It is possible to disable a complete row, based upon some condition. As of this release, this could also be done for a complete column. See screenshots below.
The expression used to define when to disable a row or a column can also contain a macro that is referring to the object, which the grid was launched for.
For example:
<Columns>
<DisableIf>to[rel].from.id ~~ "${OBJECTID}"</DisableIf>
</Columns>
The statement could also apply to the relationship associated with the row or column object. In that case, it is defined as:
<Columns>
<DisableIf relationship="true">from.id == "${OBJECTID}"</DisableIf>
</Columns>
In order to allow modifying/working with the objects on the column-axis, the objects on the row-axis or the connections that represents the intersection between the row/column objects, a convenient action has been added that allows loading these into a structure browser instance.
When the command is clicked, a popup window opens the structure browser instance with the selected objects, see screenshot below:
When the user previously selected both "non-connected" and "connected" elements in the grid, and used the "mass-connect" function, the already connected objects were connected twice.
Since the Grid Browser is hard to predict and configure in those situations where multiple instances of the same relationship type exists between two objects, we changed the way the mass-connect works. Now only the non-connected elements will be passed further to the action.
A new tool (developer tool) is provided with TVC to simplify working with many of the configuration objects used together with TVC. This tool is built upon the Structure Browser; hence you need the Structure Browser installed in order to be able to use the tool. However, the TVC Configuration Manager does not require any additional license.
If you choose to install this tool, you will have a new command available in the "My Desk" menu, called "TVC Configuration Manager". This command is visible for users assigned to the role "TVC Manager".
When launching this command, you will get a popup window showing a toolbar containing commands that allow you to work with the different configuration objects. Depending on the number of installed TVC Components, the commands available will vary.
The tool supports only working with configuration items that is
stored inside the database. You cannot manipulate XML files stored under
the /WEB-INF/tvc folder.
|
It is possible to extract definitions from the database in XML format, if you have the office integration installed.