2018 November Release

ExamplePermanent link for this heading

Date Values and TimezonePermanent link for this heading

The date values used in this interaction with the service are set in UTC/GMT. This behavior may be specified as part of the web service API by using the http-header value of "X-FSC-TZ: 0" or alternatively by adding the url-argument "tz=0".

CredentialsPermanent link for this heading

To use WebDAV and the GetChangedObjects API a password for applications has to be generated.

Initial Folder TraversalPermanent link for this heading

A detailed transcript of the data passed to and from the services is listed using the command line utility curl.

Read initial refdate from server

# user and password

export usr="<cloud-user-id>"

export pwd="<cloud-service-password>"

# service url

export svc="https://at.cloud.fabasoft.com/folio"

export svc="$svc/wsjson/FSCOWSSTDSERVICES@1.1001:WebService/GetChangedObjects?tz=0"

# read refdate

curl -u $usr:$pwd -X POST --data-binary '{"refdate":"2016-01-01T00:00:00Z"}' $svc

{

   "refdate": "2016-03-14T10:43:00Z",

   "objects": null,

   "changedates": null,

   "names": null

}

Initial traversal

# user and password

export usr="<cloud-user-id>"

export pwd="<application-password>"

# read root folder

curl -u $usr:$pwd -X PROPFIND -H 'Depth: 1' https://at.cloud.fabasoft.com/folio/webdav/

<?xml version="1.0" encoding="utf-8"?>

<D:multistatus xmlns:D="DAV:" xmlns:lp2="http://schemas.fabasoft.com/swc/">

  <D:response>

    <D:href>/folio/webdav/</D:href>

    <D:propstat>

      <D:prop>

        <lp2:COOSYSTEM_1_1_objaddress xmlns:lp2="http://schemas.fabasoft.com/swc/">COO.6505.100.1.211</lp2:COOSYSTEM_1_1_objaddress>

        <D:creationdate>2009-08-10T14:29:51Z</D:creationdate>

        <D:getcontentlanguage>de</D:getcontentlanguage>

        <D:getcontentlength/>

        <D:getcontenttype>httpd/unix-directory</D:getcontenttype>

        <D:getetag>"cfe8d07a47fdae19f1ae64272c86fb71"</D:getetag>

        <D:getlastmodified>Fri, 26 Feb 2016 07:32:54 GMT</D:getlastmodified>

        <D:lockdiscovery/>

        <D:resourcetype>

          <D:collection/>

        </D:resourcetype>

        <D:supportedlock>

          <D:lockentry>

            <D:lockscope>

              <D:exclusive/>

            </D:lockscope>

            <D:locktype>

              <D:write/>

            </D:locktype>

          </D:lockentry>

        </D:supportedlock>

        <D:iscollection>1</D:iscollection>

      </D:prop>

      <D:status>HTTP/1.1 200 OK</D:status>

    </D:propstat>

  </D:response>

  <D:response>

    <D:href>/folio/webdav/Test-Etc/</D:href>

    <D:propstat>

      <D:prop>

        <lp2:COOSYSTEM_1_1_objaddress xmlns:lp2="http://schemas.fabasoft.com/swc/">COO.6505.100.5.1695911</lp2:COOSYSTEM_1_1_objaddress>

        <D:creationdate>2016-01-18T14:44:56Z</D:creationdate>

        <D:getcontentlanguage>de</D:getcontentlanguage>

        <D:getcontentlength/>

        <D:getcontenttype>httpd/unix-directory</D:getcontenttype>

        <D:getetag>"faec0018f2ee2514472b0107779ded72"</D:getetag>

        <D:getlastmodified>Fri, 11 Mar 2016 13:44:10 GMT</D:getlastmodified>

        <D:lockdiscovery/>

        <D:resourcetype>

          <D:collection/>

        </D:resourcetype>

        <D:supportedlock>

          <D:lockentry>

            <D:lockscope>

              <D:exclusive/>

            </D:lockscope>

            <D:locktype>

              <D:write/>

            </D:locktype>

          </D:lockentry>

        </D:supportedlock>

        <D:iscollection>1</D:iscollection>

      </D:prop>

      <D:status>HTTP/1.1 200 OK</D:status>

    </D:propstat>

  </D:response>

</D:multistatus>

# read folder “Test-Etc”

curl -u $usr:$pwd -X PROPFIND -H 'Depth: 1' https://at.cloud.fabasoft.com/folio/webdav/Test-Etc/

<?xml version="1.0" encoding="utf-8"?>

