Currently I have a document system that launches documents in Star Office or LibreOffice in an iframe.
Moving to the future I ideally want to retain the document system I have but integrate this into SharePoint so as to enable us to open and edit documents using MS Office.
As there is no Java Api to integrate with MS Office this is why I have chosen to go with SharePoint.
I can manage to get my documents to load from a link on a sharepoint page but then comes the hard part of manipulating the save features in MS Office and ensuring that my document doesn't get saved in sharepoint.
Has anyone done anything similar.
Basically I just want to use MS Office to interact with my documents without storing things in sharepoint. So I need to get access to the save functions etc.
As far as I see Apache POI is not a viable solution as it doesn't physically open the document and allow user to click file -> save. My understanding is that it can manipulate documents by manipulating them in code but can't use any of the controls in office.
I've read here http://msdn.microsoft.com/en-us/library/office/bb462633(v=office.12).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-2 that you can repurpose the commands in office and modify the ribbon?
Thanks for any advice
It appears it is possible with WOPI and Office Web Apps. Basically needing to create a WOPI application
Well I had the same problem, so I actually wrote a quick PPT editor with Apache POI and SVG edit.. But then I switched to the Office Web Apps.. Here is quick implementation of the WOPI server, I am a Java guy so my .NET skills are quite horrible. Writing a servlet should be trivial.
Logic is simple:
Pass WOPISrc to the office web apps - this is basically the URL of your WOPI server with the file location in it. You can ignore access_token/access_token_ttl for now.
The Office Web Apps with hit the WOPISrc url with at least 2 requests:
Note: Word doesn't work :/ You can view only, for the edit you need to implement Cobalt protocol (FSSHTTP). I am somewhat researching this topic, but it will be easier to write in C# since you can grab a Cobalt assembly. Otherwise this protocols implements SOAP (FSSHTTP) with BASE64 encoded binary messages (FSSHTTPB)
Open the Office Web Apps with something like this:
http://OFFICEWEBAPPS.HOST/p/PowerPointFrame.aspx?PowerPointView=EditView&access_token=12345&WOPISrc=URLENCODED_URL_OF_THE_WOPI_SERVER
Like:
http://WOPISERVER.HOST:2000/wopi/files/1.pptx
This will open 1.pptx in your c:\temp
Office supports editing files using WebDAV protocol. There are libraries which help implement it.