Repository: Managing Files Centrally

Overview

The INUBIT Repository is used to store and provide data centrally. These data can be used by all Process Engine users and process users as well as modules and applications that have been realized with the INUBIT software. Data visibility can be controlled on file level.

On delivery, the Repository is provided with mapping templates for use with various system connectors, with generation patterns for generating Workflows based on BPDs and with graphics for reporting and business modeling.

In the Repository you can e.g.

  • store BPM rules, unit tests, XML schemas, generation patterns and watchpoint files,

  • store graphics and scripts and make them available via URL.

Switching the Repository to a Database

When delivered the Repository of the INUBIT software stores its data into the file system. You must switch the Repository storage to a database before using the INUBIT software productively.

You must use the same connection configured for the cache database in the ibis.xml configuration file.

Refer to

For switching the Repository to a database management system a repository.xml.<database>.<CLUSTER|SINGLE> configuration file for each database supported and the mode of operation is included in the distribution.

When switching to a MySQL/MariaDB database, ensure that the allowed file size fits at least the size of the largest file that is expected. To do so, for example for MySQL, set the property max_allowed_packet in section [mysqld] in the files my.cnf (Linux) or my.ini (Windows). By default, max_allowed_packet=1M is set which limits the supported file size to 1 MByte. With the following setting, for example, you can set the supported file size to 16 MByte for a MySQL database:

[mysqld]
max_allowed_packet=16M

After changing the value, you have to restart the MySQL/MariaDB server.

Even after switching the Repository to a database, the index files are written into the file system. These files can be re- generated at anytime by restarting the INUBIT Process Engine so that losing these files is not critical.

Prerequisites

You have copied a JDBC 4.0 driver for your database to the directory <inubit-installdir>/server/process_engine/lib.

For an Oracle database, Oracle JDBC driver 11.2.0.4 or higher is required.

When installing the INUBIT software

Proceed as follows

  1. Rename the file <inubit-installdir>/server/ibis_root/conf/repository.xml, for example to repository.xml.old.

  2. Rename the file <inubit-installdir>/server/ibis_root/conf/ repository.xml.<database>.<CLUSTER|SINGLE> to repository.xml.

If the INUBIT installation already exists

Proceed as follows

  1. Export the Repository files from the Global area and from all own user directories.

  2. Stop the INUBIT Process Engine.

  3. Delete the following directories:

    <inubit-installdir>/server/ibis_root/ibis_data/repository/repository
    <inubit-installdir>/server/ibis_root/ibis_data/repository/workspaces

    You must not delete the directory <inubit-installdir>/server/ibis_root/ibis_data/repository/deploy.

  4. Adjust the configuration file repository.xml, as described above in the section When installing the INUBIT software.

  5. Start the INUBIT Process Engine.

  6. Import the Repository data again.

    Depending on the index size, creating the index can take some time.

External Access to the Repository

For accessing Repository files there are the following options:

  • Accessing via URL

    • Importing or including style sheets in XSLT Converter style sheets.

    • Referencing XML schemas in Technical Workflows

    • Open graphics or any other files via HTTP/Web browser or WebDAV

  • Accessing via Web Service

You find information about the available operations on https://<server>:<port>/ibis/listServices.
For further information on how to access the web services and how to configure the password, refer to Listing Active Web Services.
On the web page, you will find the IBISInternalRepositoryService hyperlink to the WSDL of the Repository as well:
https://<server>:<port>/ibis/services/IBISInternalRepositoryService?wsdl
In the request for the following single repository objects, the user account and the password must be mentioned.

  • getObjects

  • getDirectory

  • getObjectVersions

  • existsChild

For all other objects, the request can be made anonymously.

Repository User Interface

Call up

INUBIT Workbench > Repository tab

workbench user guide 728 0

