18 April 2008

1. TVC Structure Browser

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

1.1. Dynamic Updates on Expand / Collapse

As of TVC 6.3.0, expanding and collapsing a structure-node will insert the new nodes / remove nodes instantly, without the need of refreshing the page. This will greatly enhance the usability of the structure browser.

1.2. Context Menu

Every table page can have a custom context menu attached, which will be visible when the user "right-clicks" on a row. If a row for some reason isn’t selectable, e.g. there is no checkbox (or radio button), the context menu won’t be available either.

image

The context menu is a standard menu, defined in business or in XML format, containing commands and/or other submenus. The context menu used on a table page is configured in the page configuration object that is defining the behavior of the table page. It is also possible to configure a separate context menu for a particular view.

The sample configurations installed together with the structure browser contains a sample context menu as illustrated in the screenshot above.

1.3. Collection Page

The collections page utilizes the context-menu feature concept.

image

1.4. Data Grouping

A new function called data grouping has been added. This function is available from any table page (flat list or structure). The function is used to group data, based upon column values, into different groups.

The data grouping function is launched via this button:

image

As an example, assume that you have a structure like in the screenshot below.

image

Launching the data grouping function and define two groups: type
current state, would give a result like the screenshot below.

image

The groups can be expanded in order to see the content of a particular group.

image
  • Data grouping can be made on 1-3 columns.

  • Possibility to group a table or structure when it is initially loaded.

  • Date values can be mapped to different combinations, such as year/quarter, year/month etc.

  • Go-there operation on a "group" will load the content of an individual group in a separate table.

1.5. Post Processing

A new feature has been added to the structure browser, called post-processing.

This can be used to perform some additional processing of the loaded data before it is being displayed for the end-user.

This feature is used for example when performing an automatic data grouping. Another use case is to freeze the structure after load, e.g. disallow the user to collapse/expand the structure further.

Defining the post-processing instructions is done in the "TVC Custom Parameters" attribute of the page configuration, like the examples below:

# freezes the loaded structure
# E.g. disallows further expand/collapse
postProcess=freeze

Or:

# do some data grouping
postProcess=group
# define group criteria (see admin guide for syntax and further details)
groupBy=%state#ED{year-quarter}#UOM

Or:

# Use a custom post-processor (see the development guidelines for further details)
postProcess=com.acme.SamplePostProcessor

It is possible to perform multiple post-processing tasks. Simply add a comma separated list of tasks to be performed.

Currently, the only built-in post-processors are "group" and "freeze". Custom applications might provide their own post-processor implementations.

1.6. Group Header

Support for a common header above several columns, e.g. column group header, has been added.

A group header is specified through the column-setting, called "Group Header". If you are using tables defined in XML format, this would be defined like:

<Table>
    <Column>
        <GroupHeader>the value</GroupHeader>
        <GroupHeader locale="de">Value in German</GroupHeader>
        ...

The value of the group header can either be a plain text value, or it could refer to a string resource from the corresponding string resource file when the "Registered Suite" setting is defined.

For XML tables, the localized values can be entered directly in the table definition, as the example above illustrates.

The screenshot below illustrates how a table with group headers are rendered. Group headers will only be rendered in the standard HTML view, not in PDF-, Excel-, CSV- or Text exports.

image

The introduction of group headers also affects the behavior of the column configuration tool. A column within a column group can not be moved outside of the group. However, the whole group can be moved around (the columns inside a group will always be kept together).

1.7. Search Tool

The user interface for the search tool has been updated.

The left frame, which previously showed the search forms, find-like types and links to the saved queries / collections page, are now removed. Instead, a drop down list is available where the same functionality is found. See the picture below for an example how it might look like.

image

It is possible to configure the search tool to use the old layout, by applying the following init-parameter:

<init-param>
    <param-name>tvc.structurebrowser.search.useNewLayout</param-name>
    <param-value>false</param-value>
</init-param>

The default value of this parameter is true as of 6.3.

The search tool can be configured to query a sub set of the objects in the database, e.g. only find objects connected directly or indirectly to another object. An example would be to search for documents within the folder structure of a single project.

This is described more in detail within the administration guide.

1.9. Search – Append

The search tool now also allows appending the result of a revised query, into the previous search result. A new input field next to the query limit, in the lower part of the search tool window, has been added.

image

1.10. Query over Set

The search tool can be configured to perform the query over a pre-defined set. When the search tool is launched, you will need to give the name of the set within the request parameters.

http://../ematrix/tvc-action/beginSearch?searchOverSetName=TheSet

1.11. Search – Dimension Support

The search tool now supports attributes having dimensions (Matrix 10.7 feature).

For those attributes having a dimension associated, the user will see a drop-down list to the right of the input field, which allows selecting the desired unit.

image

1.12. Chart Enhancements

The chart functionality has some new operators used for grouping the data, such as "between", "between inclusive" (available for both date and numeric fields) and "less or equal than" / "greater or equal than" for numeric fields.

1.13. Data Handlers / Cell Renderers

All the data handlers and cell renderers, provided by the Structure browser out-of-the-box, are clearly documented in the administration guide.

1.14. Cell Editor

In some cases, you need to perform some validation when the user modifies a cell value on a table page in edit mode.

This can be solved through using the Cell Editor API, which is described in the developer guidelines.

An example of this is visualized if the OOTB Find Number data handler, where the entered find number is validated and checked if it’s unique or not. If it is not unique, the user will be presented with a confirm dialog if it should be updated anyway.

1.15. Full Collapse

