Annotation Interface TrackableExtension
TrackableBehavior features to a Trackable domain.
NOTE: if there is only a need to have basic auditing information and no additional
tracking behavior, then this annotation should not be used. In that scenario, it is sufficient
for the target domain to simply implement the Trackable interface.
Generally, domain that is marked with a TrackableBehavior.CATALOG is also marked with
TrackableBehavior.SANDBOX, but this is not required. In the case where CATALOG is
declared alone, user changes are immediately live (i.e production) and propagation is immediately
launched to push changes to subordinate catalogs, where they become immediately live as well.
This can be challenging for end applications that may want to conditionally accept the change. If
the desire is to immediately deploy and propagate, but still allow end applications to utilize
the promote/approve process for the incoming change, the ContextInfo.isIgnoreNarrowing()
should be used on the original user change with a TrackableExtension extension
declaration that includes TrackableBehavior.SANDBOX.
Domain can be marked with TrackableBehavior.SANDBOX alone, in which case, no catalog or
application discrimination is executed or kept. This is generally the case where multitenancy
features are not required.
Domain can be marked with TrackableBehavior.TENANT alone, or with some combination of
others. Domain with TrackableBehavior.APPLICATION will always be implied to also be
TrackableBehavior.TENANT, because an application always belongs to a tenant.
If marked with both TrackableBehavior.CATALOG and TrackableBehavior.APPLICATION,
the TrackableBehavior.CATALOG behavior will generally win, unless explicit code is
introduced to leverage the application discrimination.
Domain marked with TrackableBehavior.CUSTOMER_CONTEXT must NOT be also
marked with TrackableBehavior.APPLICATION. The behavior of these discriminators is not
compatible, as TrackableBehavior.CUSTOMER_CONTEXT itself may discriminate by one
application, multiple applications, or no applications.
- Author:
- Jeff Fischer
-
Required Element Summary
Required Elements
-
Element Details
-
value
TrackableBehavior[] value
-