GetDefaultFolderColumns API

Returns the system default folder column configuration. These columns define which metadata fields are displayed by default in folder list views when no user-specific or folder-specific column settings are applied.

Endpoint

/srv.asmx/GetDefaultFolderColumns

Methods

Parameters

Parameter Type Required Description
authenticationTicket string Yes Authentication ticket obtained from AuthenticateUser

Response Structure

Success Response

<response success="true">
  <FolderColumnDef>
    <ColumnName>ItemName</ColumnName>
    <ColumnText>Name</ColumnText>
  </FolderColumnDef>
  <FolderColumnDef>
    <ColumnName>DocumentSize</ColumnName>
    <ColumnText>Size</ColumnText>
  </FolderColumnDef>
  <FolderColumnDef>
    <ColumnName>DocumentFormat</ColumnName>
    <ColumnText>Format</ColumnText>
  </FolderColumnDef>
  <FolderColumnDef>
    <ColumnName>ModificationDate</ColumnName>
    <ColumnText>Modified</ColumnText>
  </FolderColumnDef>
  <FolderColumnDef>
    <ColumnName>OwnerName</ColumnName>
    <ColumnText>Owner</ColumnText>
  </FolderColumnDef>
</response>

Error Response

<response success="false" error="[ErrorCode] Error message" />

FolderColumnDef Properties

Property Type Description
ColumnName string Programmatic column identifier
ColumnText string Localized display text for the column header

Required Permissions

Use Cases

  1. UI Initialization

    • Load the default column layout when rendering folder views
    • Determine which columns to display when no custom settings exist
  2. Settings Display

    • Pre-populate the default columns in an administration form
    • Compare current defaults with the full column list from GetAllFolderColumns

Example Requests

Request (GET)

GET /srv.asmx/GetDefaultFolderColumns?authenticationTicket=abc123-def456 HTTP/1.1
Host: server.example.com

Request (POST)

POST /srv.asmx/GetDefaultFolderColumns HTTP/1.1
Content-Type: application/x-www-form-urlencoded

authenticationTicket=abc123-def456

Request (SOAP 1.1)

POST /srv.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://tempuri.org/GetDefaultFolderColumns"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <GetDefaultFolderColumns xmlns="http://tempuri.org/">
      <authenticationTicket>abc123-def456</authenticationTicket>
    </GetDefaultFolderColumns>
  </soap:Body>
</soap:Envelope>

Integration Examples

JavaScript/Client-Side

async function getDefaultFolderColumns() {
    const ticket = getUserAuthTicket();
    const url = `/srv.asmx/GetDefaultFolderColumns?authenticationTicket=${encodeURIComponent(ticket)}`;

    const response = await fetch(url);
    const xmlText = await response.text();
    const parser = new DOMParser();
    const xmlDoc = parser.parseFromString(xmlText, "text/xml");

    const root = xmlDoc.querySelector("response");
    if (root.getAttribute("success") === "true") {
        const columns = [];
        xmlDoc.querySelectorAll("FolderColumnDef").forEach(col => {
            columns.push({
                columnName: col.querySelector("ColumnName").textContent,
                columnText: col.querySelector("ColumnText").textContent
            });
        });
        return columns;
    } else {
        const error = root.getAttribute("error");
        throw new Error(error);
    }
}

// Usage example
async function initFolderView() {
    try {
        const defaultColumns = await getDefaultFolderColumns();
        console.log("Default columns:", defaultColumns.map(c => c.columnName).join(", "));
    } catch (error) {
        console.error("Failed to get default folder columns:", error);
    }
}

C# Client Usage

using (var client = new SrvSoapClient())
{
    try
    {
        var response = await client.GetDefaultFolderColumnsAsync(authTicket);
        var root = XElement.Parse(response.ToString());

        if (root.Attribute("success")?.Value == "true")
        {
            var columns = root.Descendants("FolderColumnDef")
                .Select(col => new
                {
                    ColumnName = col.Element("ColumnName")?.Value ?? "",
                    ColumnText = col.Element("ColumnText")?.Value ?? ""
                })
                .ToList();

            foreach (var col in columns)
            {
                Console.WriteLine($"{col.ColumnName}: {col.ColumnText}");
            }
        }
        else
        {
            var error = root.Attribute("error")?.Value;
            Console.WriteLine($"Error: {error}");
        }
    }
    catch (Exception ex)
    {
        Console.WriteLine($"Exception: {ex.Message}");
    }
}

Notes

Error Codes

Common error responses:

Error Description
[901]Session expired or Invalid ticket Invalid or expired authentication ticket
[2730]Insufficient rights. Anonymous users cannot perform this action User is not authenticated

Version History