RESTful Web API implementation to save Office documents remotely - c#

I'd like to implement somehow an endpoint on a .NET core WebAPI that allow a user to edit an Office document that he has beforehand downloaded and automatically opened in office from my WebAPI, and save it directly from the Office desktop client.
How could I do that ? One possibility is to DAV enable my API but I'm looking for a more lighter solution as I only want to manage opening and editing office document.
Currently my API sends the file and I'm planning to implement my web client to tells the system to open it in Office via Office URI Schema. I managed to open a word file in my Word Desktop app but I am stuck at this point and don't know how to edit and save it back.
Thanks for your help.

Related

Office Web Apps and WOPI

We have Office Web Apps and WOPI working and can load a powerpoint file and edit it.
However getting edit working for Word require implementing Cobalt or FSSHTTP/FSSHTTPB protocol?
The user here has kindly provided most of the code for everything(Can I just use Office Web Apps Server)
Has anybody implemented a Cobalt or FSSHTTP/FSSHTTPB protocol within this context?
I write a Wopi Host demo.
With Cobalt(FSSHTTPB/D) support for Office Web Apps.
Support DOCX Editing, and also PPTX,XLSX.
Requires Microsoft.CobaltCore.dll
https://github.com/marx-yu/WopiHost
thanks thebitllc's great work
Well you could start by grabbing a cobalt assembly from the Office Web Apps machine, I think its called Microsoft.Cobalt.dll.. It should help you to decipher the messages. I am trying to get back to work on this proof-of-concept. If I get it to work I'll post a quick reference here. But the documentation sucks, I have to intercept the messages between the sharepoint and office web apps to make sense of them.
As of February 13, 2015 it seems the WOPI protocol now allows the server to specify whether it supports co-authoring of a given file in the CheckFileInfo endpoint response. So you can avoid the nastiness of the Cobalt implementation.

Creating Cloud Document Server in Asp.Net

Are there any free C# Asp.Net API's to host a server that has cloud capabilities.
All I really want is for users to be able to download Word Documents, The server marks it as locked. Then the user can edit and click "SAVE AS" And it saves it back to my server.
I dont want to use a third party server for this it.
The Microsoft .Net Framework is a free API that has cloud capabilities (ASP.Net).
You will have to implement the code to present the documents and lock them. And find a way to expose the server to the web.
Sounds like Sharepoint to me. A foundation version with the functionality you describe comes free with Small Business Server

Open Source .NET embedded web/http server

I am working on a project where I need to embed a web server into my C# application so the application could display it's status via HTTP. I suppose I'll want to configure it through the http also.
I am looking for an open-source library written in C# and with a licensing scheme that will allow me to link it into my existing closed source code (LGPL). Any suggestions of specific products or where to look first?
It would be great if that product could have some kind of scripting, at least templates. All html output would go from the application, only resources would be stored on the disk (images, icons, ...)
EDIT:
I would like it to run under .NET 2.0, however.
Have a look at Microsoft Cassini, a simple HTTP server written in C# licensed under Ms-PL. It's basically a demo how to host the ASP.NET runtime.

Using Office 2010 web apps with ASP.NET

Would it be possible to use the Office 2010 web apps with an ASP.NET application?
For example:
- For each user of my ASP.NET application there is a folder with Word documents on my server
- The ASP.NET application displays the available documents in a grid to the user
- When clicking on one of the documents in the grid, the Word document is loaded in an IFrame which contains the Office 2010 web apps Word interface and editing of the document can take place
- After editing, the document can be saved to the server, and the ASP.NET grid displays an updated status
Would such a scenario be possible? And what do you need, e.g. Sharepoint, Office 2010 licenses?
I think you will want to have a look at Sharepoint, because I think this is exactly what it does (plus many more things).
Windows Sharepoint Services (WSS) is a free add-on for windows 2003/2008 server systems and contains the base Sharepoint functionality. In addition there are the commercial products which extend WSS (MS Office Sharepoint Server or Sharepoint Portal Server or whatever they are called).
The Office Web Apps come with SharePoint 2010, but they are also used with SkyDrive. This indicates to me that what you are asking for is possible (Microsoft is doing it), but the software isn't bundled separately. Of course, I have no idea what MS had to do in order to integrate Office Web Apps with SkyDrive.
"Word document is loaded in an IFrame which contains the Office 2010 web apps Word interface"
you can not do that because of Office web Apps restriction. I ve tried open in IFrame, in sharepoint modal window. Unfortunately can not, only standart new window using.

Programmatically downloading a file from Sharepoint without using Web Services?

I'd like to fetch some files from a SharePoint site, however I do not want to use the web services as a) I want to be compatible with both 2007 and 2010 and b) I'm not sure if Web Services can give me all files on a site.
SharePoint Designer can do that, and it seems to use FrontPage Server Extensions using _vti_bin/Author.dll. Also, I can access it in Windows using Map Network Drive -> Map Web Site, which I think is using WebDAV.
Is there any C# implementation of either a WebDAV Client or a Author.dll Client?
You could change this code to download. http://geek.hubkey.com/2007/10/upload-file-to-sharepoint-document.html. Just search around for different upload code and mess with it. I would give you my code for uploading files but I am on vacation and I promised myself that I would not log into work :). That link should get you pointed in the right direction.

Categories