The Repository consists of the following areas:

  1. View (DropDown list)

    For filtering files which are displayed in the Repository. You can select one of the following views:

    • All
      Displays all data stored in the Repository.

    • BPM Rules
      Displays all existing rules and rule sets and allows for creating new rules and rule sets. Refer to Using BPM Rules.

    • Schema files
      Displays all XML schema files.

    • Unit test files
      Displays all test cases and test suites and allows for creating and starting test suites. Refer to Managing Test Cases in Test Suites.

    • Watchpoint files
      Displays all watchpoint files (*.wpf files). Watchpoint files contain message and variables and can e.g. be stores during testing from all watchpoint dialogs or from the XPath assistant directly into the Repository.

  2. Search Clicking the button in the sidebar opens the Search docking window. Refer to Searching in the Repository.

  3. Directory tree The Repository files are grouped into two main directories:

    Files stored in the Global directory can neither be tagged nor exported or deployed together with a special workflow tag. Furthermore, you cannot set access rights for these files. Do not store costumer- or workflow- specific data into the Global directory.

    Only the root user is permitted to change or import files in or into the /Global/System directory tree. If another user tries to import files into this directory tree, these files are ignored without an error message. Exception: Each entitled user is allowed to change the files in the /Global/System/Diagram Images directory or import files into it.

    • Global
      This directory stores files that are required for proper functioning of the INUBIT Process Engine or for its modules, for example templates for input messages or graphics for the reporting.
      At the first start-up of the Process Engine, these files and directories are created. Afterward, the root user only can change these files or overwrite them during an import.
      For all other users the access is denied or files to be imported are ignored.
      Refer to Updating a Directory in the Global Repository Hierarchy.

    • Root
      This directory stores individual files of users/user groups.
      The structure of the directory corresponds to the structure of the Process Engine users and user groups: For all user groups and users, directories are automatically created.
      As a linked user only the directories of the additional user group are displayed. The directories of your primary user group are not visible.
      For information about linked users refer to Assigning Users to Additional User Groups and Editing the Assignment. The directories are automatically deleted as soon as users/a user group is deleted.

    • File icons in the directory tree

      • workbench user guide 729 1 System file; only the root user can edit it.

      • workbench user guide 729 2 Read-only file; the user logged in can only read it. It is not possible to open this file for editing.

      • workbench user guide 729 3 Editable file; the user logged in can edit it.

  4. Directory area: [Name of the directory] Displays all files of the directory that is selected in the directory tree. Refer to Editing Files in the Repository.

  5. Details area If a file is selected, the following tabs are displayed, depending on the file type:

    • Details tab
      Displays properties like e.g. file name, UID, and path for access via URL. Refer to Details of a Repository File.

    • Versions tab
      Displays versions of the file. For restoring, downloading, moving and deleting tags.

      • Usage tab (only in the BPM rules view)* Shows in which Technical Workflows and Business Process Diagrams the selected BPM rule is used.

      • Content tab (only in the All view)
        Displays the contents of the file (e.g. for XML schema files) or its ASCI representation.

Storing Files in the Repository

Files stored in the Global directory can neither be tagged nor exported or deployed together with a special workflow tag. Furthermore, you cannot set access rights for these files. Do not store costumer- or workflow- specific data into the Global directory.

Only the root user is permitted to change or import files in or into the /Global/System directory tree. If another user tries to import files into this directory tree, these files are ignored with an error message. Exception: Each entitled user is allowed to change the files in the /Global/System/Diagram Images directory or import files into it.

Access rights for Repository files
For accessing files in the Repository from workflows the following rules apply:

  • Access from workflows belonging to a group:
    Only Repository files can be accessed which are stored in the groups’ own area or in the global area. Repository files stored in other groups’ areas cannot be accessed.

  • Access from workflows belonging to a user:
    Access is possible to Repository files of the user, her group or higher-level group provided that the role of the user permits a reading and/or writing access.

Adding Files and Folders from your File System

Prerequisites

In the Repository, you have selected the view All.

Proceed as follows

  1. In the Repository, open the folder in which you want to save content.

  2. In the directory area, open the context menu and choose Add file or directory. A wizard is displayed.

  3. Click workbench user guide 730 1 to select a file or directory.

    • If you select a directory, this is added to the Repository with all files and subdirectories. You can change the name of the directory.

    • If you select a file, you can change the file name and specify the MIME type and encoding.

  4. Specify whether the files in the directory or the selected file are supposed to be readable anonymously
    Refer to Anonymous readable in section Properties of a Repository File.

  5. Click Next.

  6. The following action depends on whether you are saving a directory or a file:

    • Directory:
      Enter a comment. The comment is saved together with the version created initially. Click OK to close the dialog and save the directory.

    • File:
      The editor opens for editing the file.
      After editing, click Finish to close the dialog and save the file.

Creating and Adding a New File

Prerequisites

In the Repository, you have selected the view All.

Proceed as follows

  1. In the Repository, open the folder in which you want to create and save the file.

  2. In the directory area, open the context menu and choose Add file or directory…​.
    → A wizard is displayed and guides you through the next steps.

Creating and Adding a Text-Based File in the Repository

Prerequisites

In the Repository, you have selected the view All.

