Navis is in the process of changing N4 forms and table views to be platform-neutral to make them more configurable. Platform-neutral forms let you have more detailed control over the layout, and let you add your own before-commit, commit, and after-commit actions. (Note: The after-commit actions that are supported only apply to the UI tier or to a custom table where the update is not part of core business functionality.)
However, when Navis makes a form platform-neutral, any existing database-backed variform override to that form will not function without an upgrade action. The previously functional forms appear with the buttons grayed-out and unavailable. You must reapply your variform changes to the new platform-neutral form.
To find out whether an existing N4 form or view is platform-neutral, click the info button for the form or table. A view-only form opens, showing the variform code definition. The first line in platform-neutral forms is: "NOTE: This form view supports form submission code extension." For a table, a line similar to the following in the top section (usually the second or the third line from the top) indicates that it is platform-neutral: "Table Shared UI Manager: com.navis.carina.announcement.presentation.AnnouncementSharedUiTableManager@40bef321".
To maintain variform customizations after upgrades with converted platform-neutral forms:
Before upgrading to a new version, check for any platform-neutral forms that may be listed under the New Configuration section of all release notes for each release between your current production version and the version you are upgrading to. The New Configuration section is sorted alphabetically by type. Search for the type 'Platform-Neutral Form'. Make a list of these forms with the original and current variform IDs, which should be available in the release note for these issues.
To see which database-backed variform overrides you have made, open up the Database Backed Variforms view (Administration Settings
Database Backed Variforms
Database Backed Variforms view). Display the Variform ID column by right-clicking a column for a list of available columns.
Compare the list of converted platform-neutral forms from the release notes to your overrides in the Database Backed Variforms view. For each converted platform-neutral form for which you have an override, do the following:
Export each override individually from the Edit Variform File Definition form (Administration Settings
Database Backed Variforms
Database Backed Variforms view
Variform File Definition form) using Export File. Back up the exported files to a temp folder.
In the Database Backed Variforms view, right-click each override you have exported and select Delete. This deletes your overriden variform(s) from the database.
Again in the Database Backed Variforms view, select Actions Reload All Variforms. A dialog box opens, asking if you want to update only the local node, or all nodes. Choose Propagate change to all nodes.
Perform the upgrade.
After the upgrade, re-create each deleted database-backed variform override as follows:
In the Database Backed Variforms view (Administration Settings
Database Backed Variforms
Database Backed Variforms view), select Actions
Override a Variform Object.
Select the appropriate variform scope level and object type. For more information, see Override for a Variform Object form in the N4 help.
Check the release note for the converted platform-neutral form to see if the variform ID has changed. If not, for Variform ID, select the original ID for the variform you want to override. If the variform ID has changed, select the new variform ID from the list. If you cannot find the variform ID, check the release note to see if it has changed.
Click Edit Contents. Then copy and save the variform definition as a backup.
Do NOT first select Import File, then re-import the original file you used for the original database backed override. This will overwrite the upgraded form. Instead, select Edit Contents. Also, it is critical that you back up the contents of the new variform definition in case you have to roll-back after creating the override.
Open the original override definition that you exported before the upgrade.
Identify the customizations in the original override definition and integrate them into the new variform definition.
Include inline comments to identify the changes you have inserted and comment out the elements that you want to remove.
Enter the name for the override in the Name field.
Click Save.
In the Database Backed Variforms view, select the override, then select Actions Reload All Variforms. A dialog box opens, asking if you want to update only the local node or all nodes. Select Only update local node.
Test the database backed variform override on the local node. If there are any problems with the override, you can re-import the backup you made before you reintegrated the changes for the override.
Once you have confirmed that the override works, return to the Database Backed Variforms view, again select the override, and then select Actions Reset. When asked if you want to update locally or on all nodes, select Propagate change to all nodes.