cancel
Showing results for 
Search instead for 
Did you mean: 

Programming Alfresco - What API(s) to use?

mwildam
Champ in-the-making
Champ in-the-making
Hi folks,

I find it overwhelming, what different APIs exist that could be used to programmatically work against the Alfresco repository.

I do see SOAP services, RESTful APIs, JCR API, …

I wandered through the forum and searched for topics regarding those APIs and it seems to me that each of the APIs is somehow complicated or incomplete - that's my impression so far.

In http://wiki.alfresco.com/wiki/Developer_Guide#The_Basics there are no recommendations given.

Let's say I want to programmatically import some documents to Alfresco and also make a search and export the matching documents - things like that for example. Then I would think of a check-out and check-in. I must assume that I am probably on a different machine with my program - What APIs should I use? Must one of the remote API's in such cases, isn't it?

What about uploading large files? I suppose using SOAP with big files would be a shot in the head because of the XML encoding, isn't it?

What are using the others and what API's will be maintained in the future?

Please help.
4 REPLIES 4

mrogers
Star Contributor
Star Contributor
Use the REST APIs.

mwildam
Champ in-the-making
Champ in-the-making
What about uploading and downloading large files?

Talking about REST APIs, the CMIS API is also RESTful ASFAIK, which is to be preferred?

Thank your for your fast response!

mrogers
Star Contributor
Star Contributor
Large files should be streamed to and from Alfresco.  

Given the choice I'd prefer the CMIS interface first but if the functionality is not available in CMIS then use the Alfresco interfaces.

mwildam
Champ in-the-making
Champ in-the-making
Large files should be streamed to and from Alfresco.
What does that mean - the large files should be "streamed"?
Is there a separate API for that?

Regarding the CMIS: Can CMIS and other RESTful API be completely free mixed?
I have worked with other products having different types of APIs and there I have experienced problems in mixing APIs (just to explain why I am asking this question).

What about the login token? Can I login using one API and use the retrieved token then with other APIs?