Proceed as follows

  1. In the Repository, open the folder in which you want to save content.

  2. In the directory area, open the context menu and choose Add file or directory. A dialog opens.

  3. Enter a file name and specify the MIME type and encoding of the file.

  4. Specify whether the file is supposed to be readable anonymously so that access to the file is possible via its URL.
    Refer to Properties of a Repository File.

  5. Click Next. The editor opens.

  6. Specify the content of the file. Refer to Using the Editor.

  7. Click Finish. A dialog opens in which you can enter a comment for the initial version.

  8. Click OK to save the file in the Repository.

Adding Messages and Variables from the Clipboard

You can copy content to the INUBIT clipboard and save it directly to the Repository.

Proceed as follows

  1. Save the content that you want to store in the Repository in the INUBIT clipboard. This is possible e.g. in the following components:

    • XSLT Converter

    • Editor

    • Watch Point Dialog

  2. Open the Repository and choose the view All.

  3. Open the folder in which you want to save content.

  4. In the directory area, open the context menu and choose Insert from clipboard:

  5. Refer to Adding Files and Folders from your File System.

Saving Test Results

After testing, you can save the test results including the corresponding variables from each watch point directly in the Repository.

Editing Files in the Repository

You can edit Repository files with text-based formats (XML schema, XML, TXT), BPD templates, BPM rules, unit tests and watch point files directly in the Repository.

Alternatively, you can replace Repository files with content from the clipboard or files from the file system.

A new version is created after each change.

Editing content

Proceed as follows

  1. Select the directory that contains the file to be changed. The file is displayed in the area Directory: [name of directory].

  2. Double-click the file. The file is opened in an editor.

  3. After editing, click OK to enter a comment for your changes and to save the changes.

Replacing content

Proceed as follows

  1. In the directory area, select the file that you want to overwrite.

  2. In the context menu, choose Properties. The dialog opens. Refer to Properties of a Repository File.

  3. Next to the Update content with field, click the workbench user guide 730 1 button. A file explorer opens.

  4. Navigate to the file that you want to load and click Open.
    → A new version of the Repository file is generated with the content of the selected file.

Updating a Directory in the Global Repository Hierarchy

Usage

To synchronize files in directories in the local Global Repository Hierarchy with the files stored in the corresponding directories on the Process Engine. This function can be used, for example, if repository files in a Global directory are updated after having patched the INUBIT installation.

When updating a directory, files in the selected Global directory and its subdirectories are updated as new version, added, or deleted according to the content of the directories on the Process Engine.

This function is not available for other directories than Global directories.

Prerequisites

You are logged in to the Workbench as INUBIT administrator root.

Proceed as follows

  1. Open the Repository tab.

  2. Navigate to the Global directory you want to update.

  3. Right-click the directory you want to update.

  4. Choose the Update directory menu item from the context menu.
    → The directory including its subdirectories is updated. No further message is displayed.

Restoring File Versions in the Repository

You can restore different versions of Repository files if you notice that you do not want to accept the changes made after all and want to go back to the previous version.

Proceed as follows

  1. In the directory tree, navigate to the directory that contains the file with the version to be restored.

  2. On the right in the directory tree, select the file of which you want to restore a version.

  3. Select the Versions tab. All file versions are displayed here.

  4. Select the version that you want to restore and open the context menu.

  5. Choose Restore. A confirmation prompt opens.

  6. Click OK to accept the content of the selected version into a new head version.
    → A new head version is created with the content of the selected version.

Deleting and Restoring Files from the Repository

Removing

You can delete files and directories by pressing the Delete button or choosing Delete from the context menu.

The deleted files are moved into an attic directory first. To delete files permanently, you must delete them from the attic directory.

Restoring

To restore files and directories, drag them from the attic directory back into the directory tree.

Deleting File Versions

Usage

To improve the performance of the Repository, you can delete old file versions.

Proceed as follows

  1. In the Workbench, display the Repository tab.

  2. Navigate to a folder below the Root folder you have access to.

  3. Select one or more files or folders.

  4. Open the context menu and choose Delete versions.
    → The Delete versions dialog is displayed and the files with versions of the selected folder(s) are listed in the Select the files section.

  5. Unselect all files whose older versions are not to be deleted.

  6. In the Retain versions section, choose an option to specify which versions are not to be deleted.

    • Amount of latest versions
      Enter a positive integer, for example 10, to indicate how many of the youngest versions, for example 1`0`, shall be retained.

    • All younger versions including version
      Enter a version number, for example 10. The version with the given number and all younger versions retain.

    • All tagged versions
      Only untagged versions are deleted.

    • All younger versions including
      Enter a date and a time. The version(s) created on the given date and time as well as all younger versions retain.

  7. Click OK. → The dialog closes. All versions of the selected files being not specified in the Retain versions section are deleted and will no longer be displayed in the Repository.

Exporting Files from the Repository

