views:

119

answers:

4

I want to build a custom document management web application that ties in with sharepoint for the actual document versioning and storage. I'm hoping for something like a sharepoint widget that I can plug into my web application that would allow me to tie in with sharepoint and download documents, make edits to them, and upload them back to sharepoint, with sharepoint handling all of the versioning and storage.

Basically I'm looking for a sharepoint API.

If WSS is the answer to this, are there licensing issues that I need to consider?

Thanks.

A: 

Sharepoint is accessible with CAML Queries in that you can create, modify, and delete any object in Sharepoint with this. You could create your own front end and just communicate to sharepoint.

As far as licensing, WSS comes with any Windows Server OS, so your client would just buy a license to the OS and be fine.

Jeremy
+2  A: 

The best way forward is probably to use SharePoint's web services as that way your application can run on a server that doesn't have SharePoint installed.

Regarding Licensing, as long as you are licensed for Windows Server then WSS is free. However, depending on what database you use you may need to make sure that your users are licensed for SQL Server. Have a look at these links:

Muhimbi
Thanks, this was very helpful for understanding the licensing.
Aaron Palmer
Top, so is this the 'winning answer' :-)
Muhimbi
@Muhimbi, seriously?
Aaron Palmer
+2  A: 

Wouldn't it be easier to do some development to customize SharePoint to your needs instead of just using it as a backend?

Mel Gerats
I'm going to have to agree with this. If you find SP2007 still too lacking in certain features that you need (which it very well could be) then wait a little bit for SP2010. It will solve all of your problems™
zincorp
+1  A: 

If it's SharePoint 2007 you're talking about, then on the server side you have the SharePoint API (Microsoft.SharePoint.dll) and on the client side, SP provides web services for manipulating lists, libraries, users and most other things you might need.

As Jeremy said, getting data to and from SharePoint through the Web Services, requires you to write CAML queries, but it's made easier by the help of tools such as this free CamlQueryBuilder

There's loads of documentation on both the API and the web services online.

If you're planning on using SharePoint 2010, all this will be quite easier, as more options are available for developers, e.g. API for the client side as well as the server side. Also new in 2010 is LINQ for SharePoint, which IMO really rocks!

Kjartan Albertsson
I think that 2010 may be the way to go.
Aaron Palmer
Yeah, I can't wait 'till all my clients start wanting SP 2010. Implementing custom solutions for/using 2010 will be so much easier.You should read up on the Client Object Model in SharePoint 2010, here's a fine article to get you started(first google hit): http://www.zimmergren.net/archive/2009/11/30/sp-2010-getting-started-with-the-client-object-model-in-sharepoint-2010.aspx
Kjartan Albertsson
Thanks for the link. This is the way we are planning to go.
Aaron Palmer