The feature of performing a multi-level expand on a node by holding the CTRL key while clicking the expand button (+) was introduced in TVC 5.x.

In addition to this, a full collapse is now performed if the CTRL key is held down while clicking the collapse button (-). This is very useful if you are displaying a structure with multiple root-nodes.

1.16. Clipboard Enhancement

The clipboard can now be configured to save the items held by the clipboard into a collection (set) in the database, or, if you are using Matrix 10.7 or greater; as data-objects.

To configure this, specify the init-parameter as the example below

<init-param>
    <param-name>tvc.structurebrowser.persistentClipboardStorageType</param-name>
    <param-value>set</param-value> <!-- or, any of: dataobject, file, db -->
</init-param>

The default storage mechanism has been changed, previously the default storage mechanism were "file". As of TVC 6.3.0, the clipboard will be stored into a data object, if that is possible (requires 10.7 or later of Matrix). If data objects aren’t available, it will try to store the clipboard into an attribute on the person object. If none of the previous methods are available, the clipboard is stored into a file within the temporary folder of the application server.

1.17. Selections Storage

The default storage mechanism for the selection of last chosen table/view/filter and last sorted columns has been changed.

Previously the default storage mechanism was "file" (e.g. the information was serialized into a file on the application server). As of TVC 6.3.0, the selections will be stored into a data object, if that is possible (requires 10.7 or later of Matrix). If data objects aren’t available, it will try to store the selections into an attribute on the person object. If none of the previous methods are available, the selections are stored into a file within the temporary folder of the application server.

1.18. XML Definition Enhancements

Filters, which are used in the structure browser to define how to navigate a structure, can now also be defined in XML definitions. This is described within the document "XML Based Definitions", which are a part of the TVC documentation.

1.19. Configuration of the Collection Page

The XML files, which contain the definitions for the pages related to the collection management, are now moved out from the JAR file.

The files will now be located under the path WEB-INF/tvc/sb/collection, which will allow modifications easier.

Previous installation, which had extracted these XML files for further customizations, must take this change into account.

1.20. Type Name Revision Data Handler

The data handler and cell renderer showing the type, name and revision has been extended and supports some more settings.

It is now possible to also define how many of the previous revisions as well as the number of highest revisions to show within the cell, as shown in the picture below.

image

It is also possible to show the revisions information in a more pane, if configured so (including information about each revision state). See the administration guide for all the settings available.

1.21. Top / Bottom Action-bar Support Dropped

The support for top and/or bottom action bars has been dropped. You will have to define a toolbar instead (if you are running in a 10.0 environment).

This means that two attributes, "TVC Top Actionbar" and "TVC Bottom Actionbar" has been removed from the database.

If you have MQL/TCL scripts that create business objects of type "TVC View" or "TVC Page Configuration", and you set the value of any of these attributes, these scripts must be reviewed and updated.

2. Office Integration

2.1. Support for "Versioning Suspended"

If the attribute "Versioning Suspended" has been set to true on the document object, the TVC Office Integration will not generate the check-out, check-in and update actions.

2.2. Support for Non Versionable Types

The TVC office integration is now able to handle objects, which type has been set to disallow versioning.

2.3. User Interface Updates

The client user interface has been updated with new functionality to facilitate working with documents in the TVC Office Integration. These updates are:

  • Added right click context menu to document entries. The context menu contains all actions that are immediately available in the entry itself plus a few additional actions, such as a way to open the business object from which the file was downloaded in a browser popup window.

  • You can now configure the client to delete downloaded files (by moving them to the recycle bin) when the corresponding entries are removed from the user interface.

  • The client can be configured to automatically check for new versions of downloaded files. If enabled, it will check for new versions when you login and every 10 minutes while you are logged in. This feature is only supported for files that adhere to the Common Document Model way of versioning. If the client has detected that a new version is available it will show a notification on the entry. You are also able to easily download the latest version by clicking on the notification.

2.4. Document Property Transfer Updates

The client can now transfer properties to and from Microsoft Office Word, Excel and PowerPoint documents versions 2003 and 2007 on Windows.

2.5. Limited Support for Mac OS X

The office integration client is now has limited support on Mac OS X Tiger. The limitation being that the client on Mac OS X is not able to transfer document properties neither to nor from Microsoft Office documents at this time.

3. Personal Browser

3.1. Logging

The personal browser can be configured to log creations of individual personal browser packages. Such logs are created as business objects in the database, containing information about whom that created the personal browser, which object it were created from and optionally a reason for creation message provided by the user.

If the "reason for download" is required, the user will be prompted for that in the dialog where the configurations are shown.

image

To enable logging for a particular configuration, simply add the Log element to the configuration as shown below.

<PersonalBrowserConfiguration>
    <Configuration name="...">
    <DisplayName>...</DisplayName>
    <Description>...</Description>
    <Log>
        <Enabled>true</Enabled>
        <ReasonRequired>true</ReasonRequired>
    </Log>
    ...

The log objects being created are of type "TVC PB Log" and created in the vault "TVC Administration".

If you have the "TVC Structure Browser" component, these logs can be reviewed in a flat table list by using the command called "TVC Personal Browser Logs".

4. Grid Browser

4.1. Displaying Row Information

Support for displaying more information from the object and/or relationship from the row is possible. This information will be placed into individual columns as shown in the screenshot below:

image

4.2. Disabling Element Actions on a Row

It is possible to disable the actions available for the elements on a row, based upon some criteria, which evaluates to true against the object on the row axis. This is configured in the XML definition as the example below:

<Rows>
    <DisableActionsIf>type.kindOf[Part]</DisableActionsIf>
    ...