Connectors
Upgrading from Previous Versions of Connectors
Caveats for upgrading to V.22.1 Connectors from V21.3 Connectors
- Run on Startup has been removed as an option for scheduled connectors. This setting will not be preserved if you select Set Schedule.
- The workflow rules have changed Java packages from "event" to "service". Existing scheduled connectors need to be updated. Visit their configuration and select Set Schedule to update them.
- The "Use Archibus Field In Transfer" field is now in use. Setting it to true will preserve previous functionality.
Caveats for upgrading to V.22.1 Connectors from pre-V21.3 Connectors
Here is a list of things that changed or are missing from the Archibus V21.3 Connectors that existed in pre-V21.3 Connectors:
- The user interface has changed, but the only significant difference is the name of workflow rule: ConnectorHandler is now ConnectorService, and that “Is Schema Field” has been repurposed to mean “Use Archibus Field In Transfer”.
- Some connector types are not available: Web Service (HTTP), OSCRE, RFID, DBF. Configuration tables have otherwise not changed schema.
- A number of configuration fields are ineffective: method names, assigned connector, header_connector, footer_connector, everything on afm_conn_rule_cat except rule_id and class_name.
- Connector rules and Custom connectors now implement Java interfaces which define the required methods. This takes some of the guesswork out of what the methods need to look like to be valid, but it also means existing custom classes need to be converted to adapt to the new interface. It also means method names specified during configuration are ignored.
- Connector rules are executed by type of connector rule and then by position, where they were previously executed by position.
- Modifying configuration while the connector is running is not supported. It can be modified before the connector is started, but changes made after initialization are ignored.
- In Excel, dates used to require a CONVERT TO DATE rule. NONE is sufficient now.
- The VALIDATE ADD and POPULATE TABLE rules now take field names instead of field positions in their parameters.
- JSON connectors will now write numbers and nulls as literals without quotation, e.g. {"number" : 1.0, "nullValue": null}
While it is possible to install pre-21.3 connectors in Archibus V.21.3 and later, doing so is not straightforward, and the following components will be affected:
- Archibus Geospatial Extension for Esri
- Capital Projects - Easy On Ramp
- Sustainability & Risk - Billing
- Assets – Enterprise Assets
Upgrading from Archibus pre-V21.3 to Archibus V.22.1
If you have pre-V.21.3 Connectors and want to upgrade to 22.1.
-
Before upgrading, uninstall pre-V.21.3 Connectors
- Consider caveats listed above to determine whether and how to upgrade. Minimally:
- change unsupported connector types to CUSTOM
- review connector rule configurations
- Back up custom rules and custom connector classes
- Delete schema/ab-products/aitools
- Delete connector workflow rules ("ConnectorJob", "ConnectorHandler", "scheduleConnector")
- Back up the afm_connector and afm_conn_flds tables.
- Delete or do not migrate the afm_conn_rule_cat table.
- Consider caveats listed above to determine whether and how to upgrade. Minimally:
- After Upgrading, the new Connectors will be included in the product, except for the connector rules.
- Restore custom rules and connector classes.
- Update custom rule and connector classes to use the new interfaces. This may require you to refactor custom rule methods into classes. For reference, the interfaces are:
- com.archibus.app.common.connectors.impl.ICustomConnector<Void>
- com.archibus.app.common.connectors.impl.archibus.translation.field.IFieldTranslator
- com.archibus.app.common.connectors.impl.archibus.translation.record.IRecordTranslator
- com.archibus.app.common.connectors.impl.archibus.translation.skip.ISkipRecordCondition
- com.archibus.app.common.connectors.impl.archibus.translation.sideeffect.ISideEffectRule
- Ensure afm_conn_rules_cat class names for out-of-the-box rules are those that begin with com.archibus.app.common.connectors. If not, use data transfer to restore them from a 22.1 database.
- Register your updated custom rule classes in afm_conn_rules_cat using the same ids as before.
- Restore afm_connector and afm_conn_flds table data.
Upgrading from Archibus pre-V26.2 to Archibus V.26.2
If you have pre-V.26.2 Connectors and want to upgrade to 26.2, note the following.
-
IIf you have custom connector rule, please note the interface has changed. One method was replaced to better represent the fact that connector rules may require more than one field’s value. There is a new class
AbstractConnectorRule
as well as subclasses of it which implement the method and provide a class variable to store the list of fields your rule requires.-
From:
-
boolean requiresExistingValue();
-
-
To:
-
Set<String> getRequiredFields();
-
-
-
The * delimiter has been removed from code, which was out of sync with the enumerated list.
-
Segregation rule interpretation has improved, especially when using multiple segregation rules.