3.2.4.2.48.1 Commit (Opnum 11)

The Commit method is implemented as one of the methods of the IFsrmObject interface (section 3.2.4.2.10). This method has the same behavior as described in section 3.2.4.2.10.5, with the following additional behavior:

  • For the following, the Property definition that has a Name with the same value as the Name on a given Property Condition will be referred to as the Relevant Property Definition for that Property Condition.

    • If any Property Condition in Property conditions does not have a Relevant Property Definition, the server MUST return E_INVALIDARG.

    • If the Relevant Property Definition for any Property Condition in Property conditions has its Property Definition.Deprecated member set to true, the server MUST set the File Management Job.Deprecated to true and return E_INVALIDARG. Otherwise, it MUST set File Management Job.Deprecated to false.

  • If File Management Job.Name is NULL, the server MUST return E_INVALIDARG.

  • If namespace roots is NULL, the server MUST return FSRM_E_REQD_PARAM_MISSING.

  • If the expiration directory is NULL, and if the Operation type of the job is FsrmFileManagementType_Expiration, the server MUST return FSRM_E_REQD_PARAM_MISSING.

  • If custom action or Executable path returned by the IFsrmActionCommand::ExecutablePath (get) (section 3.2.4.2.9.1) is NULL, and if the Operation type of the job is FsrmFileManagementType_Custom, the server MUST return FSRM_E_REQD_PARAM_MISSING.

  • If the Operation type of the job is not FsrmFileManagementType_Custom, and if the custom action of the file management job is not NULL, the server MUST ignore the custom action and not persist it with the file management job.

  • If FSRM Base Object.Deleted is set to true for this Non-Persisted File Management Job Instance (section 3.2.1.7.1.2), the server MUST remove the Persisted File Management Job (section 3.2.1.7.1.1) from the List of Persisted File Management Jobs (section 3.2.1.7) that has the same File Management Job.Name as this Non-Persisted File Management Job Instance, if one exists. This removal MUST occur even if other changes were made to the configuration of the Non-Persisted File Management Job Instance. If there is no Persisted File Management Job (section 3.2.1.7.1.1) in the List of Persisted File Management Jobs 3.2.1.7 that has the same File Management Job.Name as this Non-Persisted File Management Job Instance (section 3.2.1.7.1.2) being deleted, the server does not perform any action and MUST return zero. The server MUST return a nonzero error code if removal fails.

  • If FSRM Base Object.Deleted is set to false for this Non-Persisted File Management Job Instance, the server MUST update the configuration data of the Persisted File Management Job in the List of Persisted File Management Jobs that has the same File Management Job.Name as this Non-Persisted File Management Job Instance, if one exists, with the configuration data from this instance, or return a nonzero error code.

  • If a Persisted File Management Job does not exist with the same File Management Job.Name and FSRM Base Object.Deleted is set to false, the server MUST perform the following actions:

    • Create a new Persisted File Management Job.

    • Populate its configuration with the configuration from this Non-Persisted File Management Job Instance.

    • Add the newly created Persisted File Management Job to the List of Persisted File Management Jobs.

To update or populate the configuration data from a Non-Persisted File Management Job Instance to a Persisted File Management Job, the server MUST assign the values of all properties listed below, of the Non-Persisted File Management Job Instance to the corresponding properties of the Persisted File Management Job.

  • FSRM Base Object.Description

  • File Management Job.Name

  • Namespace roots

  • Enabled/disabled

  • Operation type

  • Notification periods

  • Notifications (Actions). For each notification in the list, the server MUST assign the values of all properties that apply to the notification, depending on the type of action. See section 3.2.1.4 for details on the possible action types and the set of notification properties maintained for each type of action.

  • Logging

  • Report enabled

  • File Management Job.Formats

  • File Management Job.Mail to

  • Conditions. For details of how to make changes to this property, see property definition in 3.2.1.7.1.

    • Days since file created

    • Days since file last accessed

    • Days since file last modified

    • Days since file last modified

    • Property conditions

  • From date

  • Task name

  • File Management Job.Parameters

  • File name pattern

  • Error log

  • Information log

If the Operation type is Expiration, the following property MUST also be assigned.

  • Expiration directory

If the Operation type is Custom, the following properties of the Command line action type notification object referenced by Custom action MUST also be assigned:

  • Executable path

  • Notification.Model.Arguments

  • Notification.Model.Account

  • Working directory