I want to deploy Office Online which requires the implementation of WOPI protocol. I have seen the implementation of WOPI host in C# e.g. here. WOPI protocol requires to implement a bunch of endpoints. I was wondering If I implement WOPI host in Node.js, will it be compatible to work with Office Online Server?
Any thoughts?
Thanks in anticipation
Implementation of a WOPI host endpoint is not language-dependent. As long as your language/framework/platform can serve HTTP requests with application/json
and application/octet-stream
responses you should be good.
You need to implement at least the MS-WOPI protocol. Depending on your requirements you may also need to implement the MS-FSSHTTP protocol. This may be the case when you are integrating with Office Web Apps 2013 and you need to support Word editing, for instance. The necessity of using MS-FSSHTTP is indicated by COBALT
in the discovery XML.
The new Office Online Server removed the requirement for implementing COBALT requests from most of the actions. It's only required for OneNote file format. You can see that in the discovery XML of Office Online.
The only way to test your WOPI implementation, unless you are an Office Online integration partner, is to install Office Online Server (or the older Office Web Apps) locally on your server. Both can be downloaded via MSDN.
If, by any chance, you are an integration partner then you can take advantage of the validator app they provide. There is a CLI built in python available on GitHub.
If you are about to integrate with the new OOS please refer to the newer and better documentation at http://wopi.readthedocs.io/.
The language in question doesn't matter, it's just "REST". I wrote an implementation in Ruby a while ago.