<D:multistatus xmlns:D="DAV:" xmlns:lp2="http://schemas.fabasoft.com/swc/">

  <D:response>

    <D:href>/folio/webdav/Test-Etc/</D:href>

    <D:propstat>

      <D:prop>

        <lp2:COOSYSTEM_1_1_objaddress xmlns:lp2="http://schemas.fabasoft.com/swc/">COO.6505.100.5.1695911</lp2:COOSYSTEM_1_1_objaddress>

        <D:creationdate>2016-01-18T14:44:56Z</D:creationdate>

        <D:getcontentlanguage>de</D:getcontentlanguage>

        <D:getcontentlength/>

        <D:getcontenttype>httpd/unix-directory</D:getcontenttype>

        <D:getetag>"faec0018f2ee2514472b0107779ded72"</D:getetag>

        <D:getlastmodified>Fri, 11 Mar 2016 13:44:10 GMT</D:getlastmodified>

        <D:lockdiscovery/>

        <D:resourcetype>

          <D:collection/>

        </D:resourcetype>

        <D:supportedlock>

          <D:lockentry>

            <D:lockscope>

              <D:exclusive/>

            </D:lockscope>

            <D:locktype>

              <D:write/>

            </D:locktype>

          </D:lockentry>

        </D:supportedlock>

        <D:iscollection>1</D:iscollection>

      </D:prop>

      <D:status>HTTP/1.1 200 OK</D:status>

    </D:propstat>

  </D:response>

  <D:response>

    <D:href>/folio/webdav/Test-Etc/Audio/</D:href>

    <D:propstat>

      <D:prop>

        <lp2:COOSYSTEM_1_1_objaddress xmlns:lp2="http://schemas.fabasoft.com/swc/">COO.6505.100.2.12635429</lp2:COOSYSTEM_1_1_objaddress>

        <D:creationdate>2016-03-11T13:44:03Z</D:creationdate>

        <D:getcontentlanguage>de</D:getcontentlanguage>

        <D:getcontentlength/>

        <D:getcontenttype>httpd/unix-directory</D:getcontenttype>

        <D:getetag>"2fb256fc3e02e77d9a1fd8c3191d6605"</D:getetag>

        <D:getlastmodified>Fri, 11 Mar 2016 13:46:58 GMT</D:getlastmodified>

        <D:lockdiscovery/>

        <D:resourcetype>

          <D:collection/>

        </D:resourcetype>

        <D:supportedlock>

          <D:lockentry>

            <D:lockscope>

              <D:exclusive/>

            </D:lockscope>

            <D:locktype>

              <D:write/>

            </D:locktype>

          </D:lockentry>

        </D:supportedlock>

        <D:iscollection>1</D:iscollection>

      </D:prop>

      <D:status>HTTP/1.1 200 OK</D:status>

    </D:propstat>

  </D:response>

</D:multistatus>

# read folder “Test-Etc/Audio”

curl -u $usr:$pwd -X PROPFIND -H 'Depth: 1' https://at.cloud.fabasoft.com/folio/webdav/Test-Etc/Audio/

<?xml version="1.0" encoding="utf-8"?>

