Skip to content

GetUserFolderColumns API

Returns the effective column layout and custom property set preference saved for the authenticated user on the specified folder. Falls back to the user's global preference, then to the system default, when no folder-specific setting exists.

Endpoint

/srv.asmx/GetUserFolderColumns

Methods

  • GET /srv.asmx/GetUserFolderColumns?authenticationTicket=...&folderPath=...
  • POST /srv.asmx/GetUserFolderColumns (form data)
  • SOAP Action: http://tempuri.org/GetUserFolderColumns

Parameters

Parameter Type Required Description
authenticationTicket string Yes Authentication ticket obtained from AuthenticateUser
folderPath string Yes Full infoRouter path of the folder (e.g. /Domain/Folder)

Response

Success

<root success="true">
  <propertySetId>5</propertySetId>
  <sortBy>ItemName</sortBy>
  <sortVector>asc</sortVector>
  <sortByPropertySetId>0</sortByPropertySetId>
  <sortByPropertySetColumnName></sortByPropertySetColumnName>
  <columns>
    <column>ItemName</column>
    <column>DocumentSize</column>
    <column>DocumentFormat</column>
    <column>ModificationDate</column>
    <column>OwnerName</column>
  </columns>
</root>
Field Description
<propertySetId> ID of the custom property set associated with this folder view. 0 means no custom property set
<sortBy> Column name used for sorting (e.g. ItemName, ModificationDate)
<sortVector> Sort direction: asc, desc, or empty string (system default)
<sortByPropertySetId> Property set ID used for sorting when sorting by a custom property field. 0 when not applicable
<sortByPropertySetColumnName> Custom property field name used for sorting. Empty when not applicable
<column> Internal column name (language-independent). See the column name table below

Error

<root success="false" error="[901]Session expired or Invalid ticket" />

Column Names

Name Description
ItemName Document or folder name
ItemId Internal item ID
DocumentSize File size
DocumentFormat File format / extension
ApprovalStatus Approval/publishing status
ParentFolderName Name of the containing folder
LastVersionNumber Most recent version number
PercentComplete Completion percentage
CreationDate Date the item was created
ModifiedByName Name of the last modifier
OwnerName Document owner name
FlowName Active workflow name
CheckedOutByName Name of the user who checked out the document
StepNumber Current workflow step number
StepName Current workflow step name
CompletionDate Workflow or task completion date
Importance Document importance level
RetentionDefId Retention schedule ID
ClassificationLevel Security classification level
DeclassifyOn Declassification date
DowngradeOn Downgrade date
DispositionDate Retention disposition date
LastIsoReview Date of the last ISO review
NextIsoReview Date of the next scheduled ISO review
DocumentTypeName Document type name
DocumentSource Document source
DocumentLanguage Document language
DocumentAuthor Document author
ExpirationDate Document expiration date
ReleasedVersion Published (released) version number
RegisterDate Date the document was registered
CutOffDate Records cut-off date
RetainUntil Retain-until date
ModificationDate Date the item was last modified

Required Permissions

  • User must be authenticated.

Example Requests

Request (GET)

GET /srv.asmx/GetUserFolderColumns?authenticationTicket=abc123&folderPath=/MyDomain/Reports HTTP/1.1

Request (POST)

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

authenticationTicket=abc123&folderPath=/MyDomain/Reports

Request (SOAP 1.1)

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

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

Error Codes

The errorCode values this operation returns, checked against a running server:

errorCode When
4010 the ticket is expired or unknown, or there is no ticket at all
4000 no folder at that path - this operation reports a bad request where SetUserFolderColumns reports 4041 for the same path and the same message
HTTP 400 a required string parameter was empty; refused by model binding, so there is no error document

JavaScript

Every call answers XML with HTTP 200, success or not, so success is the thing to branch on and errorCode is the number to report.

async function call(action, params) {
  const response = await fetch(`/srv.asmx/${action}?${new URLSearchParams(params)}`);
  const root = new DOMParser()
    .parseFromString(await response.text(), 'text/xml')
    .documentElement;

  if (root.getAttribute('success') !== 'true') {
    throw new Error(`${root.getAttribute('errorCode')}: ${root.getAttribute('error')}`);
  }
  return root;
}

Reads the caller's own column and sort settings for one folder.

const root = await call('GetUserFolderColumns', {
  authenticationTicket: ticket,
  folderPath: '/Public/Reports',
});

const columns = [...root.querySelectorAll('columns > column')].map(c => c.textContent);
root.querySelector('sortBy').textContent;       // a column name
root.querySelector('sortVector').textContent;   // "asc", "desc", or "" when none is saved

A folder nobody has configured answers the three defaults - ItemName, ItemId, OwnerName - with sortBy ItemName and an empty sortVector. The settings belong to one person: two callers reading the same folder get their own.

Notes

  • The returned column list reflects the effective preference: folder-specific user setting → user global setting → system default, in that priority order.
  • When no setting has been saved for the user and folder, the system default columns are returned. On a stock instance those are ItemName, ItemId and OwnerName; the set is the (0,0) row of USERFOLDSET and an administrator can change it.
  • propertySetId="0" means no custom property set is associated.
  • SetUserFolderColumns — Save the column layout and property set preference for a folder
  • GetFoldersAndDocuments — Browse folder contents