You can export Repository files and directories as compressed (*.zip) XML files to exchange them between different INUBIT installations and INUBIT versions.

Files stored in the Global directory can neither be tagged nor exported or deployed together with a special workflow tag. Furthermore, you cannot set access rights for these files. Do not store costumer-specific or workflow-specific data into the Global directory.

Proceed as follows

  1. Select directory, node, or file

    • Select one or more directories or nodes in the directory tree.

      When selecting a group or a user node, all the tags related to the group or the user are available for exporting. When selecting a directory node and selecting one or more files in this directory, all tags assigned to the file(s) is/are available for exporting. When selecting a directory node and not any file, only the HEAD tag is available for exporting.

    • Select one or more files in a directory.

      When selecting one or more files inside a directory node, all the tags corresponding to the file(s) is/are available for exporting.

  2. Open the context menu and choose Export.
    → The export wizard opens and guides you through the export.

Downloading Files from the Repository

You can download Repository files from the INUBIT Process Engine and save them locally. You can choose whether files are supposed to be saved in the original format or compressed as a *.zip file.

You cannot download BPM rules. Use the export function to copy these e.g. from another INUBIT Process Engine.

Downloading a head version

Proceed as follows

  1. Select one or more files in a directory.

  2. Open the context menu and choose Download.
    → The download wizard opens and guides you through the process.

Downloading other versions

Proceed as follows

  1. Select a file in the Directory area.

  2. Open the Versions tab.

  3. Open the context menu of the required version and choose Download. A file explorer opens.

  4. Navigate to the requested storage location and choose Save.

Comparing Files in Repository Directories on Different Process Engines

Prerequisites

Both process engines must be installed in version INUBIT 8.0.

Proceed as follows

  1. On the INUBIT Workbench, open the Repository tab.

  2. Navigate to the Repository directory for which you want to compare the files containing in the directory and its subdirectories if any.

    You cannot compare a single file within a directory.

  3. Open the context menu and choose the item Compare with another Process Engine.

  4. Choose the tag you want to compare and click Next.

  5. For comparison, enter the connection details for the remote process engine. Only the IP address or the DNS name of the remote system on which the Process Engine is running must be specified as the Server name.

  6. If you select HTTPS as protocol, all necessary security settings must be made by clicking on the SSL…​ button.

    If you enter incorrect details, the wizard page will display a corresponding message. You should correct your settings until the message disappears.

  7. When all the settings are correct, click Next.
    → The Comparison results dialog is displayed.

    Differences between source files and target files are highlighted in color as follows:

    • Filename black: file is identical on both the source system and the target system.
      If only the Modified on date and time differs, the filename is displayed in black

    • Filename green: file is missing on the target system.

    • Filename red: file is missing on the source system.

    • Filename blue: file differs between source system and target system.
      Additionally, you can filter the filenames as follows:

    • All: depending on the Comparison result, all files are highlighted in color.

    • Same: only files that are identical on both systems are displayed.

    • Differences: only files that differ on both systems are displayed.

  8. To display the details, double-click the filename in the list.

    workbench user guide 735 1
  9. If the file content differs, click on the Compare button below to display the Document comparison.

    Only the contents of XML files can be compared.

    workbench user guide 736 0

    On the bottom, the Differences window is displayed by default. Here, the differing lines are displayed detailing the differences.
    By clicking the Differences button, you can hide/display the Differences window.
    To display the Original document and/or the Compared document, click the corresponding button on the top left and on the top right, respectively.

  10. Click OK to close the window.

Accessing Files in the Repository via URL or path

All files in the Repository can be accessed - either by reading or by writing - via a URL. In that way, you can, for example, use graphics from the Repository in forms and access Repository files for example, by HTTP, VFS and Web Services Connectors, via WebDAV or import/include commands in style sheets.

Prerequisites

  • Depending on the access type, the following prerequisites might be required:

  • The file must be readable anonymously.

  • When accessing, a log in with user name and password is required, for example, via BasicAuth or WS-Security UsernameToken.

  • HTTP access or WebDAV access to the Repository must be activated, refer to Configuring Access to the Repository.

