This topic alphabetically lists the properties that apply to the CmRetentionUpdateJob class.
This property is settable only on the CmRetentionUpdateJob
class definition.
The MODIFY_RETENTION
permission is required on the object store
to change the property.
EventSet
collection of the Event
objects containing the audited events that have occurred for the
object.
The server computes the new retention date by adding the value of the RetentionDurationUpdate property, expressed in the units specified by the RetentionPeriodUnits property, to the value of the date property specified by the BaseDatePropertyName property.
If the AllowRetentionReduction property is set to true, you can use the BaseDatePropertyName property to reduce retention. Set the BaseDatePropertyName property to a date property other than the CmRetentionDate property. Then set the RetentionDurationUpdate and RetenionPeriodUnits properties so that the new retention date computes to a value that is less than the current CmRetentionDate property value of the retainable objects.
ClassDescription
object containing the fixed description (immutable metadata) of
the class from which this object is instantiated.
Settability of this property is read-only for most users. For users who have been
granted privileged write access (AccessRight.PRIVILEGED_WRITE
), this property is
settable only on create. After initial object creation, this property is read-only for all users.
Settability of this property is read-only for most users. For users who have been
granted privileged write access (AccessRight.PRIVILEGED_WRITE
), this property is
settable only on create. After initial object creation, this property is read-only for all users.
Settability of this property is read-only for most users. For users who have been granted privileged
write access (AccessRight.PRIVILEGED_WRITE
), this property is read/write. (The read/write access for those
users can only change if a change is made to the ACL on the object store that controls who has privileged write access to objects in that
object store).
The text is not locale-specific to the retrieving user except for the following classes:
Name
property of the object's class.
For CmAuditProcessingBookmark
and AuditDefinition
objects, this property is intended to identify client applications
that process the audit log.
For CmAuditProcessingBookmark
objects, this property, in support of the audit disposition feature, identifies the client that created the object.
For AuditDefinition
objects, this property identifies a set of audit definitions for a given client or client functionality.
For CmAuditProcessingBookmark
and AuditDefinition
objects, it is recommended that you set this property.
Specify a unique value to distinguish one client application from another.
Note, however, that the server does not prevent identical display names across multiple
CmAuditProcessingBookmark
or AuditDefinition
objects. Therefore, the client application is responsible for enforcing uniqueness.
If you set this property on a sweep job, which runs one time only, be careful to allow sufficient time for the the job to process the entire table, especially if the table is very large. If the effective end date does not allow the necessary time, then the job will end before it completely processes the table.
StoragePolicy
, Subscription
, AuditDefinition
CmSweepPolicy
, and CmSweepJob
objects.
For StoragePolicy
, FilterExpression is used as the selection criteria
for determining into which storage area the content for a document or annotation should be stored. The
expression is evaluated against all storage areas to determine which ones are deemed "equivalent" in
terms of this storage policy.
For more information, see Storage policies.
For Subscription
, FilterExpression is used to determine
whether the event action should be launched.
For AuditDefinition
, FilterExpression is used to determine
whether an event should be audited.
The filter is applied to either the source object, or, optionally, to the object specified in the
FilteredPropertyId
property of Subscription
or AuditDefinition
.
Note that for version series subscriptions,
the filter is applied to the document version in the transaction and not to the version series.
For Subscription
, the Content Engine server evaluates the filter expression, as follows:
true
, the event action specified by the subscription is fired
or enqueued, as appropriate (depending on whether the event action is set to execute synchronously or
asynchronously).false
or unknown
(typically resulting from a property that has no value),
or if there is an error in the evaluation (such as a syntax error in the expression or an incorrect
reference to a property), the event action is silently discarded.For a sweep job or sweep policy, FilterExpression is used to evaluate each instance
of the sweep-target class. If the value of the expression evaluates to true
,
an operation is applied to the instance. The operation performed depends on the type of sweep.
For AuditDefinition
objects, FilterExpression is only applicable to GetContentEvent
and events of type ObjectChangeEvent
.
If the value of the expression evaluates to true
, the event is audited; otherwise, it is not audited.
The syntax of this property must be a fragment of a SQL where
-clause expression
(for example, VersionStatus = 1
) and use supported operators.
See SQL Syntax Reference.
Note that some operators that are valid in an ad hoc SQL query are not supported in FilterExpression. The following operators are not supported.
Note that a filter expression can include conditions expressed against non-queryable and non-persistent properties. For example, the following is a valid expression: Owner='jsmith'
For Subscription
and AuditDefinition
objects only, you can use the IsModified
predicate, for filtering events based on modified properties of the source object.
A filter expression using the IsModified predicate must be constructed as follows: IsModified(property), where property can be in any form supported elsewhere in the query, for example, table_alias.property_alias.
Note that the IsModified predicate can only be used in a filter expression. It cannot be used in an ad hoc SQL query.
FilteredQueryTimeout
can be used to enhance job and policy sweep performance.
When FilteredQueryTimeout
is set to the default value of 0, a sweep first issues queries
to retrieve candidate objects from the database, and next applies the filter expression conditions on the
candidate objects to determine which objects to process.
The following is a sweep query of the Document
class and all subclasses:
SELECT TOP 2000 bcn.Id, bcn.StorageArea, bcn.ReplicationGroup
FROM Document bcn WITH INCLUDESUBCLASSES
WHERE Id > {00000000-0000-0000-0000-000000000000} ORDER BY Id
The query retrieves instances of the Document
class from the database.
If the FilterExpression
property is set on the sweep job or policy, the sweep
uses the filter expression to evaluate the instances (the candidate objects) that were
returned from the database. For the objects that satisfy the conditions of the filter expression,
the sweep processes them as defined by the job or policy .
For example, if a document disposal policy has a filter expression of
IsReserved=TRUE AND ContentSize > 10000
, the disposal policy deletes
only instances that are in the reservation state and have content that is larger than 10,000 bytes.
When the FilteredQueryTimeout
value is greater than 0, then the queries
issued to the database include the conditions of the filter expression in the WHERE clause.
Expanding on the previous example, using a FilteredQueryTimeout
value of 30 seconds
and a filter expression of IsReserved=TRUE AND ContentSize > 10000
results in
the following sweep query:
SELECT TOP 2000 bcn.Id, bcn.StorageArea, bcn.ReplicationGroup, bcn.ContentSize, bcn.IsReserved
FROM Document bcn WITH INCLUDESUBCLASSES
WHERE Id > {00000000-0000-0000-0000-000000000000}
AND (IsReserved=TRUE AND ContentSize > 10000)
ORDER BY Id OPTIONS(TIMELIMIT 30)
Note that the TIMELIMIT value of the query is set to the value of the FilteredQueryTimeout
property (TIMELIMIT 30).
The value of the FilterExpression
property is used to expand the the WHERE clause and the selection list of the query.
When the time limit is greater than 0, it is applied only to the first query of the sweep iteration. If the query time limit is exceeded, then the query terminates and the sweep falls back to using a query that does not contain the filter expression in the WHERE clause. The sweep continues to use the WHERE clause without the filter expression until the iteration is completed. If the query time limit is not exceeded during the first query, then the sweep continues to use the WHERE clause with the filter expression until the sweep iteration is completed.
The use of the FilteredQueryTimeout
property is a trade-off between
the sweep issuing longer-running database queries or evaluating candidate objects before processing them.
If the FilteredQueryTimeout
property is used, each query runs longer because it includes the conditions of the
filter expression in the WHERE clause. However, the sweep job or policy runs faster because it
need not evaluate candidate objects returned by the database before processing them.
If the FilteredQueryTimeout
property is not used, then each query runs faster,
but the policy or job must first evaluate the candidate instances before processing the ones that meet
the filter expression conditions.
For more information, see usage guidelines.
For User
and Group
classes, the Id property takes the value of the
Security Identifier (SID) rather than the 128-bit GUID. The string representation of the
SID is in this example format: S-1-5-21-1559522492-2815155736-3711640725-55269
.
When Active Directory is used as the directory service for IBM FileNet P8, calls to
User.get_Id()
and Group.get_Id()
always return the current SID for the
principal, even if this user or group has only historical SIDs populating the Active
Directory server.
For a given property representation, the Id property has the following characteristics:
PropertyDescription.get_Id()
is equal to PropertyTemplate.get_Id()
, which is equal to PropertyDefinition.get_PrimaryId()
.PropertyDefinition.get_Id()
is not equal to PropertyDefinition.get_PrimaryId()
.PropertyDefinition.get_Id()
is not equal to PropertyDescription.get_Id()
.
For a newly created document object, you can override the Id property of its associated VersionSeries
object
before you save or check in the document for the first time.
The property setting on the CmSweep
object overrides the property setting on the
CmSweepConfiguration
global object. If the property is set to null on the CmSweep
object,
then the InterBatchDelay setting on the CmSweepConfiguration
object is used.
EventAction
object's IsEnabled
property to false
(off) or true
(on).
Likewise, you can enable or disable a subscription, a security template, an audit definition, an audit disposition policy, a change preprocessor definition,
a change preprocessor action, and a sweep. The property defaults to true.
Enabling a security template indicates that it can be applied to an object. A disabled security template remains part of its security policy container, but cannot be applied to an object. Disabling a security template is useful when you are testing or developing the security templates that make up a security policy.
Disabling a subscription prevents the code handler associated with the event from being loaded and executed.
You might want to disable a subscription that is undergoing modifications due to a change in business processes,
or when you do not want code procedures to execute against federated documents.
Note that when you disable an EventAction
, all of its associated subscriptions are also
disabled. However, when you disable one particular Subscription
, you only disable events that are in its subscribed event list.
Disabling a change preprocessor action has system scope, that is, it prevents code handler execution for all class definitions that reference the change preprocessor action. On the other hand, disabling a change preprocessor definition has class scope; it prevents code handler execution for only that class definition, and for any subclass definitions to which the changed property value is propagated.
Settability of this property is read-only for most users. For users who have been granted privileged
write access (AccessRight.PRIVILEGED_WRITE
), this property is read/write. (The read/write access for those
users could only change if a change is made to the ACL on the object store that controls who has privileged write access to objects in that
object store).
FAILURE
.
This property is ignored if the sweep job is running in preview mode.
If the AllowRetentionReduction property is set to true, you can use RetentionDurationUpdate to reduce retention. Set this property to a negative value along with the applicable units in the RetentionPeriodUnits property. The server reduces the current retention date by the amount specified in this property.
If the SpecificRetentionDate property is set, the RetentionDurationUpdate property and the BaseDatePropertyName property cannot be set (and vice-versa).
DurationUnits
constant that specifies the time unit in which the retention duration period (DefaultRetentionPeriod property of a
class definition, or RetentionDurationUpdate property of a retention update policy or retention update job) is expressed. For example,
if the RetentionPeriodUnits property is set to MONTHS
and the DefaultRetentionPeriod property is set to 5, the
retention duration period is 5 months.
This constant can have one of the following values
YEARS
MONTHS
WEEKS
DAYS
HOURS
MINUTES
SECONDS
On a class description, RetentionPeriodUnits is read only.
If the AllowRetentionReduction is set to true, you can use SpecificRetentionDate to reduce retention. Set this property to a value that is nearer to the current date than the value that is set on the CmRetentionDate property of the retainable objects.
NULL
, the sweep has not completed yet.
The property takes a value of type SweepMode.
null
.
For a sweep job, the property remains set to a timestamp value
even after the job has completed.
CmSweep
object overrides the property setting
on the CmSweepConfiguration
global object.
If the property is set to null on the CmSweep
object,
then the timeslot setting on the CmSweepConfiguration
object
is used.