<D:multistatus xmlns:D="DAV:" xmlns:lp2="http://schemas.fabasoft.com/swc/">

  <D:response>

    <D:href>/folio/webdav/Test-Etc/Audio/</D:href>

    <D:propstat>

      <D:prop>

        <lp2:COOSYSTEM_1_1_objaddress xmlns:lp2="http://schemas.fabasoft.com/swc/">COO.6505.100.2.12635429</lp2:COOSYSTEM_1_1_objaddress>

        <D:creationdate>2016-03-11T13:44:03Z</D:creationdate>

        <D:getcontentlanguage>de</D:getcontentlanguage>

        <D:getcontentlength/>

        <D:getcontenttype>httpd/unix-directory</D:getcontenttype>

        <D:getetag>"ad93b8af64f0a64b9d1a407664fe37f8"</D:getetag>

        <D:getlastmodified>Fri, 11 Mar 2016 13:46:58 GMT</D:getlastmodified>

        <D:lockdiscovery/>

        <D:resourcetype>

          <D:collection/>

        </D:resourcetype>

        <D:supportedlock>

          <D:lockentry>

            <D:lockscope>

              <D:exclusive/>

            </D:lockscope>

            <D:locktype>

              <D:write/>

            </D:locktype>

          </D:lockentry>

        </D:supportedlock>

        <D:iscollection>1</D:iscollection>

      </D:prop>

      <D:status>HTTP/1.1 200 OK</D:status>

    </D:propstat>

  </D:response>

  <D:response>

    <D:href>/folio/webdav/Test-Etc/Audio/Ode%20to%20Joy.mp3</D:href>

    <D:propstat>

      <D:prop>

        <lp2:COOSYSTEM_1_1_objaddress xmlns:lp2="http://schemas.fabasoft.com/swc/">COO.6505.100.5.2535086</lp2:COOSYSTEM_1_1_objaddress>

        <D:creationdate>2016-03-11T13:43:22Z</D:creationdate>

        <D:displayname>Ode to Joy.mp3</D:displayname>

        <D:getcontentlanguage>de</D:getcontentlanguage>

        <D:getcontentlength>47008530</D:getcontentlength>

        <D:getcontenttype>audio/mpeg</D:getcontenttype>

        <D:getetag>"056ecacb366d60e4f94605416f20e24e"</D:getetag>

        <D:getlastmodified>Fri, 11 Mar 2016 13:44:03 GMT</D:getlastmodified>

        <D:lockdiscovery/>

        <D:resourcetype/>

        <D:supportedlock>

          <D:lockentry>

            <D:lockscope>

              <D:exclusive/>

            </D:lockscope>

            <D:locktype>

              <D:write/>

            </D:locktype>

          </D:lockentry>

        </D:supportedlock>

        <D:iscollection>0</D:iscollection>

      </D:prop>

      <D:status>HTTP/1.1 200 OK</D:status>

    </D:propstat>

  </D:response>

  <D:response>

    <D:href>/folio/webdav/Test-Etc/Audio/Welcome.txt</D:href>

    <D:propstat>

      <D:prop>

        <lp2:COOSYSTEM_1_1_objaddress xmlns:lp2="http://schemas.fabasoft.com/swc/">COO.6505.100.6.2535092</lp2:COOSYSTEM_1_1_objaddress>

        <D:creationdate>2016-03-11T13:46:58Z</D:creationdate>

        <D:displayname>Welcome.txt</D:displayname>

        <D:getcontentlanguage>de</D:getcontentlanguage>

        <D:getcontentlength>10</D:getcontentlength>

        <D:getcontenttype>text/plain</D:getcontenttype>

        <D:getetag>"f7111e8429bfcd4b39bd471421b816d0"</D:getetag>

        <D:getlastmodified>Fri, 11 Mar 2016 13:47:32 GMT</D:getlastmodified>

        <D:lockdiscovery/>

        <D:resourcetype/>

        <D:supportedlock>

          <D:lockentry>

            <D:lockscope>

              <D:exclusive/>

            </D:lockscope>

            <D:locktype>

              <D:write/>

            </D:locktype>

          </D:lockentry>

        </D:supportedlock>

        <D:iscollection>0</D:iscollection>

      </D:prop>

      <D:status>HTTP/1.1 200 OK</D:status>

    </D:propstat>

  </D:response>

</D:multistatus>

From the response to the calls above the following data is collected.

refdate

2016-03-14T10:43:00Z

href

objaddress

/folio/webdav/

COO.6505.100.1.211

/folio/webdav/Test-Etc/

COO.6505.100.5.1695911

/folio/webdav/Test-Etc/Audio/

COO.6505.100.2.12635429

/folio/webdav/Test-Etc/Audio/Ode to Joy.mp3

COO.6505.100.5.2535086

/folio/webdav/Test-Etc/Audio/Welcome.txt

COO.6505.100.6.2535092

From this data, the following input JSON is generated.

JSON

{ "refdate": "2016-03-14T10:43:00Z",
  "objects": [
  "COO.6505.100.1.211",
  "COO.6505.100.5.1695911",
  "COO.6505.100.2.12635429",
  "COO.6505.100.5.2535086",
  "COO.6505.100.6.2535092" ]
}

Query for ChangesPermanent link for this heading

Query for changes

# show input

cat query.txt

{ "refdate": "2016-03-14T10:43:00Z",

  "objects": [

    "COO.6505.100.1.211",

    "COO.6505.100.5.1695911",

    "COO.6505.100.2.12635429",

    "COO.6505.100.5.2535086",

    "COO.6505.100.6.2535092" ]

}

# user and password

export usr="<cloud-user-id>"

export pwd="<cloud-service-password>"

# service url

export svc="https://at.cloud.fabasoft.com/folio"

export svc="$svc/wsjson/FSCOWSSTDSERVICES@1.1001:WebService/GetChangedObjects?tz=0"

# call get changed objects (zero changes)

curl -u $usr:$pwd -X POST --data-binary "@query.txt" $svc

{

   "refdate": "2016-03-14T12:22:38Z",

   "objects": null,

   "changedates": null,

   "names": null

}

# call get changed objects after the Welcome.txt document was changed (one change)

curl -u $usr:$pwd -X POST --data-binary "@query.txt" " $svc

{  

   "refdate":"2016-03-14T12:29:54Z",

   "objects":"COO.6505.100.6.2535092",

   "changedates":"2016-03-14T12:29:41Z",

   "names":"Welcome"

}

# call get changed objects after yet another change: a document was added to the Audio folder (two changes)

curl -u $usr:$pwd -X POST --data-binary "@query.txt" " $svc

{

   "refdate":"2016-03-14T12:35:55Z",

   "objects":[  

      "COO.6505.100.6.2535092",

      "COO.6505.100.2.12635429"

   ],

   "changedates":[  

      "2016-03-14T12:29:41Z",

      "2016-03-14T12:35:49Z"

   ],

   "names":[  

      "Welcome",

      "Audio"

   ]

}