2011-08-23 84 views
3

我目前正在调查Alfresco的Sharepoint功能。 我安装了Alfresco 3.4并遵循Web Quick Start Installation如何从Spring MVC应用程序中使用Alfresco'Edit Online'功能

然后我上传了一个Word文档到Alfresco,并可以在浏览器中导航到它。我的网址是http://localhost:8080/share/page/site/webqs/document-details?nodeRef=workspace://SpacesStore/f7f5881e-320e-4d73-85e4-b62752fef1b8

使用Internet Explorer时,在“文档操作”部分下有一个“在线编辑”按钮。可悲的是,这个按钮不适用于Firefox或谷歌浏览器。按钮的HTML源代码并没有帮助我很多,因为我可以看到一个网址:

<div class="onActionEditOnline"> 
    <a rel="edit,online-edit" href="" class="action-link" title="Edit Online"> 
    <span>Edit Online</span> 
    </a> 
</div> 

,而在露天场地人们研究的东西推荐学习Spring Surf为露天/共享应用是用它写。春季冲浪教程使用Roo,这反过来有一个春天冲浪插件,我无法运行,由别人报告here

回到'在线编辑'按钮;当我点击它时Word文档在我的客户机上打开,我可以编辑它 并单击保存在Word中,使用Sharepoint协议将文档正确保存回到Alfresco。

我的问题是我如何从我自己的Spring MVC应用程序访问这个'Edit Online'功能?我想 在我的一个JSP上显示“编辑在线”按钮,但我不知道如何与Alfresco交互。有 任何人做到这一点?任何帮助感谢!

回答

7

Alfresco中的Sharepoint集成使用运行Sharepoint服务器的嵌入式Jetty服务器。如果您查看“编辑在线”的URL,它将显示与所有Alfresco网页不同的端口号(默认为7070)。

我从来没有对这个主题进行任何深入的调查,但由于Sharepoint是HTTP的WebDAV类扩展,可能使用一些特殊的头文件或内置的浏览器插件/功能,以创建一个“在线编辑”功能您只需提供Alfresco为在线编辑创建的相同网址,并确保用户正在运行IE。这会将用户引导到VTI server,因此几乎完全不让SpringMVC出现(只需生成正确的URL)。


编辑:露天如何生成VTI网址

看一看actions.js,这实际上是产生潜在的共享编辑在线链接的URL。该_launchOnlineEditor方法是什么处理点击你看到那些空链接,而且还提供用于创建网址的逻辑:

 // Ensure we have the record's onlineEditUrl populated 
     if (!Alfresco.util.isValueSet(record.onlineEditUrl)) 
     { 
      var onlineEditUrl = this.doclistMetadata.custom.vtiServer.host + ":" + 
       this.doclistMetadata.custom.vtiServer.port + "/" + 
       $combine("alfresco", loc.site.name, loc.container.name, loc.path, loc.file); 

      if (!(/^(http|https):\/\//).test(onlineEditUrl)) 
      { 
       // VTI server now supports HTTPS directly http://issues.alfresco.com/jira/browse/DOC-227 
       onlineEditUrl = window.location.protocol + "//" + onlineEditUrl; 
      } 
      record.onlineEditUrl = onlineEditUrl; 
     } 

如果我们有例如:

loc.site.name == mySite 
loc.container.name == documentLibrary 
loc.path == /images 
loc.file == logo.png 

与它会产生以下网址VTI服务器的默认值:

http://localhost:7070/alfresco/mySite/documentLibrary/images/logo.png 

如果你还继续阅读该方法,事实证明,我是完全错误的:它不只是简单的

var controlProgID = "SharePoint.OpenDocuments", 
//... 
activeXControl = new ActiveXObject(controlProgID + ".3"); 
return activeXControl.EditDocument3(window, record.onlineEditUrl, true, appProgID); 

T:在你的浏览器,导致正确调用创建MS神奇Office应用程序对特定URL关联,而是一个ActiveX control他应该完成关于如何从您的自定义应用程序创建Sharepoint链接的图片,指向Alfresco存储库中的正确位置。

+0

+1您的文章,我已经更新了原来的问题,但现在还不能确定潜在的网址,我可能只是有你在这里所提到的核心问题你的答案年底使用Wireshark – eon

+0

,如何我生成正确的网址:) – eon

+0

不幸的是我不能现在再次检查,但[这里](http://issues.alfresco.com/jira/browse/ETHREEOH-1201)我找到了一个(hopefuly!)好例子。 – skuro

相关问题