Archer Enhanced User Experience
This offering is provided through the Archer Exchange to enhance your existing Archer implementation. The Archer Exchange provides offerings to expand the use of Archer solutions into new business processes and address specific industry, geographic, regulatory, or technical requirements.
Archer has begun an internal initiative to build on many of the present Archer solutions by employing a set of best practices to simplify and enhance the end user experience. This effort entails making changes via configuration to Archer Applications, Questionnaires, and Sub-forms, including, but not limited to, removing extraneous fields from end-user facing layouts, designing consistent layout sections across multiple modules, streamlining workflows where necessary, and adding prescriptive, stage-specific help text where appropriate to ease data entry.
In addition, this team developed a suite of standard objects that can be deployed on selected Archer Applications, Questionnaires, and Sub-Forms which modernize the user experience of the Archer Record page without requiring architecting the Archer Platform again. These Layout Independent Custom Objects can be automatically deployed across layouts through a form present on a Sync Layouts custom iView that is installed with the Archer Enhanced User Experience Tool & Utility package, which removes the need to install specific packages to modify individual Archer modules.
On this page
On this page
Release notes
Release Version |
Published Date |
Notes |
---|---|---|
Archer 2025.02 |
April 2025 |
Recertified on Archer platform version 2025.02 and fixes an issue where the required icon was not visible for reference fields when that field had help text enabled. |
Archer 6.13 P2 |
September 4, 2023 |
Sync Layouts Custom iView code has been updated to version 2023.08.22.1000 and revised as follows:
Remove Layout Objects Custom iView code has been updated to version 2023.08.22.1000 and revised as follows:
Reformat Layout Custom Object code has been updated to version 2023.07.03.1200 and revised as follows:
Open Content URL Links In New Window Custom Object code has been updated to version 2023.07.03.1500 and revised as follows:
Formula Inspector Custom Object code has been updated to version 2022.09.08.1000 and revised as follows:
Record Highlights Script Custom Object and Record Highlights CSS Custom Object custom objects have been added to the Layout Independent Custom Objects section of the Archer Accessories Objects application included as part of this package. Archer Record Highlights Formulas 2023-09-04.xlsx has been added to the ZIP file included as part of this Tool & Utility. |
Archer 6.11 P1 |
August 25, 2022 |
Reformat Layout Custom Object code has been updated to version 2022.08.20.1600 and revised for better handling of Read Only fields set due to ACLs. |
Archer 6.11 P1 |
August 12, 2022 |
Initial Release |
Overview
The current set of Archer Layout Independent Custom Objects which can be deployed within this release of the Archer Enhanced User Experience Tool & Utility are as follows:
Reformat Layout Custom Object: A custom object added to each layout within a module that houses JavaScript/jQuery, which dynamically rearranges and restyles the existing controls on the layout upon page load. The goal is to modernize the record page by making changes to the layout dynamically after the page loads, many of which cannot be made via the Application Builder itself.
The Reformat Layout Custom object makes the following changes to the Record Page Layout:
-
Limits section width to a maximum of 1600px.
-
Moves field labels above field values and sets the font color of these field labels to light gray.
-
Indents field content by 5px inside of field names.
-
Sets the row height at a minimum of 60px.
-
Adds spacing between rows.
-
Increases overall field width.
-
Adds a white background around fields with rounded borders.
-
Moves help icons to the right of field names.
-
Changes the font size from Open Sans to Lato.
-
Changes the font size of field content to Lato 16px Medium.
-
Changes the style of sections, tabsets, and grids.
Open Content URL Links in New Window Custom Object: A custom object added to each layout within a module that houses JavaScript/jQuery, which dynamically adds an Open in New Window hyperlink next to each existing Content URL link on the layout. This allows users to open a cross-referenced record in a new pop-up window using the deep link to the specific record.
Formula Inspector Custom Object: A custom object added to each layout within a module that houses JavaScript/jQuery, which adds a Formula Inspector button to the More Options menu on the right side of the record layout page. System or Configuration Administrators can facilitate the viewing of formulas associated with calculated fields directly on the front-end record page layout. Clicking this button calls Archer's API to return the Calculation Details of all calculated fields within the level and adds a formula inspector link next to each calculated field on the layout. Clicking the inspector link displays a modal pop-up that displays the formula associated with the specified calculated field.
Record Highlights Script Custom Object and Record Highlights CSS Custom Object: Two custom objects which add support for positioning and styling Record Highlights. Record Highlights is a configurable calculated text field within Archer Applications or Questionnaires that displays the names and values of up to three highlighted values.
Key features and benefits
With the Archer Enhanced User Experience Tool & Utility, you can:
-
Enhance the existing record layouts of selected Applications, Questionnaires, and Sub-Forms through the addition of the Reformat Layout, Record Highlights Script, and Record Highlights CSS Custom Objects, before any platform-level changes to the Record Page in future Archer releases are available. These changes will enhance the experience of your Archer users by providing them with a more modern data interface for interacting with records within the Archer platform.
-
Enhance existing Archer navigation using the Open Content URL Links in New Window Custom Object, by allowing users to open cross-referenced records in new Archer windows, instead of requiring users to navigate away from the current record they are viewing.
-
Allow Archer System and Configuration Administrators the ability to view the formulas associated with calculated fields directly from a record page, using the Formula Inspector Custom Object. This facilitates record specific troubleshooting, as Administrators will not be required to open the module in the Application Builder and browse the specific field’s formula either through the Calculations tab or from viewing the field’s Calculation Properties.
-
Easily deploy or remove one or more of the newly released Archer Layout Independent Custom Objects across selected module layouts within a single Archer Instance without needing to make changes to those modules, using the traditional Archer Package Installation Process.
Prerequisites (On-Demand Application (ODA) and system requirements)
Components |
Prerequisites |
Archer Use Case(s) | Any |
Archer Applications | Any |
Uses Custom Objects | Yes |
Archer Solution Area(s) |
Any |
Requires Archer On-Demand Application (ODA) License |
One (1) Archer On-Demand Application required for Archer Accessories Objects. Note: This ODA is used during installation to store the design of the three Layout Independent Custom Objects that are deployed using the Archer Accessories - Sync Layouts Custom iView. This ODA is only used to store the design of the custom objects. No records will be entered into the ODA, and the ODA does not need its status changed to Production. |
Archer Requirements |
Archer Platform Release 2025.02 |
Supported Archer Environments |
|
Archer Enhanced User Experience Tool & Utility components
Applications
Application |
Description |
Archer Accessories Objects |
Archer Accessories Objects is an On Demand Application used during installation to store the design of the three Layout Independent Custom Objects that are deployed using the Archer Accessories - Sync Layouts Custom iView. This ODA is only used to store the design of the custom objects. No records will be entered into the ODA, and the ODA does not need its status changed to Production. |
Workspaces
Workspace |
Description |
Archer Accessories |
The Archer Accessories workspace is installed as an optional workspace to house the Archer Accessories Solution and its one On Demand Application, Archer Accessories Objects. The workspace also contains a single dashboard, Archer Accessories-Layout Management, which houses two custom iViews, Archer Accessories - Sync Layouts and Archer Accessories - Remove Layout Objects, which can be used to add or remove sections and non-field layout objects to/from one or more Target Layouts. |
Solutions
Solution |
Description |
Archer Accessories |
The Archer Accessories solution is installed to house the Archer Accessories Objects On Demand Application. |
Dashboards
Dashboard |
Description |
Archer Accessories - Layout Management |
The Archer Accessories - Layout Management dashboard, part of the Archer Accessories workspace, houses two custom iViews, Archer Accessories - Sync Layouts and Archer Accessories - Remove Layout Objects. Archer System Administrators can use this to add or remove sections and non-field layout objects to/from one or more Target Layouts. |
Custom iViews
iView |
Description |
Archer Accessories - Sync Layouts |
The Archer Accessories - Sync Layouts custom iView, part of the Archer Accessories - Layout Management dashboard, displays a form that Archer System Administrators can use to add or synchronize sections and non-field layout objects within those selected sections from a selected Source Layout (e.g. Archer Accessories Objects: Archer Accessories Objects: Default Layout) to one or more selected Target Layouts within any combination of Archer Modules (Applications, Questionnaires, or Sub Forms).The iView is leveraged as part of the Archer Enhanced User Experience Tool & Utility to add a section named Layout Independent Custom Objects to the bottom of one or more Layouts within an Archer instance and add any combination of five pre-defined custom objects (Reformat Layout Custom Object, Formula Inspector Custom Object, Open Content URL Links In New Window Custom Object, Record Highlights Script Custom Object, and Record Highlights CSS Custom Object) which have been defined the Archer Accessories Objects ODA to that newly created section. This custom iView utilizes Archer’s Internal API to make layout changes in bulk, which removes the need for Archer System/Configuration Managers to manually add these sections and custom objects to selected Module Layouts or to deploy specific packages to introduce these objects to target Layouts. |
Archer Accessories - Remove Layout Objects |
The Archer Accessories –Remove Layout Objects custom iView, part of the Archer Accessories - Layout Management dashboard, displays a form which Archer System Administrators can use to permanently delete non-field objects and sections defined in a selected Source Layout (e.g. Archer Accessories Objects: Archer Accessories Objects: Default Layout) from one or more or Target Module Layouts. Non-field Layout Objects can be set either be permanently deleted or moved off layout; all layout objects (fields and non-field objects) will be moved to the off-layout tab in cases where a Section is marked to be deleted, unless the non-field object has been explicitly selected for deletion. |
Installing the Archer Enhanced User Experience Tool & Utility Package
Step 1: Prepare for the installation
-
Ensure that your Archer system meets the following requirements:
-
Archer Platform Release 2025.02 or later.
-
-
Read and understand "Packaging Data" in the Archer Platform Help.
Step 2: Install the package
Installing a package requires that you import the package file, map the objects in the package to objects in the target instance, and then install the package. For more information, see Installing the Application Package.
Step 3: Test the installation
Verify that the components noted above (Workspace, Dashboard, custom iViews, Solution, and Application) are present and can be accessed by an Archer System Administrator.
Installing the package
Task 1: Back up your database
There is no Undo function for package installation. Packaging is a powerful feature that can make significant changes to an instance. Archer strongly recommends backing up the instance data base before installing a package. This process enables a full restoration if necessary.
An alternate method for undoing a package installation is to create a package of the affected objects in the target instance before installing the new package. This package provides a snapshot of the instance before the new package is installed, which can be used to help undo the changes made by the package installation. You must manually delete new objects created by the package installation.
Task 2: Import the package
-
From the menu bar, click
> Application Builder > Install Packages.
-
In the Available Packages section, click Import.
-
Click Add New, then locate and select the package file that you want to import.
-
Click OK. The package file is displayed in the Available Packages section and is ready for installation.
Task 3: Map objects in the package
Important: This step is required only if you are upgrading to a later version of the Archer Enhanced User Experience Tool & Utility.
-
From the menu bar, click
> Application Builder > Install Packages.
-
In the Available Packages section, select the package you want to map.
-
In the Actions column, select the package. The analyzer runs and examines the information in the package. The analyzer automatically matches the system IDs of the objects in the package with the objects in the target instances and identifies objects from the package that are successfully mapped to objects in the target instance, objects that are new or exist but are not mapped, and objects that do not exist (the object is in the target but not in the source).
Note: This process can take several minutes or more, especially if the package is large, and may time out after 60 minutes. This time-out setting temporarily overrides any IIS time-out settings set to less than 60 minutes.
When the analyzer is complete, the Advanced Package Mapping page lists the objects in the package file and corresponding objects in the target instance. The objects are divided into tabs, depending on whether they are found within Applications, Solutions, Access Roles, Groups, Sub- forms, or Questionnaires.
-
On each tab of the Advanced Mapping Page, review the icons that are displayed next to each object name to determine which objects require you to map them manually.
Icon | Name | Description |
---|---|---|
|
Awaiting Mapping Review |
Indicates that the system could not automatically match the object or children of the object to a corresponding object in the target instance. Objects marked with this symbol must be mapped manually through the mapping process. Important: New objects should not be mapped. This icon should remain visible. The mapping process can proceed without mapping all the objects. Note: You can execute the mapping process without mapping all the objects. This icon is for informational purposes only. |
|
Mapping Completed |
Indicates that the object and all child objects are mapped to an object in the target instance. Nothing more needs to be done with these objects in Advanced Package Mapping. |
|
Do Not Map |
Indicates that the object does not exist in the target instance, or the object was not mapped through the Do Not Map option. These objects will not be mapped through Advanced Package Mapping and must be remedied manually. |
|
Undo |
Indicates that a mapped object can be unmapped. This icon is displayed in the Actions column of a mapped object or object flagged as Do Not Map. |
-
For each object that requires remediation, do one of the following:
-
To map each item individually, on the Target column, select the object in the target instance to which you want to map the source object. If an object is new or if you do not want to map an object, select Do Not Map from the drop-down list.
Important: Ensure that you map all objects to their lowest level. When objects have child or related objects, a drill-down link Is provided on the parent object. You must map child objects before parent objects. For more details, see "Mapping Parent/Child Objects" in the Archer Platform Help. -
To automatically map all objects in a tab that have different system IDs but the same object name as an object in the target instance, do the following:
-
-
In the toolbar, click Auto Map.
-
Select an option for mapping objects by name.
Option |
Description |
Ignore case |
Select this option to match objects with similar names regardless of the case of the characters in the object names. |
Ignore spaces |
Select this option to match objects with similar names regardless of whether spaces exist in the object names. |
c. Click OK.
The Confirmation dialog box opens with the total number of mappings performed. These mappings have not be encommitted to the database yet and can be modified in the Advanced Package Mapping page.
d. Click OK.
To set all objects in the tab to Do Not Map, in the toolbar, click Do Not Map.
To undo the mapping settings for any individual object, in the Actions column, click Undo.
When all objects are mapped, the icon is displayed in the tab title. The
icon is displayed next to the object to indicate that the object will not be mapped.
6. Verify that all other objects are mapped correctly.
7. (Optional)To save your mapping settings so that you can resume working later, see "Exporting and Importing Mapping Settings" in the Archer Platform Help.
8. Once you have reviewed and mapped all objects, click .
9. Select I understand the implications of performing this operation and click OK.
The Advanced Package Mapping process updates the system IDs of the objects in the target instance as defined on the Advanced Package Mapping page. When the mapping is complete, the Import and Install Packages page is displayed.
Important: Advanced Package Mapping modifies the system IDs in the target instance. Any Data Feed sand Web Service APIs that use these objects will need to be updated with the new system IDs.
Task 4: Install the Package
All objects from the source instance are installed in the target instance unless the object can not be found or is flagged to not be installed in the target instance The Log Messages section provides a list of conditions that may cause objects not to be installed. The Package Installation Log section displays a log entry.
-
From the menu bar, click
> Application Builder > Install Packages.
-
In the Available Packages section, locate the package file that you want to install, and click Install.
-
In the Configuration section, select the components of the package that you want to install.
-
To select all components, select the top-level checkbox.
-
To install only specific global reports in an already installed application, select the checkbox associated with each report that you want to install.
-
Note: Items in the package that do not match an existing item in the target instance are selected by default.
-
Under the Install Option drop-down menu, select an option for each selected component. To use the same Install Option for all selected components, select an option from the top-level drop-down list.
Note: If you have any custom fields or formatting in a component that you do not want to lose, select Do not Override Layout. You may have to modify the layout after installing the package to use the changes made by the package.
-
To deactivate target fields and data-driven events that are not in the package, in the Post-Install Actions section, select the Deactivate target fields and data-driven events that are not in the package checkbox. To rename the deactivated target fields and data-driven events with a user-defined prefix, select the Apply a prefix to all deactivated objects checkbox, and enter a prefix. This can help you identify any fields or data-driven events that you may want to review for cleanup post-install.
-
Click Install.
-
Click OK.
Task 5: Review the package installation log
-
From the menu bar, click
> Application Builder > Install Packages.
-
In the Package Installation Log tab, click the package that you want to view.
-
In the Package Installation Log page, in the Object Details section, click View All Errors.
Note: To view individual logs, in the Errors column of the log you want to view, click the Failures link or Warnings link. Clicking View All Errors, Failures, or Warnings opens the specific errors on a different page.
-
Click the Export icon to export the log file.
-
Click Close.
Deploying the Archer Accessories Objects using the Archer Enhanced User Experience Tool & Utility
Accessing the Archer Accessories Workspace
Task 1: Add the Archer Accessories Workspace to Your Personalized Workspace Display
-
From the menu bar, click the User menu, and select Workspace Display.
-
Select the Archer Accessories workspace, drag the workspace into your preferred order, and click Save.
-
From the navigation menu, click the Archer Accessories workspace. (Depending on the number of work-spaces already displayed, it may be accessible by clicking the ellipses menu.) Archer displays the Accessories - Layout Management dashboard.
Adding the Archer Accessories Layout Independent Custom Objects to Target Module Layouts
Task 1: Synchronize Layouts with the Archer Accessories – Sync Layouts Custom iView
-
From the Archer Accessories – Layout Management dashboard, access the Archer Accessories - Sync Layouts iView.
Important: If at any time while on the Archer Accessories - Layout Management dashboard, the browser window or the individual iViews are resized or if the left side navigation is shown or hidden, a Leave site message may appear. This message appears in lieu of automatically reloading the iViews, which would discard any work in progress. When this message appears, click Cancel to prevent the iViews from reloading.
-
Click the Selecting Source Layout, Selecting Target Layouts, Mapping, and Syncing Layouts headers to review the instructions.
-
Click Start Sync Layouts to start the synchronization configuration process.
-
Set the Archer Accessories Objects: Archer Accessories Objects: Default Layout as the Source Layout.
-
In the Select Source Module menu, select Archer Accessories Objects.
-
In the Select Source Level menu, select Archer Accessories Objects.
-
In the Select Source Layout menu, select Default Layout.
-
-
Select the Target Layouts to deploy Layout Independent Custom Objects to.
-
Select one or more Target Modules (Applications/Questionnaires/Sub-Forms) that you want to synchronize or click Select All.
-
Click Get Target Levels to retrieve the Levels associated with the Target Modules selected in the previous step.
-
Select one or more Target Levels that you want to synchronize or click Select All to select all Levels associated with the Target Modules selected in the previous step.
-
Click Get Target Layouts to retrieve the Layouts associated with the Target Levels selected in the previous step.
-
Select one or more Target Layouts that you want to synchronize or click Select All to select all Layouts associated with the Target Levels selected in the previous step.
-
Click Create Layout Syncing Table to populate the Layout Syncing Table.
-
The first three columns will be populated with each Tab, Section, and Layout Objects present in the selected Source Layout.
-
An additional column will be added for each Target Layout selected in the previous step.
-
-
-
Conduct Source to Target Layout Mapping
-
Select the Source Layout Objects to be synced to the selected Target Layouts.
-
In the Section Name column, select Layout Independent Custom Objects.
-
In the Layout Objects column, select one or more of the Layout Objects (Reformat Layout Custom Object, Open Content URL Links In New Window Custom Object, Formula Inspector Custom Object, Record Highlights Script Custom Object, Record Highlights CSS Custom Object) to add or update in the Target Layouts you select.
Note: The two Record Highlights related custom objects only need to be deployed to Layouts which host Record Highlights fields.)
-
-
Map Source sections to Target sections using one of the following methods, Automap or Manual sync:
-
Click Automap Sync.
-
If a section with the same name as the Source section exists in the Target Layout, the Automap Sync function automatically selects that section.
-
If a section with the same name as the Source section does not exist in the Target Layout, Archer selects the last section in the General tab and adds a new section after that selected section, effectively placing it at the bottom of the layout outside of any tab sets.
-
-
Manually select the checkbox in the cell that is the intersection of the Source Section and Target Layout to reveal a dropdown containing all the Source Sections which appear in the Target Layout.
-
If the selected Target Layout already contains a section whose name matches the name of the selected Source section, that section is automatically selected.
-
Otherwise, select the section that you want a newly created section to be inserted after or select *TOP* to add the newly created section to the top of the specific tab set.
-
When you select a Target section, the cell in which the dropdown resides is populated with the selected Target section. Selecting the checkbox again hides the dropdown control to save space, but the mapping is still performed.
-
-
-
After mapping is complete, click Sync Layouts to use Archer's internal API to manage the selected Target Layouts.
-
A dialog box appears that displays a Summary of Pending Changes. After reviewing the pending changes, click Confirm to continue or click Cancel to go back to the previous step to modify selections or abandon the Layout synchronization process. (If issues are present that prevent Target Layouts from being updated, the box displays the issues and an OK button, instead of Confirm and Cancel buttons.)
-
If confirmed, the synchronization process loops through each selected Target Layout and adds/updates the selected Source Sections. A message appears at the bottom of the form that displays the status of each layout synchronization.
-
For each selected Source Layout Object, the syncing function checksif a layout object with the same name exists in the selected Target Layouts.
-
If the Target Object already exists, its properties (name, alias, row/column position, description, custom object code, etc.) will be updated to reflect the properties of the same-named object in the Source Layout.
-
If the object does not already exist in the selected Target Layout, a new layout object is created and placed in the Target Layout.
-
-
Removing the Archer Accessories Layout Independent Custom Objects Target Module Layouts
Task 1: Remove Layout Objects with the Archer Accessories – Remove Layout Objects Custom iView
-
From the Archer Accessories – Layout Management dashboard, access the Archer Accessories - Sync Layouts iView.
-
Click the Selecting Source Layout, Selecting Target Layouts from Which to Remove Layout Objects/Sections, Selecting Layout Objects/Sections for Removal, and Removing Layout Objects/Sectionsdropdowns to review the instructions.
-
Click Setup Remove Layout Objects/Sections to start the layout object removal configuration process.
-
Set the Archer Accessories Objects: Archer Accessories Objects: Default Layout as the Source Layout.
-
In the Select Source Module menu, select Archer Accessories Objects.
-
In the Select Source Level menu, select Archer Accessories Objects.
-
In the Select Source Layout menu, select Default Layout.
-
-
Select the Target Layouts from Which to Remove Layout Objects/Sections
-
Select one or more Target Modules (Applications/Questionnaires/Sub-Forms) from which you want to remove layout objects or click Select All.
-
Click Get Target Levels to retrieve the Levels associated with the Modules selected in the previous step.
-
Select one or more Target Levels from which you want to remove layout objects or click Select All to select all Levels associated with the Target Modules selected in the previous step.
-
Click Get Target Layouts to retrieve the Layouts associated with the Levels selected in the previous step.
-
Select one or more Target Layouts from which you want to remove layout objects or click Select All to select all Layouts associated with the Levels selected in the previous step.
Note: If selecting all layouts, consider manually deselecting the Source Layout, if selected, unless your intent is to remove the Source Layout objects from the Source Layout itself.
-
Click Create Layout Object Removal Table to populate the Layout Object Removal Table.
-
Archer populates the first three columns with each Tab, Section, and Layout Objects present in the selected Source Layout.
-
Archer adds an additional column for each Target Layout selected in the previous step.
-
-
-
Select Layout Objects/Sections for Removal
-
This option allows you to delete sections, layout objects which appear within sections, or a combination of the two. To select the Layout Objects to delete from any same-named Target Layout in which it appears:
-
In the Layout Objects column, select each Layout Object (Reformat Layout Custom Object, Open Content URL Links In New Window Custom Object, Formula Inspector Custom Object, Record Highlights Script Custom Object, Record Highlights CSS Custom Object) you wish to delete from the Target Layouts.
These Layout Objects will only be deleted from the Target Layouts if they exist in a section whose name matches the source Section Name. Their presence is noted by hovering over an
icon which lists all the non-field Layout Objects in the Target Layout section.
-
-
To delete the Layout Independent Custom Objects section from all Target Layouts in which it appears:
-
In the Section Name column, select Layout Independent Custom Objects to delete it from the Target Layouts.
-
If the Section exists in the Target Layouts, its presence is noted by an X in the cell corresponding to the source Section and Target Layout.
-
If the Target Layout Section contains any Layout Objects, they are moved off layout unless they have been explicitly selected for deletion in the step above. Their presence is noted by a count of non-field (
) and field (
) layout objects. Hovering over the respective icons displays the names of the layout objects that exist in the Target Layout section.
-
-
-
-
Remove Layout Object/Sections
-
To remove Layout Objects and Sections after selections are complete, click Remove Layout Objects/Sections to use Archer's internal API to manage the Target Layouts.
-
A dialog box appears that displays a Summary of Pending Changes. After reviewing the pending changes, click Confirm to continue or click Cancel to go back to the previous step to modify selections or abandon the Layout removal process.
(If issues are present that prevent Target Layouts from being updated, those will be displayed, and an OK button will be shown in lieu of a Confirm and Cancel buttons.) -
If confirmed, the process loops through each selected Layout and removes/deletes the selected Sections/Layout Objects.
-
If non-field Layout Objects are marked for deletion, they are deleted from the corresponding selected Layouts.
-
If Sections are marked for deletion, any layout objects (both fields and non-field layout objects) are moved off layout.
Note: Fields are never deleted through this process; they can only be taken off layout.
-
-
Reviewing the Deployment of the Archer Accessories Objects
Reviewing the Layout Independent Custom Objects Section Added to Target Layouts
Task 1: Open a Module Layout with the newly added Layout Independent Custom Objects Section
-
From the menu bar, click
> Application Builder.
-
From the Manage Applications page, click on any of the Modules (Applications/Questionnaires/Sub-Forms) that were targeted in Adding the Archer Accessories Layout Independent Custom Objects to Target Module Layouts task.
-
After opening the Target Module, select the Level(s) and Layout(s) that were targeted during deployment. In the Layout Builder panel, scroll to the bottom of the layout, and validate that the Layout Independent Custom Objects section is present and populated with the Layout Objects that were selected for synchronization.
Repeat Step 3 for any other Module layouts you wish to validate.
Validating the Functionality of the Archer Accessories Layout Independent Custom Objects
Reviewing the Reformat Layout Custom Object Functionality
Task 1: Open a Record with the Reformat Layout Custom Object
-
Browse to a Module (Application/Questionnaire/Sub-Form) record that was targeted in the Adding the Archer Accessories Layout Independent Custom Objects to Target Module Layouts task by clicking on a record link from a report, search result page, or the Activity menu.
Task 2: Validate Reformat Layout Custom Object Functionality
-
From View mode, validate the following features on the Record Layout Page:
-
Section width limited to 1600px max – For browser widths greater than 1600 pixels, margins should appear to the left and right of the section content, which reduces the need to scan the full width of the screen to consume content. If the browser width is less than 1600px, no margins appear on the sides of the sections.
-
Field names above field values in light gray font – Field Names that previously appeared to the left of the field values are now moved above the field content.
-
Field content indented 5px inside of field names – Allows the Field labels to be scanned vertically without field content being intermixed.
-
Row height set at 60px minimum – Consistent minimum height for all rows.
-
Spacing added between rows – A spacer row is added between each field row to separate the bottom border of fields from the top border of fields in the next row.
-
Increased overall field width–A higher percentage of the section width is now devoted to field content.
-
Help Icons to the Right of Field Names–Help icons that were previously to the left of field labels are now placed to the right of the field label to left justify field labels, making it easier when scanning for fields vertically on the page, regardless of the presence of help icons. The icon is also modified to a light gray question mark enclosed in a circle.
-
Font changed from Open Sans to Lato – A more modern font is selected for better readability.
-
Font Size of Field Content Changed to Lato 16px Medium –The font size of field values is increased to improve readability and distinguish field content from the field label.
-
Changed style of sections, tab sets, and grids. The gray background color previously present in sections is removed, for a cleaner look. Tab set labels are rendered in all caps and the active tab is rendered in blue to distinguish it from other tabs. The grids header shading is removed and column headers are rendered in all caps to improve readability.
-
-
From Edit mode, validate the following features on the Record Layout Page:
-
Automatic hiding of the Main Navigation Menu (when using Classic Navigation) – When the record is placed into Edit mode, the Main Navigation Menu is hiddento provide more vertical space for data entry. The menu reappears when existing the record or switching to View mode.
-
Validate that column and row spans on questionnaire question fields, fields with advanced display formatting, report objects, etc. specified in the Application Builder are honored.
-
Validate that the section in which the Reformat Layout Custom Object (e.g., Layout Independent Custom Objects) is placed is hidden. (The Reformat Layout Custom Object includes code which automatically hides the section in which its placed without the need for an Apply Conditional Layout action to do it.)
-
-
Repeat the steps above for other layouts where the Reformat Layout Custom Object has been deployed.
Task 3: Validate Open Content URL Links in New Window Custom Object Functionality
-
Open a record with one or more cross-reference/related record fields present on the layout.
-
Validate that an Open In New Window icon appears after each cross reference hyperlink.
-
Click the icon. A pop-up window should appear with the selected in a New Window. The original browser window should still display the parent record.
-
Without closing the newly opened record, click back on the original browser window and validate that the icon corresponding to the record opened in the pop-up window is now colored green.
-
Click on the green
icon and validate that the focus is returned to the pop-up window.
-
Close the pop-up window and validate that the
icon returns to its default blue color.
Task 4: Validate Formula Inspector Custom Object Functionality
-
While logged in as a System Administrator or Content Administrator for a specific module, open a record that was targeted in the Adding the Archer Accessories Layout Independent Custom Objects to Target Module Layouts task, which contains at least one calculated field present on the layout by clicking on a record link from a report, search result page, or the Activity menu.
-
On the record page, click
. Select the blue Formula Inspector icon.
-
Verify that the record layout now shows Formula Inspector icons next to each calculated field.
-
Click on a formula inspector icon and validate that a pop-up box appears with the formula associated with the calculated field.
-
Click the icon to expand the Formula Inspector window to a larger size. Click the button to restore the window back to its original size.
Repeat Step 4 and 5 for additional calculated fields.
Adding Record Highlights Fields and Associated Custom Object to Applications
Record Highlights Field Overview
A Record Highlights field is a calculated text field which displays the names and values of up to three highlighted values. Record Highlights field rely upon the Record Highlights Script and Record Highlights CSS Custom Objects which defines the positioning and value-specific background colors of the elements.
Record Highlights - Associated Custom Objects
The definition and code for the Record Highlights Script Custom Object and Record Highlights CSS Custom Object custom objects can be found in the Layout Independent Custom Objects section of the Archer Accessories Objects application which gets installed as part of the Archer Enhanced User Experience Tool & Utility. The custom objects must be present on the layouts of any application or questionnaire layout on which you wish the Record Highlights field to appear.
Record Highlights Script Custom Object
-
A combination of JavaScript/jQuery which moves the Record Highlights element from its original location on the record layout (i.e. inside the hidden Layout Independent Custom Objects section) to the space above the record selector and to the right of the record name and the View/Save and any Advanced Workflow related elements.
-
If there is not enough space to the right of the View/Save and any Advanced Workflow-related elements, the Record Highlights element will be positioned below these elements on its own row.
-
No modifications will need to be made to the code of this custom object under typical circumstances. (It can be treated as a Layout Independent Custom Object.)
Record Highlights CSS Custom Object
-
A CSS which defines determines the layout and field value-specific accessible colors (provided by Archer’s Experience Design team) associated with the Record Highlights calculated field.
-
Can be treated as a Layout Independent Custom Object if styles for multiple fields across multiple modules are included in the same code.
Creating the Record Highlights Calculated Field
Task 1: Add a Record Highlights Text Field
-
From the menu bar, click
> Application Builder > Applications.
-
From the Manage Applications page, click on the application or questionnaire to which you wish to add Record Highlights (e.g. Findings).
-
On the Designer tab > Data Fields section, click + to add a new field.
-
In the Add New Field window:
-
In the Type field, select Text.
-
In the Name field, select Record Highlghts.
-
Click Create Field.
-
-
In the Properties panel, do the following:
-
In the Display Control field, select Multi-line text area.
-
In the Options section, select make this a calculated field.
-
-
In the Calculation Properties section, click the Edit (Pencil) icon to display the formula builder.
-
If Archer provided the calculation:
-
Open the Archer Record Highlights Formulas Excel Workbookincluded in the Archer Enhanced User Experience Tool & Utility ZIP file and see if there is a row whose Module Name value (in Column A) matches the name of the target Application. If a matching row exists, copy the value of the corresponding CalculationOrder.Formula cell (in Column E)by highlighting the text in the formula bar and clicking CTRL-C to copy, and then paste the formula into the Archer formula builder. (Copying the cell as opposed to highlighting and copying the text within the cell will add opening and closing double-quote characters and duplicate and double-quote characters present in the formula itself.)
For example, here is the calculation for the Record Highlights field for the Findings application:
CONCATENATE(
"<div class='RecordHighlights'>",
"<div class='Criticality-", SUM(SELECTEDVALUENUMBER([Criticality])), "'>",
"<div>Criticality</div>",
"<div>", IF(ISEMPTY([Criticality]),"Not Rated",[Criticality]), "</div>",
"</div>",
"<div class='Findings-Response-",
IF(CONTAINS(EXACT,[Response],VALUEOF([Response],"Accept Risk", "Remediate Risk")),"Both",
IF(CONTAINS(EXACT,[Response],VALUEOF([Response],"Accept Risk")),"Accept-Risk",
IF(CONTAINS(EXACT,[Response],VALUEOF([Response],"Remediate Risk")),"Remediate-Risk","No-Selection"))),
"'>",
"<div>Response</div>",
"<div>",
IF(CONTAINS(EXACT,[Response],VALUEOF([Response],"Accept Risk", "Remediate Risk")),"Remediate & Accept",
IF(CONTAINS(EXACT,[Response],VALUEOF([Response],"Accept Risk")),"Accept",
IF(CONTAINS(EXACT,[Response],VALUEOF([Response],"Remediate Risk")),"Remediate","Awaiting Response"))),
"</div>",
"</div>",
"<div class='Findings-Overall-Status-",
IF([Overall Status]=VALUEOF([Overall Status],"Closed"),"Closed",
IF([Overall Status]=VALUEOF([Overall Status],"Open"),"Open",
IF([Overall Status]=VALUEOF([Overall Status],"Rejected"),"Rejected",
IF([Overall Status]=VALUEOF([Overall Status],"Awaiting Review"),"Awaiting-Review","No-Selection")))),
"'>",
"<div>Overall Status</div>",
"<div>", IF(ISEMPTY([Overall Status]),"Not Set",[Overall Status]), "</div>",
"</div>",
"</div>")
-
-
If creating a formula which has not previously been defined by Archer:
-
Copy and paste the following template into the Archer formula Builder to create the shell of the Record Highlights field:
CONCATENATE("<div class='RecordHighlights'>",
"<div class='[HighlightClassPrefix]-", [HighlightClassSuffix], "'>",
"<div>[HighlightName]</div>",
"<div>", [HighlightValue], "</div>",
"</div>",
"<div class='[HighlightClassPrefix]-", [HighlightClassSuffix], "'>",
"<div>[HighlightName]</div>",
"<div>", [HighlightValue], "</div>",
"</div>",
"<div class='[HighlightClassPrefix]-", [HighlightClassSuffix], "'>",
"<div>[HighlightName]</div>",
"<div>", [HighlightValue], "</div>",
"</div>",
"</div>")
This uses Archer’s CONCATENATE function to create a concatenated string of text to render HTML for a parent DIV element with a class of RecordHighlights along with three nested DIV elements, one for each of the individual Record Highlight tiles you wish to display.
-
In the event you only need to display one or two Record Highlight tiles within a specific Application/Questionnaire, delete as many of the nested DIV blocks (four lines starting with "<div class='[HighlightClassPrefix]-" and ending with "</div>", (including the double-quote and ending comma characters) as needed so you are left with one or two child DIV elements.
-
-
Replace each of the [HighlightClassPrefix]text blocks (including the surrounding [] characters with beginning of the CSS class which corresponds to the individual Record Highlight tile you wish to display. This class value must have a corresponding entry in the RecordHighlightsCSSCustomObject which defines the value-specific background and font color of the displayed value. Class declarations cannot contain spaces, so multi-word field names will have corresponding classes typically prefixed with the field name but with - characters replacing spaces.
-
Replace each of the[HighlightClassSuffix]text blocks (including the surrounding [] characters with a formula that sets the suffix of the Record Highlight tile you wish to display. As stated above, this resulting class value must have a corresponding entry in the RecordHighlightsCSSCustomObject which defines the value-specific background and font color of the displayed value.
-
For Values List fields that have numeric values assigned to the text values (e.g. Criticality), the formula would be set to SUM(SELECTEDVALUENUMBER([Field Name]))., i.e.SUM(SELECTEDVALUENUMBER([Criticality]))in the case of the Criticality field.
-
Numeric values are leveraged as it cuts down on the number of IF functions needed in the Record Highlights formula.
-
Leveraging the SUM function, returns a value of 0 in cases where the field value is set to No Selection. A corresponding class can be created in the RecordHighlightsCSSCustomObject to format the DIV element in these cases.
-
Assuming Criticality Values List values for High, Medium, and Low, were set with corresponding numeric values of 3, 2, and 1, respectively, here are the corresponding CSS classes that would need to be present in the RecordHighlightsCSSCustomObject, assuming the [HighlightClassPrefix]was replaced with Criticality-:
.Criticality-3>div:last-child { background-color: var(--Purple800)!important; color: white!important; }.Criticality-2>div:last-child { background-color: var(--Orange800)!important; color: white!important; }
.Criticality-1>div:last-child { background-color: var(--Green600)!important; color: white!important; }
.Criticality-0>div:last-child { background-color: var(--Grey800)!important; color: white!important; }
-
-
For Values List fields that do not have numeric values assigned (e.g. Overall Status), a series of nested IF statements can be used to convert the specific Values List values to their corresponding CSS class values. In the case of the Overall Status field, the formula would be set to:
IF([OverallStatus]=VALUEOF([Overall Status],"Closed"),"Closed",IF([Overall Status]=VALUEOF([Overall Status],"Open"),"Open",
IF([Overall Status]=VALUEOF([Overall Status],"Rejected"),"Rejected",
IF([Overall Status]=VALUEOF([Overall Status],"Awaiting Review"),"Awaiting-Review","No-Selection"))))
-
IF functions are leveraged rather than a single field value to convert values that contain spaces or other characters not allowed in CSS class names to CSS friendly values.
-
In the example above, here are the corresponding CSS classes that would need to be present in the RecordHighlightsCSSCustomObject, assuming the [HighlightClassPrefix]was replaced with Findings-Overall-Status-:
.Findings-Overall-Status-Closed>div:last-child { background-color: var(--Green600)!important; color: white!important; }.Findings-Overall-Status-Open>div:last-child { background-color: var(--Gold600)!important; color: white!important; }
.Findings-Overall-Status-Rejected>div:last-child { background-color: var(--Red800)!important; color: white!important; }
.Findings-Overall-Status-Awaiting-Review>div:last-child { background-color: var(--Orange800)!important; color: white!important; }
.Findings-Overall-Status-No-Selection>div:last-child { background-color: var(--Grey600)!important; color: white!important; }
-
-
-
Replace each of the [HighlightName] text blocks (including the surrounding [] characters with text that corresponds to the individual Record Highlight tile name you wish to display.
-
This could be set to the name of a field or any text that is appropriate.
-
Note: Given the field type of the Record Highlights field is text, no translation is being performed, meaning that name of the Record Highlight tile is static.If the tile name is set to a field name, that value is not being translated if the user displays the record page in a different language through Archer’s language functionality.
-
-
Replace each of the [HighlightValue] text blocks (including the surrounding [] characters with a formula that corresponds to the individual Record Highlight tile value you wish to display.
-
For values that are always populated, a simple field assignment can suffice, but in cases where a value is needed to be displayed in the place of empty values or if you wish to display a different value then the value of the field, IF functions can be leveraged.
-
For example, if the value of the Overall Status values list needs be displayed for a specific Record Highlights tile value, with a value of Not Set being shown in cases where the Overall Status is set to No Selection, the corresponding formula would be:IF(ISEMPTY([Overall Status]),"Not Set",[Overall Status])
-
-
Note: Given the field type of the Record Highlights field is text, no translation or localization is being performed, meaning that Values List values will be passed in the default language of the Application/Questionnaire and dates will have the default format (e.g. MM/DD/YYYY) unless manipulated via a DATEFORMAT or similar function.
-
-
-
-
Click VALIDATE to validate the formula.
-
Click OK to exit the Formula Builder.
-
Click the Save icon to save the field definition.
-
Drag the field onto the layout in the Layout Independent Custom Objects section.
-
Click
to save the layout.
Creating the Record Highlights Custom Objects
Task 1 (if needed): Modify the Record Highlights CSS Custom Object CSS
-
If modifications are needed to the Record Highlights CSS Custom Object (i.e. if configuring a new Record Highlights field that has not already been defined in the Archer Record Highlights Formulas Excel spreadsheet that comes with this package),open the Archer Accessories Objects application in the Application Builder.
-
In the Designer Tab > Layout Builder panel, select the RecordHighlightsCSSCustomObjectcustom object in the Layout Independent Custom Objects section, scroll down to the Custom Object Properties section in the right pane and copy the contents of the Code field.
-
Paste the code copied in the step above into a text editor or IDE (e.g. Notepad++, Notepad, Visual Studio Code, etc.) to make edits to the RecordHighlightsCSSCustomObject code.
-
Scroll to the bottom of the file and insert new blocks of class declarations above the closing</style> tag.
-
The class declarations for Individual Record Highlight values are in one of the following formats:
-
For Values List fields that have numeric values assigned to the text values (e.g. Application Criticality Rating):
.Application-Criticality-Rating-5>div:last-child { background-color: var(--Purple800)!important; color: white!important; }.Application-Criticality-Rating-4>div:last-child { background-color: var(--Red800)!important; color: white!important; }
.Application-Criticality-Rating-3>div:last-child { background-color: var(--Orange800)!important; color: white!important; }
.Application-Criticality-Rating-2>div:last-child { background-color: var(--Gold600)!important; color: white!important; }
.Application-Criticality-Rating-1>div:last-child { background-color: var(--Green600)!important; color: white!important; }
.Application-Criticality-Rating-0>div:last-child { background-color: var(--Grey800)!important; color: white!important; }
-
In this case the 5-0 values correspond with the High-to-Low and No Selection values of the values list.
-
Numeric values are leveraged as it cuts down on the number of IF functions needed in the Record Highlights formula.
-
-
For Values List fields that do not have numeric values assigned (e.g. Application Criticality Rating):
.Applications-Compliance-Rating-Not-Rated>div:last-child { background-color: var(--Grey800)!important; color: white!important; }
.Applications-Compliance-Rating-In-Process>div:last-child { background-color: var(--Gold600)!important; color: white!important; }
.Applications-Compliance-Rating-Low>div:last-child { background-color: var(--Purple800)!important; color: white!important; }
.Applications-Compliance-Rating-Medium>div:last-child { background-color: var(--Orange800)!important; color: white!important; }
.Applications-Compliance-Rating-High>div:last-child { background-color: var(--Green600)!important; color: white!important; }
.Applications-Compliance-Rating-No-Selection>div:last-child { background-color: var(--Grey600)!important; color: white!important; }In this case the values correspond 1:1 with the values list text values and includes a value for No Selection.
-
-
The background-color styles leverage CSS variables which reference a pre-defined palette of accessible colors provided by Archer’s Experience Design Team.These variables and their associated colors are declared at the top of the CSS and can be modified if necessary.
:root {
--Grey800: #616161; /*Not Rated*/
--Purple800: #7a0b07; /*High*/
--Red800: #ab2222; /*Medium High*/
--Orange800: #b85c00; /*Medium*/
--Gold600: #bd8c0f; /*Medium Low*/
--Green600: #00a357; /*Low*/
--Grey600: #9e9e9e; /*No Selection*/
}
While these colors were crafted to correspond to a High-Medium-Low scale, they can be used for other Record Highlight values that do not conform with this scale.
Modifications can be made to the colors by modifying the hex values or replacing them with rgb or rgba functions. Additional variables can also be defined under the :root pseudo-class. -
Ensure that the CSS classes inserted/modified exactly match the case-sensitivevaluesthat will be calculated in the corresponding Record Highlights field in Archer.
-
-
When modifications are complete, copy and paste the updated code from the text editor into the Code field of the RecordHighlightsCSSCustomObject in Archer Accessories Objects and click the Save button to save the changes.
Task 2: Deploy the Record Highlights Script Custom Object and Record Highlights CSS Custom Object using the Archer Accessories Dashboard
-
Using the instructions detailed in the Adding the Archer Accessories Layout Independent Custom Objects to Target Module Layouts section, select the Default Layout of the Archer Accessories Objects application as the Source Layout and select all layouts that will be displaying Record Highlights fields as the Target Layouts.
-
After clicking the Create Layout Syncing Table button to populate the Layout Syncing Table, click on the checkbox for the Layout Independent Custom Objects section along with the Record Highlights Script Custom Object and the Record Highlights CSS Custom Object layout items.
-
Click on the Automap Sync button followed by the Sync Layouts button to add/sync the Record Highlights related custom objects to the target layouts.
Task 3: Validate the Record Highlights field display on the Archer Application/Questionnaire record.
-
Browse to the Application/Questionnaire associated with the new Record Highlights field and select a record from the Record Browser.
-
Confirm that the Record Highlight HTML appears in the space above the record selector and to the right of the record name and the View/Save and any Advanced Workflow related elements. In the event there is not enough space to the right of the View/Save and any Advanced Workflow-related elements, the Record Highlights element will be positioned below these elements on its own row.
-
Validate that the boxes defined in the Record Highlights field calculation appear to the right of the record name. (If the field does not appear, first try recalculating the record.)
-
Validate the values correspond to the source fields in the calculation.
-
Validate the values are presented with background colors associated with their current values.
-
-
Repeat the process with other records to validate the Record Highlights change as values in the record differ.
Certification environment
Date Tested: March 2025
Product Name |
Version Information |
Operating System |
Archer |
2025.02 |
Virtual Appliance |