New features, improvements and bug fixes done for version 4.9.0Table of Contents
User related changes
New Functionality
Issue [HDC-XXXX]
Document Content Search
Issue [HDC-XXXX]
Introduction
A new type of search is introduced called “Content Search”.
All documents added to the system will now be scanned for text content. This content is then indexed and becomes searchable.
Locations of documents that support content search:
attachments
background drawings
notes in redline and change requests
Usage
Open the advanced search view:
On the Search window, select Content search:
Type in your query (minimum of 4 letters) and hit “Search” button or press Enter key.
Search results:
View (“Eye icon”) can be used to locate the result in the main explorer
Object Information (“Tag icon”) can be used to view full metadata of “owner object”
Type: represents a 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: represent 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 a part of Note located on a drawing (either Redline or Change Request)
Location: access all paths where the document is located
Path: quick view for the path where the object is located (note: only first path is displayed. Red asterix at the end of the path indicates that there are more paths available -use the location view to examine all paths)
Name: Name of the owner document (where the attachment is linked to or where the Note is present)
Class Name: Type/Class of the owner object
Configuration
Content search is performed based on default configuration, that can be changed in the:
System Settings → System Services → Search
General
In General settings, an Indexing language can be selected. The language that matches most of the content in the system should be selected.
If you have a lot of mixed content, better results can be obtained by selecting “Simple” indexing.
Each change of this setting will result in a system wide update of the index. (this operation will not rescan the documents)
File Index Status
Indexable formats
Predefined shapes: Arrow and Balloon
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, simply 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 further details, refer to the Styles section.
Balloons: A balloon is composed 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 the 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 function similarly to those in the Labels section. Changes to line width or color apply to all existing arrows and balloons, while font family and size alterations only impact newly created balloon texts, retaining any changes made thereafter.
Utilizing a nominal drawing scale is beneficial when aiming for specific pixel font sizes on printouts produced at a declared scale.
When set to Auto, the nominal drawing scale determines the font size for new balloons based on a fraction of the current drawing's extent 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 an 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 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, on the Manage Grid Filters view, please select the filter and then use Share function.
This view is shown automatically when a new filter is saved, or by using Filter menu and 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, please open up a drop down Filter menu and click on a desired filter.
This filter will be applied to current Grid View. If the filter applies to a different class, a 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:
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)
Indicate in object metadata which fields are editable
Issue [HDC-4556]
A new system option is available to indicate if 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 displayed 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 is 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.
That means that for a precise view of read-only fields in the child class, such tab should be used and not 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 setting to control visibility of object/document tabs in Grid View.
New option Grid View - Show All Tabs is placed in 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.
Display geolocation information for objects (NOT DONE YET)
Issue [HDC-4495]
By using the Object Information panel, users can now check if there is a geolocation stored for that object.
Data displayed is specific to a selected system version. Data can be displayed in native format or in WGS84 reference system.
Verify spots option
Issue [HDC-4419]
It sometimes happens that some spots, after importing to FM Access, get into the wrong place (due to units or insertion points mismatch).
This will cause an effect in the viewer where nothing is shown at first glance.
But the groups of spots can be placed in opposite corners of a drawing, so the initial zoom tries to show the whole extents.
If this happens, you can activate the Verify Spots option.
When checked, enter Edit mode and then use the Reload button from the toolbar.
If the Verify function encounters separated groups of spots, then 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.
Change Requests related changes
New Functionality
Issue [HDC-XXXX]
Data Exchange changes
New Functionality
Issue [HDC-XXXX]
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) is a unique identifier for an object. In a typical scenario, it should never be changed and must remain consistent across all integrated systems.
There were several limitations with this property, as 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.
Support in Quick Search
Now, any object can be found using QuickSearch and 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: A search by MasterGUID will be performed if the query string is a valid GUID.
Partial match is not supported in this type of search.
Support in Advanced Search
Advanced search functionality now enables users to search for specific objects using their GUIDs.
Every object class now includes a new system field called MasterGUID, which is 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.
Select edit button located next to a GUID field:
Note:
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
Several API calls now support the direct use of MasterGUID instead of ObjectClass and ObjectId.
If an integrated system has access to MasterGUID, there is no need to go through the object translation process to obtain the internal ID. This simplifies and streamlines API interactions.
HOPA Calls
A MasterGUID can be used to identify object. ObjectId and ClassId are not needed in that case.
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:
{ "metadata": { "hdid": 3989, "space_id": "101", "space_name": "101", "space_descr": "KORRIDOR 22", "space_bra": 25.79, "space_nta": 22.04, "space_bta": 25.3, "space_guid": "8a71f4f5-0548-4670-8f56-24ef3cbc016a", "space_ru_nr": "403-13-2063" }, "contentType": 0, "contentId": 0, "securityMask": 71, "ssid": 1, "classId": 135, "objectId": 3989, "objectName": "101", "systemGuid": "e5668597-eceb-4e11-8b38-483f56350bfe" }
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}
Bug fixes and other improvements
paste link here
API Changes
(check /apidocs for more details about new/changed webservices)
Issue [HDC-XXXX] - Issue name
Old Webservice:
METHOD /PATH
New Webservice:
METHOD /PATH