cancel
Showing results for 
Search instead for 
Did you mean: 

SDK documentation for migrating code from 2.9B to 3.0

amenel
Champ in-the-making
Champ in-the-making
Hi,
I was wondering whether there was a documentation, or changelist about the AlfrescoEmbedded SDK. My situation is this: I am porting modules that were written for version 2.9B to 3.0. As expected, some things have changed but quite surprisingly, adapting the code was rarely more difficult than for example replacing imports of "org.alfresco.web.bean.ConfigAdminConsoleBean" with "org.alfresco.web.bean.admin.ConfigAdminConsoleBean".

However, although the modules did compile well and installed with no problem, at run-time, when I try to get to my local Alfresco homepage, I run into a ClassNotFoundException about "org.alfresco.web.app.servlet.PageRendererServlet".

In the 2.9 SDK, the servlet exists indeed and a comment by the author (K. Roast)  says the servlet "should be movable to the new web-script presentation tier with the minimum of work". But I can't find a "PageRenderer" string in the source code. The only mention I found was in 'tomcat\webapps\share\WEB-INF\classes\alfresco\web-framework-application-context.xml':
   <bean id="webframework.renderer.page" class="org.alfresco.web.framework.render.bean.PageRenderer" />
That class is not recognized in Eclipse. So my question is: where has PageRenderer gone ? But since I may have other ClassNotFound exceptions, I have a better question: are changes to the API tracked somewhere ?

Thanks for any indication.
5 REPLIES 5

mrogers
Star Contributor
Star Contributor
PageRenderer is in the
package "org.alfresco.web.framework.render.bean" of the "Web Framework" project.

amenel
Champ in-the-making
Champ in-the-making
Thank you for your answer. I eventually removed any reference to pageRendererServlet and HTTPProxyServlet. In fact, the code I am porting augmented web.xml with some customisations and it's working fine (for now) without these two servlets.

amenel
Champ in-the-making
Champ in-the-making
Hello,
I am coming back here for the same matter: some reference about what has changed. I am now facing some database schema changes. For instance, since type_qname disappeared from alf_node, I am wondering how to retrieve the uri that was previously a part of a type_qname. Should I join alf_node with alf_qname and alf_namespace ? That would be possible if alf_node.type_qname_id was a foreign key linked to alf_qname.id and alf_qname.ns_id was a foreign key for alf_namespace.id. But I am not sure of the links.

Is there any documentation that says "this is removed and replaced by…", whatever the "this" is ? My question was originally about the SDK but obviously, it's relevant for other aspects that are visible to developers. The Alfresco Labs 3 pages on the wiki did not help.

If someone could point me to somewhere, that would be great.

mrogers
Star Contributor
Star Contributor
Unfortunaly I don't think there is any such list, to do so would be a fairly substantial task and would forever be out of date.
And the list would never include internal implementation details like how to access the database directly since that's not
something that we consider to be public facing, recommend or support.

What we do have is JIRA which will have details of all changes.   And SVN will also have version history for each file, there will typically be check in comments when something is removed or changes.

But if you ask specific questions then I'm sure people such as myself can help.

amenel
Champ in-the-making
Champ in-the-making
OK. Thank you for these explanations.

For my database schema problem, I thought that studying the upgrade scripts would also give me some answers. I found them under WEB-INF\classes\alfresco\dbscripts\upgrade and indeed, the table 'alf_node' got a little cleaner with the two fields I mentioned earlier and which turned out being the foreign keys links I had assumed. Thanks to DH and you too, mrogers.