cancel
Showing results for 
Search instead for 
Did you mean: 

Changes in Alfresco 5 API's

manoj27
Champ in-the-making
Champ in-the-making
Could anyone please let me know regarding which API's have been changed from Alfresco 4.2.f to 5.0.d, and if so, what is actual difference in both versions.
I had look over Alfresco Wiki and forum as well, but couldn't get the required details.

I have verified
/alfresco/service/index/uri/
on both versions and it seems like many of web scripts API have been removed in Alfresco 5.

Thanks for your help in advance.
10 REPLIES 10

afaust
Legendary Innovator
Legendary Innovator
Hello,

any web script API marked as "internal" in the lifecycle element of the descriptor may be changed / removed at any point by Alfresco. Also, the web script based CMIS API has been removed in Alfresco 5, so this could account for a significant amount of the changes you found.
There is no definitive overview of changed / removed API. The release notes include mention of the removal of CMIS web scripts, and apart from that, comparing the web script index is the most efficient way to determine the changes.

Generally, Alfresco 5.0 should not have removed much of the web script API apart from already obsoleted stuff (CMIS web scripts). In Alfresco 5.1 there may be more significant changes as Alfresco is working on moving out some of the business domain web scripts (i.e. site-related) into separate, installable modules. I haven't checked the recent 5.1.a release how far ahead this has gone yet.

Regards
Axel

manoj27
Champ in-the-making
Champ in-the-making
Thanks Axel. That explains a lot of things.

I have investigated a bit configuring the CMIS on alfresco. I hope there might be some plugin that we can add to Alfresco and enable these deprecated APIs.
I have gone through following, but couldn't get much insights.

http://docs.alfresco.com/5.0/pra/1/concepts/opencmis-ext-intro.html
http://docs.alfresco.com/5.0/pra/1/concepts/cmis-1.1-intro.html


Can you share any inputs on this.

-Manoj

afaust
Legendary Innovator
Legendary Innovator
Hello,

this (and similar) release note(s) may be more useful as an overview: <a href="https://wiki.alfresco.com/wiki/Alfresco_Community_5.0.c_Release_Notes#Feature_Removals">Alfresco 5.0.c Release Notes</a>

I don't see any point in re-enabling any of the removed / deprecated APIs. They have been removed for a reason (i.e. they were broken, slow, difficult to maintain) and there are improved alternatives available. I don't believe anyone is working on some sort of plugin to enable those again…

Regards
Axel

manoj27
Champ in-the-making
Champ in-the-making
Hi Axel,

Yes, I agree with you. CMIS might have been removed for some reason.
The thing is that, I am working on a java based application which crawls the content from Alfresco repository. Earlier, this application was targeted to Alfresco 4.x where we have used CMIS api's to request the content modified after previous crawl.

Now, as CMIS is removed, I am investigating and searching for any alternative API, which can provide me the list of <b>Node Ids</b> or path, or any relevant information, which are modified after some specified time. I had look over Audit Api's, but I think I might be seeking in wrong direction.

Could you please provide any inputs regarding this.

-Manoj

mrogers
Star Contributor
Star Contributor
CMIS is not removed.   Merly the endpoints have changed to make the version and binding clear and that CMIS is part of the public api.

Let's be clear alfresco supports CMIS 1.0 and 1.1. No need to rewrite your application. 

manoj27
Champ in-the-making
Champ in-the-making
Hi,

Yes, you are right. As mentioned on <a href="https://wiki.alfresco.com/wiki/Alfresco_Community_5.0#What.27s_Removed_from_Alfresco_Community_5.0"> Release Notes</a>, the end poionts have been changed. I have figured out the following API of CMIS 1.1 which works properly for both Alfreso 4.x and 5.x.
/alfresco/api/-default-/public/cmis/versions/1.1/atom/id?id={node_id}


But, I think many features of CMIS have been removed. The following api doesn't work on 5.x, though it works on 4.x.
/alfresco/service/index/family/CMIS


For 4.x, we were using
/alfresco/service/cmis/query
API with a SELECT query as parameter, to get the modified/updated documents after say some X timestamp. This API is not supported in Alfresco 5.x.

Do have any inputs regarding alternative for this API?

-Manoj

mrogers
Star Contributor
Star Contributor
No "features of CMIS" have been removed.   Quite the contrary, browser binding and cmis:item have been added.

This thread has the equivalent in CMIS 1.1 browser binding.  

https://forums.alfresco.com/forum/developer-discussions/alfresco-api/cmis-query-browser-binding-0128...

There is probably the equiv to the old script.  But as you can see it is not as clear hence the need for the rename that happened in 5.X

manoj27
Champ in-the-making
Champ in-the-making
Hi,

Thanks for your assistance and providing right direction. I have investigated on CMIS 1.1 API's and figured out the required one.
Thanks a lot again!

-Manoj

afaust
Legendary Innovator
Legendary Innovator
Maybe I should have been clearer and more verbose when stating "the web script based CMIS API has been removed in Alfresco 5" - as mrogers points out, CMIS is very much supported and just using different URLs as part of the public API. My statement only addressed the fact that you won't find the old CMIS API under /alfresco/service anymore.
But then again, the documentation that was already referenced is pretty much clear and should not cause any confusion, especially when looking at the detail pages for <a href="http://docs.alfresco.com/5.0/pra/1/concepts/cmis-request-url-format-onpremise.html">URL formats</a>.