Home
english
Home
.NET Server
Java Server
.NET Client
AJAX Client
AJAX Browser
Map Drive
Pricing
Contacts
info@ithit.com



Managing Custom Properties with JavaScript WebDAV Library

Using the library you can manage custom properties on a WebDAV server. Custom properties are supported by any Class 1 WebDAV server. Each custom property has name, namespace and value.

Enumerating Custom Properties

var oNS = ITHit.WebDAV.Client;

var session = new oNS.WebDavSession();

var item = session.OpenResource("http://server/folder/img5.gif");

 

var properties = item.GetAllProperties();

for(var i=0; i<properties.length; i++)

{

    document.getElementById("container").innerHTML +=

        properties[i].Name.NamespaceUri + " " +

        properties[i].Name.Name + " " +

        properties[i].StringValue() + "<br/>";

}

Adding and Updating Custom Properties

var oNS = ITHit.WebDAV.Client;

var session = new oNS.WebDavSession();

var item = session.OpenResource("http://server/image005.gif");

 

var propsToAddAndUpdate = new Array();

propsToAddAndUpdate[0] = new oNS.Property(new oNS.PropertyName("Ammount", "Sales"), "1200");

propsToAddAndUpdate[1] = new oNS.Property(new oNS.PropertyName("ManagerApproved", "Sales"), "Yes");

propsToAddAndUpdate[2] = new oNS.Property(new oNS.PropertyName("Branch", "Sales"), "EMEA Region");

 

item.UpdateProperties(propsToAddAndUpdate, null);

The first parameter passed to UpdateProperties is an array of custom properties to be created or updated. The second parameter – array of properties to be deleted.

Deleting Custom Properties

var oNS = ITHit.WebDAV.Client;

var session = new oNS.WebDavSession();

var item = session.OpenResource("http://server/folder/img5.gif");

 

var propsToDelete = new Array();

propsToDelete[0] = new oNS.PropertyName("Ammount", "Sales");

propsToDelete[1] = new oNS.PropertyName("ManagerApproved", "Sales");

propsToDelete[2] = new oNS.PropertyName("Branch", "Sales");

 

item.UpdateProperties(null, propsToDelete);

Analyzing Which Properties Failed to Add/Update/Delete

try

{

      item.UpdateProperties(propsToAddAndUpdate, null);

}

catch (e)

{

    if(e instanceof oNS.Exceptions.PropertyException)

    {

        document.getElementById("container").innerHTML +=

            e.Message + " " + e.Status.Code + " " +

            e.Status.Description + "<br/>";

       

        // Find which properties failed to add/update/delete

        for(var i=0; i<e.Multistatus.Responses.length; i++)

        {

                  var propInfo = e.Multistatus.Responses[i];

                  document.getElementById("container").innerHTML +=

                        propInfo.PropertyName.NamespaceUri + ":" +

                        propInfo.PropertyName.Name + " " +

                        propInfo.Status.Code + " " +

                        propInfo.Status.Description + "<br/>";

        }

    }

    else

        throw e; // unexpected error

}

comments powered by Disqus

Selected Customers:
USA
Symantec
Country: Sweden
Toyota
Country: USA
Microsoft
Country: Ukraine
Raiffeisen Bank
Country: USA
Siemens
Country: USA
Lockheed Martin
Country: USA
Intel Corporation
Country: Germany
SAP AG
Country: Israel
Autodesk, Inc.
Country: USA
U.S. Customs and Border Protection Agency
Home .NET Server Java Server .NET Client AJAX Client AJAX Browser Map Drive Pricing Contacts

Updated: Friday, November 28, 2008