Tech Tip: Configuring HTML Output Formats in Teamstudio Export

By Mark Dixon

Probably the most popular feature of Teamstudio Export is its ability to create HTML archives providing an easy-to-navigate representation of the data from the original IBM Notes/Domino database. By default, the HTML site that Export creates displays all of the non-hidden views in the original application, and all of the fields found on the exported documents. However, some Notes applications contain a significant number of views and fields that are used by application logic. Often, these views and fields don’t provide useful information to the end user and impede the end user's ability to locate relevant information.

Teamstudio Export supports configuration settings within the exported HTML site that can be used to control which views are displayed, control which fields are displayed, including the order of display, and optionally provide field labels to help users identify what they’re looking at.

The configuration file is located inside the site's HTML folder (the .tse folder), at config/config.js. It is essentially a JavaScript / JSON configuration file, similar to properties files used by many modern web technologies. To allow an HTML site to be self-contained and browsed locally without the use of a web server, the JavaScript object that represents the configuration properties is registered with the application by passing it to a function ('tmsData') that is called when config.js is loaded by the browser. The default config.js file contains comments documenting this function, along with example settings that you can uncomment and modify as needed.

Before you edit this file, it’s helpful to have a basic understanding of JavaScript syntax and JSON. Perhaps unsurprisingly, you have to reload the web application in the browser for changes to the config.js file to take effect.

The configuration file allows control of which views are displayed by:

  • explicitly listing the views to display;

  • providing a JavaScript function that accepts an array of available view names and returns an array of views to show;

  • disabling the default hiding of views that start with '('.

Views that start with '(' are filtered by default. An example of a simple config.js file that filters views is shown below:

 
window.tmsData('config.js', {
   views: { filter: [ 'all', 'by date', 'by author'] }
});
 

The configuration file also allows control of which fields are displayed for a particular form by:

  • explicitly listing the fields to display, in display order;

  • explicitly listing fields to display along with the labels to display for the fields;

  • providing a JavaScript function that accepts an array of field names and returns an array of fields to show in one of the above formats.

Below is an example of a simple config.js file that filters fields and defines field labels for the displayed fields:

 
window.tmsData('config.js', {
    forms: 
        {
        'Main Topic':
            {
                'fields': [
                    {name: 'Created', label: 'Date of publication'},
                    {name: 'Subject', label: 'Topic'}
                ]
            }
        }
});
 

More detailed examples of field and view filtering are included in the example config.js file that ships with the product.

To make life easier while you’re developing view and field filters, the filters on both the main list of views and on a document can be toggled off and on by Shift-Double-Clicking the main Export header bar. This feature can be helpful to see the full list of fields available when modifying filters, without needing to save the config.js and reload the application.

If you have more questions about this, or anything is unclear, feel free to contact technical support by emailing techsupport@teamstudio.com.