2.2.2.2.18 Put-Option

The Put-Option is used to define the behavior of file upload operations.

 PUT-OPTION-VAL = "atomic"

If this flag is specified, the server does all the needed checking to ensure that all the files can be updated before changing the first one. The server MAY ignore this.<6>

 PUT-OPTION-VAL =/ "checkin"

The document is checked in after it is saved. This flag is only used to support long-term checkout operations. Clients conforming to the FrontPage Server Extensions Remote Protocol MUST NOT send this. Servers MAY ignore this parameter if they choose not to support long-term checkout.

 PUT-OPTION-VAL =/ "checkout"

Valid only if checkin is specified. Notifies the source control of the new content (checkin), but keeps the document checked out. (This is the equivalent to checking the document in, and then checking it out again.) Clients conforming to the FrontPage Server Extensions Remote Protocol defined in this document MUST NOT send this option. Servers MAY ignore this parameter.

 PUT-OPTION-VAL =/ "createdir"

The parent directory is created if it does not exist. When this option is not sent by the client, the server MUST require that the parent directory of a file or folder exists; if the client sends this option, the server SHOULD create the immediate parent of the file being created if needed and if possible. For example, if this option is sent and folder1/folder2/file.txt is being created, the protocol requires the server to create folder2 if needed and possible, but does not require it to create folder1 if it does not already exist.

 PUT-OPTION-VAL =/ "edit"

Uses the date and time the document was last modified to determine whether the item has been concurrently modified by another user. This flag is used to prevent race conditions where two users could edit the same data. If this flag is specified and the inbound modification time does not match the value on the server, the server MUST reject the upload. The client SHOULD send this flag unless a higher level has indicated it needs to overwrite changes. The client MUST send either this flag or the "overwrite" flag, but not both.

 PUT-OPTION-VAL =/ "forceversions"

Not used by the FrontPage Server Extensions Remote Protocol. Acts as though versioning is enabled, even if it is not. Clients conforming to the FrontPage Server Extensions Remote Protocol MUST NOT send this option. Servers MAY ignore this parameter.<7>

 PUT-OPTION-VAL =/ "listthickets"

Requests that metadata be returned for thicket supporting files. The server MUST act as though this parameter was sent if the effective protocol version is less than 5.0.

 PUT-OPTION-VAL =/ "migrationsemantics"

Not used by the FrontPage Server Extensions Remote Protocol. Preserves information about who created the file and when. Clients conforming to the FrontPage Server Extensions Remote Protocol MUST NOT send this option. The server MAY ignore this option. If the server wants to honor this option, it SHOULD do additional authorization and ignore the option if the authorization fails.<8>

 PUT-OPTION-VAL =/ "noadd"

Does not add the document to source control. Clients conforming to the FrontPage Server Extensions Remote Protocol MUST NOT send this option. The server SHOULD ignore this option.<9>

 PUT-OPTION-VAL =/ "overwrite"

Uses the date and time the document was last modified, as specified in the inbound metadata, rather than the time on the server. The client MUST send either this flag or the "edit" flag, but not both.

 PUT-OPTION-VAL =/ "thicket"

Specifies that the associated file is a thicket supporting file. The server SHOULD detect that the upload includes a thicket supporting file and infer this flag.

 PUT-OPTION = *(PUT-OPTION-VAL ",") PUT-OPTION-VAL

The PUT-OPTION data type MUST contain at least one PUT-OPTION-VAL.