You can download the source code along with a demo copy of HubKey's SharePoint Client API from HubKey's website - click here for details.
Documentation about the members exposed through the HubKey.Net.FrontPageRPC.WebClient class can be found online here.
Features of the class include:
- Upload or download many documents in one web request using the 'get documents' and 'put documents' methods.
- True file streaming (without pre-loading to memory) for faster uploads.
- Asynchronous methods including an asynchronous MoveDocuments method.
- Auto detection of FrontPage dll paths and versions.
The following FrontPage Server Extensions RPC Methods are included in the library:
- checkin document method - remotely check-in a document to source control.
- checkout document method - remotely check-out a document from source control.
- getDocsMetaInfo method - download document metadata to a client machine.
- get document method - remotely download a document with metadata from a web folder or SharePoint document library. Includes an asynchronous method.
- get documents method - programatically download documents with metadata from a web folder or SharePoint document library in one web request. Includes an asynchronous method.
- list documents method - obtains a list of files and folders on the web or SharePoint server. Sorts the results into a tree structure to allow for use in a TreeView control.
- list versions method - retrieves metadata for all the versions of the specified document.
- move document method - programatically move (rename) or copy a file or folder. Allows for moves between webs or even servers by downloading and then uploading the file.
- open service method - list service meta information.
- put document method - programatically upload a file to a SharePoint document library or web server with meta info. Includes an asynchronous method.
- put documents method - remotely upload files to a SharePoint document library or web server with meta info. Includes a method to asynchronously upload large files. Allows true streaming (without loading into memory first) for large file uploads.
- remove documents method - delete files or folders from a SharePoint document library or web server.
- setDocsMetaInfo method - update document meta data from a client computer.
- uncheckout document method - revert a document to the version before it was checked out.
- url to web url method - break a url into its web and web relative components.
A very brief code example follows - we'll cover an in depth sample application in a future post:
using System;
using System.Collections.Generic;
using System.Text;
namespace HubKey.Net.FrontPageRPC
{
class Program
{
static void Main(string[] args)
{
WebClient webClient = new WebClient();
//upload a document and check it in
MetaInfoCollection meta = new MetaInfoCollection();
meta.Add("vti_title", "My Title");
UploadDocumentResponse uploadDocumentResponse = webClient.UploadDocument("https://localhost/Docs1/test.txt", @"C:\test.txt", meta);
if (uploadDocumentResponse.Document.IsCheckedOut)
webClient.CheckInDocument(uploadDocumentResponse.Document, "uploaded via RPC");
//move a document between servers
MoveDocumentResponse moveDocumentResponse = webClient.MoveDocument("http://localhost/Docs2/test.txt", "https://remoteserver/Docs2/test.txt");
}
}
}