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
-
Element Details
-
value
TrackableBehavior[] value
-