Alfresco Content Management Web Services
From AlfrescoWiki
Back to Developer Guide
Contents |
[edit] Introduction
This document tracks the design of the Alfresco Content Management Web Services API. In true open fashion, we're defining and refining the API publicly. Please feel free to comment and make suggestions.
The following Business Use Cases and goals are driving our design:
- As easy to understand and develop against as possible
- Accessible to as many client languages as possible
- Designed for remote repository access (for composite applications and business processes)
[edit] Web Services Reference
This section provides reference material covering all facets of Alfresco's Web Services.
[edit] Services
Alfresco aims to provide the following set of Web Services.
| Service | Description | Status |
|---|---|---|
| Authentication | login and logout | Available |
| Repository | query and model manipulation | Available |
| Content | content manipulation | Available |
| Authoring | collaborative content creation | Available |
| Classification | apply classifications and categories | Available |
| Access Control | roles, permissions & ownership | Available |
| Action | manage actions and rules | Available |
| Administration | user management, export & import | Available |
| Dictionary | model descriptions | Available |
| FileSystem | common file and folder methods | Future |
[edit] Data Types
Each Web Service method relies upon the following data types for input and output messages. The data types are focused towards a content domain and could be used outside of the context of Web Services if required.
| Group | Description |
|---|---|
| Identifiers | Means for identifying and locating content |
| Content | Content data |
| Query | Query and result sets |
| Meta Data | Content meta data (data dictionary) |
| Versioning | Version graphs and history |
| Classification | Categorisation of content |
The latest formal definition of the above data types can be found here in the Web Service Data Types XML Schema.
[edit] SOAP Headers
The following SOAP headers provide extra control over Web Service methods.
| Header | Description |
|---|---|
| QueryHeader | Provision of query hints |
| LocaleHeader | Provision of locale requirements |
| NamespaceHeader | Mapping of Namespace Prefix |
| UsernameToken Profile | Provision of security information |
The formal definition of the above headers can be found here in the SOAP Header XML Schema.
[edit] Query Languages
The core of any content management interface must be a query language. At the core of Alfresco's web services interface, we intend to support multiple query languages for querying and manipulating content. These can be thought of as the equivalent of SQL and SQL DML in a JDBC context. Although we support an XPath interface and Lucene now, our intention is to support a SQL-based query language. This query language is used to identify sets of operations in the web services methods.
| Language | Purpose | Description |
|---|---|---|
| Content Query Language (CQL) | Query | SQL based - We are actively seeking comments |
| Content Manipulation Language (CML) | Update | Content Manipulation Language - We are actively seeking comments |
| XPath | Query | JCR XPath |
| Lucene | Query | Google like |
Please note we're currently in the process of defining CQL - a language for powerful and familiar queries against the content domain model which provides support for classification, path and join capabilities.
[edit] Content Upload
- Upload Content Servlet - the content upload servlet can be used to stream larger content into the repository.
[edit] Cross-Language Support
You will find details of how to access the Alfresco web service API from a variety of different programming languages here:
- Web Service Samples for Java
- Web Service Samples for PHP
- Web Service Samples for Ruby
- Web Service Samples for .Net
- Web Service Samples for WSS / WSSE (Web Services Security)
[edit] Alfresco's Web Service Implementation
Here, you'll find information about Alfresco's implementation of its Web Services.

