Connectors

Define Connector Rules

Connector rules define operations that need to be performed on data before it's sent to a foreign system (export) or Archibus database (import). These rules are registered in the Connector Rules table. A collection of default rules are provided, but more may be added by someone with an understanding of Archibus Java programming. The only two fields that are necessary are the Rule Code, and the Class Name. No other field currently affects execution of connectors.

define rules.png

Types of Rules

Rules fall into one of seven types depending on how they are coded: field, record, inherited, skip, side effect, after effect, aggregate and segregate. Within each type they are applied in the order of position of the Connector Fields they are specified on, but the types are applied in the following order:

Import: field -> record -> segregate -> skip -> side effect -> aggregate -> [database update] -> after effect

Export: skip -> record -> field

Types are as follows (what they receive -> what they produce)

  • Field (source record field value -> transaction record field value)
    • CONVERT ENUMERATED PARAM VALUE
    • CONVERT ENUMERATION LIST VALUE

    • CONVERT NUMBER TO TEXT

    • CONVERT TEXT TO NUMBER

    • CONVERT TO DATE

    • SET CURRENT DATE

    • SET CURRENT TIME

    • SET RECORD NUMBER

    • SET VALUE

    • SET CONFIG VALUE

    • SET USER VALUE

    • SET VALUE FROM CONNECTOR

    • SET VALUE IF NULL

  • Record (transaction record after field rules, transaction record after previous record rules -> new transaction record)
    • ASSET VALIDATION
    • CONCATENATE
    • CONVERT UNITS
    • LOOKUP VALUE
    • POPULATE TRANSACTION
    • SKIP FIELD
    • SKIP IF NOT UNIQUE
    • SPLIT DELIMITED
    • VALIDATE SKIP (without SkipRecord)
  • Inherited (transaction record after record rules, transaction record after previous inherited rules -> new transaction record)
    • COPY INHERITED VALUE
  • Skip Condition (transaction record -> nothing)
    • SKIP DELETE

    • SKIP RECORD IF NULL OR EQUALS
    • SKIP RECORD IF NOT EQUALS
    • SKIP RECORD IF NULL OR EQUALS
    • VALIDATE SKIP (with SkipRecord)
  • Side Effect (transaction record -> nothing)
    • POPULATE TABLE
    • VALIDATE ADD
  • After Effect (Archibus record -> nothing)
    • UPLOAD DOCUMENT
  • Aggregate (old field value, transaction field value -> new field value)
    • ADD
    • SUM
    • MIN
    • MAX
  • Segregate (transaction record -> multiple transaction records)
    • SEGREGATE BY DATA
    • SEGREGATE BY XML

Connector Rules execute server-side Java code by class based on which interface(s) are implemented by the rule's class. They receive the connector field (and by proxy connector) configuration when the connector starts.