Depending on the access type, the URL conforms one of the following schemas:

  • HTTP and REST Connector
    Access read only (GET)

    Prerequisites

    • URL and file name are encoded. http(s)://<ServerName>:<Port>/ibis/servlet/Repository/<repository path>

      Example

      https://<server>:<port>/ibis/servlet/Repository/Global/System/Mapping%20Templates/ITA%20Archiv%20Connector/QueryInsert.xml
  • VFS Connector
    Read and write access using the repository path

    Prerequisites

    • You have to specify user data to get writing access.

  • WebDAV and REST Connector
    Read (GET) and write access (PUT)

    Prerequisites

    • URL and file name are encoded and should look like this:
      http(s)://<ServerName>:<Port>/ibis/servlet/RepositoryWebdav/<repository path>

      Example https://localhost:8000/ibis/servlet/RepositoryWebdav/Global/System/Mapping%20Templates/ITA%20Archiv%20Connector/QueryInsert.xml

  • File import/include in XSLT converter style sheets; Referencing of XML schemas in Technical Workflows
    inubitrepository://<repository path>

    Example
    inubitrepository:///Global/System/Mapping Templates/ITA Archiv Connector/QueryInsert.xml

  • Web Services Connector
    Read and write access
    All operations and parameters are possible, hence writing metadata (version comment, file description). The Anonymous readable flag can be set.
    URL and file name are not needed to be encoded.
    Refer to External Access to the Repository.

  • XPath Function
    Access read only and from the local instance only
    Repository files can be used easily, for example, in XSLT stylesheets, XPath expressions of Demultiplexer conditions, or mapping of variables.
    The files should be anonymously readable, URL and file name are not needed to be encoded.

    Call up

    XPath in XPath context: fn:doc("inubitrepository://<Repository_path>") XPath in XSLT context: xslt:document("inubitrepository://<Repository_path>")

Copying the repository path of a file

Proceed as follows

  1. Display the Repository tab.

  2. Double-click the file in the Repository. The Properties dialog opens.
    Refer to Properties of a Repository File.

  3. Click workbench user guide 737 0 next to the Path field. The path is copied to the clipboard.

  4. Press Ctrl+V to paste the contents of the clipboard into your form, for example.

Dialog Descriptions for the Repository

Properties of a Repository File

The Properties dialog shows the file properties. You can, for example, change file name and content, copy its path and the check sum as well as specify file access rights.

After each modification a new file version is created automatically.

  • File name
    Displays the current file name. Changes in this field result in renaming the file while the versions remain.

  • Update contents with (button)
    This button opens a file explorer for selecting the file that is going to replace the content of the currently selected file.

  • Description
    Any text describing the use of the file. The description is displayed in the Details tab.

  • MIME type

    The MIME type of a file is assigned automatically when adding it to the Repository. If the MIME type was not assigned correctly, you can change it in this field.

    The MIME type mapping table is used for assigning the MIME type. If you upload files into the Repository with a file type yet unknown to the table, you can set the file type manually in the MIME type field.

    Alternatively, you insert the MIME type and the corresponding file endings into the MIME type mapping table. Then, on the next file upload of such a file, the MIME type is assigned automatically.

  • Encoding
    For changing the character encoding of the file.

  • Path
    Refer to Accessing Files in the Repository via URL or path.

  • Size
    File size.

  • Modified on
    Date and time of the last modification.

  • Modified by
    INUBIT user name of the person who last modified the file.

  • MD5 checksum
    Maps the file contents onto a sum; changing any character of the contents results in a different check sum. The check sum is used for

    • ensuring the file integrity in any communication between the INUBIT Workbench and the INUBIT Process Engine.

    • verifying whether the local file is faultless after having downloaded it.

You can copy the check sum to the clipboard and, for example, assign it to a variable for ensuring that a specific file from the Repository is used in a workflow.

  • Anonymous readable
    For modifying the file’s access rights. The file must be readable by anonymous users, so that it can be accessed via its URL.

Accessing non-anonymous readable files

Accessing a repository file using the FormProxyServlet via a Web Application session is dependent on where the Technical Workflow diagram with the Web Application Connector is located.

  • The Technical Workflow diagram with the Web Application Connector is located in a higher-level group directory.
    A non-anonymously readable repository file can be read by the FormProxyServlet only if the file is stored in the corresponding higher-level group directory of the Repository.

  • The Technical Workflow diagram with the Web Application Connector is located in a user directory.
    All non-anonymously readable repository files can be read by the FormProxyServlet irrespective of the group directory where they are stored.

Details of a Repository File

The Details tab displays all details of the file properties, e.g. the internal and external URLs and paths. The properties are read-only and cannot be edited in the tab.

Searching in the Repository

workbench user guide 739 1

For searching files and file contents in the Repository.

  • File name
    For entering the complete name of the searched file.

  • Keyword
    For entering the searched string or parts of it. Use the following wildcards:

    • Asterisk (*): Replaces any number of characters before or after the file name or keyword.

    • Question mark (?): Replaces a single character before or after the file name or keyword.

      Both wildcards can be used together before and after a key word.

  • Search (button)
    Starts the search.

  • Search result
    Displays all file names which meet the given search criteria.