Document toolboxDocument toolbox

Release notes for version 4.9.0

New features, improvements and bug fixes done for version 4.9.0

Table of Contents

User related changes

Introducing Content Search: Making Documents Searchable

Issue [HDC-4407

Introduction

A new type of search, "Content Search," has been introduced. This process involves scanning all documents (of supported formats) added to the system for their text content, indexing the content, and making it searchable.

Documents that support content search are located in:

  • Attachments

  • Background drawings

  • Notes in redline and change requests

Usage

Open the advanced search view:

image-20240228-131200.png

On the Search window, choose Content search:

Enter your query (minimum of 4 letters) and click the "Search" button or press Enter key.

image-20240228-130931.png

Search results:

  • View (Eye icon): This feature can be used to locate the result in the main explorer.

  • Object Information (Tag icon): Use this option to view the full metadata of the "owner object."

  • Type: Represents the type of file that was found (e.g. PDF, Word, Excel, etc).

  • File Name: Represents the found file name.

  • File Title: If possible to extract, represents a title found in the document (e.g. Word document title).

  • Object: Represents a type of owner object:

    • Drawing - The text was found in a background drawing

    • Attachment - The text was found in a file that is stored as an Attachment

    • Note - The text was found as part of a Note located on a drawing (either Redline or Change Request)

  • Location: Provides access to all paths where the document is located.

  • Path: Offers a quick view for the path where the object is located. Please note that only the first path is displayed. A red asterisk at the end of the path indicates that there are more paths available – use the location view to examine all paths.

  • Name: Denotes the name of the owner document (where t he attachment is linked or where t he Note i s present).

  • Class Name: Reflects the Type/Class of t he owner object

Configuration

Content search is performed based on default configuration, that can be changed in the:

System Settings → System Services → Search

General

In the General settings, you can select an Indexing language. It is recommended to choose the language that matches the majority of the content in the system.

If you have a lot of mixed content, selecting the "Simple" indexing option can yield better results.

Please note that changing this setting will trigger a system-wide update of the index. However, it will not rescan the documents.

 

File Index Status

The file index status provides a list of all files in the system that can potentially be indexed for search. You can use the filter buttons to select files in a specific state.

Please take note of the Index all / Index selected buttons, which allow you to re-read the content of the files. It's important to be aware that running this command for all files in the system might be time-consuming.

 

Indexable Formats

The indexable formats list includes all the supported formats for indexing.

Predefined shapes: Arrows and Balloons

Issue [HDC-4236] Text function with frame and arrow

New features have been introduced in the FMA vector drawing interface: arrows and balloons, which can be utilized in both overlay and redline drawings.

These elements are created on the current layer and can be accessed conveniently through the Draw section of the Viewer toolbar.

 

Arrows: Arrows consist of a dot marking the beginning and an arrowhead marking the end.

To draw an arrow, sketch it from the starting point to the endpoint. The shape and size of these markings are fixed, with dimensions derived from the width of the arrow line.

For more information, please refer to the Styles section.

 

Balloons

A balloon consists of balloon text and a balloon pointer, with the arrowhead marking the end of the pointer. The text is automatically framed.

To create a balloon, first click where the pointer should point, then draw the line up to where you want the text and click again.

This action initiates a dialog for editing the balloon text, which can be closed using the Close button.

The balloon pointer and frame are dynamically linked; the pointer is clipped to the frame's boundary, and moving the text adjusts the pointer line accordingly.

Text anchor adjustments can be made to achieve your desired connection effect between the line and frame.

 

Size & Styles: Common styles for arrows and balloons can be defined in the Arrows section of System Settings on the FMA Administration page.

 

These styles work in a similar way to those in the Labels section. Adjustments made to line width or color affect all existing arrows and balloons, whereas changes in font family and size only affect newly created balloon texts, retaining any subsequent modifications.

Using a nominal drawing scale is advantageous when targeting specific pixel font sizes on printouts produced at a specified scale.

When set to Auto, the nominal drawing scale establishes the font size for new balloons based on a fraction of the current drawing's total size.

Save & Share Grid View filters

Issue [HDC-4347

Classic grid filtering available in column menus was now removed. Filter Bar should be used to perform all filtering tasks.

Filter management menu

A drop down filter menu is available to perform the following operations:

  • View saved filters list

  • Open all saved filters

  • Save currently set filter in a Grid view as a new Saved filter

  • Reset filter in current class

  • Reset filter in all class tabs

Saving a filter

Define a filter in a Grid View:

Note that the tab Rum (2) shows a filter icon, indicating that the content is filtered. You can also see two columns that have filter values set.

A filter is now ready and will be reused across other Rum tabs, for example when changing the Floor object.

To save a filter for later use, please select Save current filter As from the filter drop down:

A new filter dialog is opened:

Fill in the name and select Add to save the filter.

Sharing Filters

In order to make the filter available to other users in the system, please follow these steps:

  1. On the Manage Grid Filters view, select the filter.

  2. Then, use the Share function.

This view is displayed automatically when a new filter is saved or by using the Filter menu and selecting More… function:

Each filter includes an icon that indicates if this is filter created by current user, or if its a filter shared by other user.

 

On the user/groups list, please select desired audience:

 

Using Saved Filters

To use a saved filter, simply open the drop-down Filter menu and select the desired filter.

The selected filter will be applied to the current Grid View. If the filter applies to a different class, the tab will be changed automatically.

If current view does not have objects of a given class that the filter applies to, a message will be shown to indicate this:

You might need to change a perspective to the one that includes also this class of objects (for example, from Document to Object perspective)

 

Global administration of Saved Filters

A system administrator can review, share and delete all system filters defined by users.

In order to do so, please go to Admin Panel → Presentations → Grid Filters:

 

 

To enable users to share filters with others, it's essential to have the Share User Items permission (located under Administrator permissions).

Modified objects list improvements

Issue [HDC-4542

Modified objects list for the given version has received some additional improvements:

  • New column: HyperDoc ID

  • New column: Master GUID

  • New button: View Object Properties for the selected object as a pop-up window

  • Export all changes to Excel Report (tab separated by class)

 

Introducing Read-Only Field Indicator in Object Properties View and Grid List

Issue [HDC-4556

A new system option has been introduced to indicate whether a field is read-only in the Object Properties view and in the column headers of the Grid List.

When a user has editing permissions for an object, a padlock icon will be shown next to any field that is not available for editing (i.e., set to read-only for that user).

If the entire object is not available for editing by the user, the padlock icons will not be displayed.

Here's an example of read-only fields in the Object Properties view:

Example in the GridView:

Please note that for the Parent class tabs like Document, a padlock icon will be visible according to the parent's class Read-Only FLS, not child classes.

This means that to view read-only fields in the child class accurately, you should use such tab instead of the parent class.

 

The read only fields are now also shown in the Object Edit Form as read only / disabled fields:

You can enable or disable this option in the System Settings by navigating to System Settings → General Settings → User Interface: Indicate read-only fields

 

Option to display all tabs in Grid view

Issue [HDC-4548

New System and User settings have been introduced to regulate the visibility of object/document tabs in Grid View.

A new option, Grid View - Show All Tabs, is now available within the User Profile window.

When this option is enabled, Grid View will include all allowed tabs (even if the count is 0). If it's disabled, only tabs with content will be shown.

Troubleshooting Imported Elements in FM Access: Using Verify Spots to fix drawing

Issue [HDC-4419

It sometimes occurs that certain elements, after being imported into FM Access, end up in the wrong location (due to unit or insertion point mismatches).

This can lead to a situation where nothing is initially displayed for the viewer.



But the groups of spots can be positioned in opposite corners of a drawing, causing the initial zoom to attempt to display the entire extents.

In such cases, you have the option to activate the Verify Spots feature.

When you've finished checking, enter Edit mode and then click the Reload button on the toolbar.

If the Verify function finds isolated groups of spots, this window will appear:


Click Yes if you want to check those groups of spots. You will be zoomed in to the first group of spots.


Click "Yes" to delete those spots if they are incorrect or unnecessary, or click "No" to leave them and zoom in to the next group of spots.

After removing problematic spots, the drawing should display correctly.

System Administration changes

Allow to change Internal group name in FM Access 

Issue [HDC-4433]

Changing group name in Groups panel from FM Access is now possible. 

Panel listing groups now also includes information about Group Category.

  • System Group - built-in system group (name can be changed, but the function of the group will be dictated by its Type).

  • User Group - user-defined group.

Group Types:

  • System users - always includes all system users.

  • Standard - members are controlled by a system administrator.



Changed name will also be reflected in the security administration panel:

 Warning: make sure your group mappings reflect the new group names. (Identity Providers - Mappings) 



Improved MasterGUID (FMGUID) Handling

MasterGUID (FMGUID) serves as a unique identifier for an object. In a typical scenario, it should never be changed and must remain consistent across all integrated systems.

Previously, there were limitations with this property since it was not stored as part of the object's metadata, and the identifier was maintained as unique across versions and drafts.

This release introduces several improvements to how we handle this identifier and expands the user's capabilities regarding it.

Now, any object can be found using QuickSearch along with its associated MasterGUID.

QuickSearch will automatically check if a query is a GUID and, if so, return any matching results from the MasterGUID registry.

Note: If the query string is a valid GUID, a search by MasterGUID will be conducted.

It's important to note that partial match is not supported in this type of search.

The advanced search functionality has been enhanced to allow users to locate specific objects using their GUIDs.

A new system field named MasterGUID has been added to every object class, making it searchable.

Note: When a GUID field is selected, a query string must be a valid GUID. 

Edit MasterGUID

In rare cases where objects are registered with an incorrect MasterGUID, you can update the MasterGUID from the object edit form.

Please note that this operation will update the master object registry, resulting in the selected object having a new GUID registered across the system, affecting all versions and drafts. Exercise caution when performing this operation.

To perform this action:

  1. Select the edit button located next to the GUID field.

    Note: 

    • The GUID field cannot be updated together with other metadata.

    • In addition to edit permissions for the object, an Administrator role is required. (Access Basic Admin Operations)

Change the GUID and save. 

MasterGUID in API Calls

Many API calls now allow the direct use of MasterGUID instead of ObjectClass and ObjectId.

If an integrated system has access to MasterGUID, there is no need to undergo the object translation process to obtain the internal ID. This simplifies and streamlines API interactions.

HOPA Calls

A MasterGUID can be used to identify an object, eliminating the need for ObjectId and ClassId in that case.

Sample call: http://localhost:8080/HopaGetView4Object?guid=2a58a5bc-0b46-4ae1-8f4f-85492d3d984d&DocumentForSpot=1&Width=600&Height=801&SpotMarginPercent=122&psetId=17

 

Samples

Update object metadata by GUID:

PUT /object/byguid/json

{ "metadata": { "space_descr": "KORRIDOR 22", "space_bra": 25.79, "space_nta": 22.04, "space_bta": 25.3 }, "systemGuid": "e5668597-eceb-4e11-8b38-483f56350bfe" }

Check if object(s) exists by GUIDs

POST http://localhost:8080/api/object/byguids

Payload

{ "list": [ { "systemGuid": "a026793b-fac4-4599-a52f-be81fe9971f3" }, { "systemGuid": "ab91b37c-7cc4-4a5a-861e-9d3aa8aff9f8" }, { "systemGuid": "a8c47e9b-63a8-456e-a1a6-9b330e669961" }, { "systemGuid": "1b121e84-8c73-4072-8328-df07e5675231" }, { "systemGuid": "d159e390-b0d2-4247-81af-2e056d258474" } ] }

Response

{ "list": [ { "classId": 134, "objectId": 5420, "systemGuid": "d159e390-b0d2-4247-81af-2e056d258474" }, { "classId": 134, "objectId": 5416, "systemGuid": "a026793b-fac4-4599-a52f-be81fe9971f3" }, { "classId": 134, "objectId": 5418, "systemGuid": "1b121e84-8c73-4072-8328-df07e5675231" }, { "classId": 134, "objectId": 5425, "systemGuid": "a8c47e9b-63a8-456e-a1a6-9b330e669961" }, { "classId": 134, "objectId": 5415, "systemGuid": "ab91b37c-7cc4-4a5a-861e-9d3aa8aff9f8" } ] }

 

Fetch Metadata for object by GUID

GET http://localhost:8080/api/object/byguid/json/e5668597-eceb-4e11-8b38-483f56350bfe

Response: 



A list of services supporting GUID as an object identifier can be found in API Docs by query "byguid".

Object API

  • /object/byguid/eraseproperty

  • /object/byguid/json

  • /object/byguid/linkedspots

  • /object/byguid/erase/{guid}

  • /object/byguid/group/json

  • /object/byguid/json/{guid}

  • /object/byguid/link/{srcGuid}

  • /object/byguid/linkedspots/{guid}

  • /object/byguid/links/{guid}

  • /object/byguid/path/{guid}

  • /object/byguid/undelete/{guid}

  • /object/byguid/unlink/{srcGuid}

  • /object/byguid/default/{guid}/{perspectiveSetId}

  • /object/byguid/defaulthyperlink/{guid}/{entityId}

  • /object/byguid/group/properties/json

  • /object/byguid/hyperlink/{srcObjectId}/{dstGuid}

  • /object/byguid/link/{dstGuid}/{srcGuid}

  • /object/byguid/list/json/{guid}

  • /object/byguid/versions/json/{guid}

  • /object/byguid/link/default/{guid}/{perspectiveSetId}

  • /object/byguid/link/default/{dstClassId}/{dstObjectId}/{srcClassId}/{srcObjectId}/{perspectiveSetId}

Perspective API

  • /perspective/byguid/entityarea/xls

  • /perspective/byguid/json/{perspectiveId}/{contextGuid}

  • /perspective/byguid/metadata/json/{perspectiveId}

  • /perspective/byguid/metadata/xls/{perspectiveId}

  • /perspective/byguid/metadata/json/{perspectiveId}/{contextGuid}

  • /perspective/byguid/metadata/json/{perspectiveId}/{requiredObjectId}

  • /perspective/byguid/metadata/selected/{outputType}/{perspectiveId}

  • /perspective/byguid/parent/json/{perspId}/{contextGuid}

  • /perspective/byguid/subtree/json/{perspId}/{contextGuid}

  • /perspective/byguid/tree/json/{perspId}/{contextGuid}

  • /perspective/byguid/metadata/json/{perspectiveId}/{contextGuid}/{requiredObjectId}

Presentation API

  • /presentation/byguid/json/{drawingId}/{presentationId}

  • /presentation/byguid/filters/json/{drawingId}/{presentationId}

Search API

  • /search/byguid/advanced/objects/{childClassId}

Autosum plugin triggered by Import

Issue [HDC-4612]

Plugin Auto Sum can now be set to be run on event: ImportFinished.

Imports run with plugin event will have Stage: CallPlugin in Imports Details.

Option to set HQL queries case insensitive

Issue [HDC-4403

When utilizing advanced search or composing HQL definitions for filters in presentations, operators such as "equals" or "starts with" were strictly case-sensitive.

Now, administrators have the ability to ensure that all HQL queries will be case insensitive if desired.
To modify HQL case sensitivity, navigate to the Admin Panel/System/System Settings/System Services/HQL Settings and select checkbox for option for Case Insensitive Matching.

 

Bug fixes and other improvements

  • HDC-4608 Corrections in text attributes

  • HDC-4428 Master GUID issues when importing the same IFC into several Drafts

  • HDC-4283 Secure erase does not delete all objects in subtree mode - paths error

  • HDC-4455 Layer styles are removed from template components

  • HDC-4419 Drawings are not visible until zoom extent is used

  • HDC-4550 Printouts fixes for measurements style

  • HDC-4554 Wrong redlining text line width calculated in case of fixed width

  • HDC-4583 Changed objects window "dies"

  • HDC-4604 Error while importing object location data in a same version multiple times

  • HDC-4607 Bug in "Add to object set" function on right click in Gridlist

  • HDC-4460 TDXM: compare md5 of existing attachment with the one from imported package to ommit adding same file to repository again