02 March 2009

1. Core

This chapter describes the main feature enhancements of the TVC Core, i.e. functionality common for all the TVC components.

1.1. Dialog Page – Apply Button

Pages that are built using the TVC dialog toolkit can now also enable an apply button, see screenshot below.

image

1.2. XML Format – Commands / Menus

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" …​

1.3. Column Type

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.

1.4. Table Evaluation on V6

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.

2. Structure Browser

This chapter describes the main feature enhancements of the structure browser.

2.1. Format of the emxTableRowId Parameter

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

2.2. Expand Method

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.

2.3. Text Alignment

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.

2.4. Arrow Key Navigation

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.

2.5. Printer Friendly

The printer friendly popup dialog has been replaced with a pane, which contains the settings that can be configured for the printer friendly page.

image

Just clicking the printer icon will generate a printer friendly page using the current settings.

2.6. Table Data Export

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.

image

Just clicking on the export icon will export the data according to the current user preferences.

2.7. 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.

image

From here, the user can change the pagination settings as well as the layout settings.

2.8. Clipboard

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.

image

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.

image

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.

image

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.

image

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).

2.10. Help Marker

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.

image

2.11. Mass Promote / Demote

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.

image

If the operation fails, you will in a popup window see the failed items together with the error message / reason.

image

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:

image
image

The possibility to approve signatures can be disabled.

2.12. V6 Functionality

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.

image

2.13. Column Types

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.

2.14. Search Tool – Layout

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.

image

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

2.15. Search Tool – Type Field

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">

2.16. Search Tool – Owner Field

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"/>

2.17. Java Script Function "emxTableColumnLinkClick"

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.

2.18. Build Structure – Quick Connect

A new action has been added that allows doing quick connects. The quick connect is lighter variant of the traditional build structure function.

image

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.

image

2.19. Build Structure – Create and Connect

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.

image

The new item is connected and highlighted in the structure.

2.20. Zoom Selected

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.

image

The selections are shown in a "clone" of the original table, with only the selected objects remaining.

image

The user can go back to the original structure using the go-back button. The URL for this action is:

/tvc-action/zoomInSelected

2.21. Custom Expand of Root Nodes

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.

2.22. Type / Name / Revision Data Handler Change

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.

2.23. Find Number Data Handler Change

The setting "Store Formatted Value" was previously set to TRUE by default. The default value as of this release is FALSE for this setting.

2.24. Column Type: Separator

A new column type called "separator" has been added in order to generate a column separation.

image

3. Office Integration

3.1. Column Types

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.

3.2. File Package Definitions

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

3.3. Client – Work Folder

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.

4. Report Generator

4.1. Updated Developer Documentation

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.

4.2. SMTP Host

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.

4.3. Multi Select

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

4.4. Defining Reports in XML Format

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

4.5. Storing Stylesheet as an Application Resource

The stylesheets can as of this release be stored on the disc instead of as page objects in the database.

The naming syntax for stylesheets stored on the disc is:

tvc:stylesheet/MyStylesheet.xslt

4.6. Date Format

Date values are serialized as they are formatted from Matrix. ISO values as well as localized variants are available as attributes in the XML data.

5. XBOM Manager

5.1. XBL Baselining

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.

image

6. Grid Browser

6.1. Defining Objects on Row/Column Axis

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.

image

This feature requires the TVC Structure Browser.

6.2. Add Existing

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.

6.3. Disable a Column

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.

image

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>

6.4. Load Objects into a Structure Browser Instance

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.

image

When the command is clicked, a popup window opens the structure browser instance with the selected objects, see screenshot below:

image

6.5. Mass Update – Behaviour Change

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.

7. MCAD Optimizer

7.1. Support for V6R2009x

The MCAD Optimizer contains support for the V6R2009x release of ENOVIA™.

7.2. Formalize

The MCAD Optimizer now includes support for doing formalization.

8. TVC Configuration Manager

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.