cancel
Showing results for 
Search instead for 
Did you mean: 

Sharepoint module architecture?

ajmas
Champ in-the-making
Champ in-the-making
I have started looking into using the Sharepoint module and given our installation, we may need to tweak the code slightly. In doing so a few questions cropped up, with regards to the architecture, just to help me understand the design decisions and how best we can contribute to the module:

- The Sharepoint module presents itself using Jetty and listens on an alternative port to Alfresco. Is there any reason this is not simply a servlet in the Alfresco webapp?
- The communication between the Sharepoint module and Alfresco is done via http, rather than RMI or directly via the API. Are the any reasons for this?
2 REPLIES 2

mikeh
Star Contributor
Star Contributor
I can provide some insight on the first part…

The Sharepoint protocol expects specific responses from root-scoped web assets. Our first implementation accomplished this by using a second webapp deployed via a ROOT.war. Obviously this wasn't feasible on all customer installations, so the solution was refactored to use a separate IP and port, which keeps the protocol happy.

Thanks,
Mike

ajmas
Champ in-the-making
Champ in-the-making
Thanks for the answer.

So far I have changed the authentication component to use the same one as we are using in the rest of Alfresco. That generally meant changing the references to "AuthenticationComponent" to "authenticationComponent" (case change). Also, because the authentication method we use is supported by cookies, I changed the code in ShareUtils to make available the required cookies, received in the request, to HttpClient (with the help of httpClient.getState().addCookies() ). This seems to get me further along, though I am wondering whether an API call would avoid the need for this extra layer of network communication?

I now am getting a "org.alfresco.module.vti.handler.VtiHandlerException: Bad Url" exception when trying to create the workspace via PowerPoint 2007, on Windows XP. In PowerPoint I go the "Office" menu -> "Publish" -> "Create Document Workspace", then in the side-bar that appears I specify a "document workspace name", using some random name; the "location for new workspace", using "http://<hostname>:7070/alfresco; then I click create. Prior to this point I have not created an new spaces in Alfresco under '/Company Home/Sites'.

When I look at the URL associated with the 'bad URL', I see (in the case of specifying 'abcdef' as the workspace):

/alfresco/abcdef/documentLibrary/Alfresco_2011_plan%5b1%5d.pptx

Digging deeper I see this appears to be caused  by a null folderNodeRef in the FileFolderServiceImpl.resolveNamePath() 'for' loop. The parentNodeRef is valid, but it would seem the pathElement is not found as child of the parentNodeRef. I tried creating the 'abcdef' folder from with Alfresco, but that only results in an attempt to try to create 'abcdef_1'.

Can anyone suggest what I may be doing wrong? I am probably missing some elementary step somewhere?