27
Open Source: topics

Stefaan Ponnet, Fusebox

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Stefaan Ponnet, Fusebox

Open Source: topics

Page 2: Stefaan Ponnet, Fusebox

Drupal & Sharepoint: an integration story

by Stefaan Ponnet, Fusebox

Speaker

Page 3: Stefaan Ponnet, Fusebox

Publishing Sharepoint contenton your Drupal siteStefaan Ponnet

Page 4: Stefaan Ponnet, Fusebox

• Sharepoint primer• Use cases for Drupal integration• Sharepoint module : concepts• Demo• Status• Further work

Agenda

Page 5: Stefaan Ponnet, Fusebox

Quick overview of Sharepoint components

Sharepoint primer

Page 6: Stefaan Ponnet, Fusebox

Sharepoint primerComponents of a Sharepoint system

Page 7: Stefaan Ponnet, Fusebox

FarmSPFarm

Web ApplicationsSPWebApplication

Site CollectionsSite collection

SPSite

Site SPWeb

Root Site

Sub sites

Field 1 Field 2 Field 3

Item 1

Item 2

Item 3

Item 4

Item -SPListItem

List - SPList

Field 1 Field 2 Field 3

File 1

File 2

File 3

File 4

File – SPFileFolder - SPFolder

Document Library - SPDocumentLibrary

Lists

Sharepoint terminology

Page 8: Stefaan Ponnet, Fusebox

Interacting with Sharepoint components• Server Object Model• Client Object Model

• .NET• JavaScript• Silverlight

• WebServices• REST• WCF• SOAP

• CMIS

Sharepoint Interoperability

Page 9: Stefaan Ponnet, Fusebox

• Web Services• More coverage

• Client Object Model• Site, navigation• security services• Very flexible and straightforward

• REST• Easiest to use• For fixed list schema

Client sideIntegrating with SharePoint not running on SharePoint Server

Page 10: Stefaan Ponnet, Fusebox

Sharepoint as a document platform :- Document authoring / collaboration- Metadata- Workflow- Versioning- Enterprise searchDrupal as a content publishing platform- Intranet / website

Use case for a Drupal integration

Page 11: Stefaan Ponnet, Fusebox

Main Goals :- Consume Sharepoint content in Drupal- Insert / update Sharepoint content from

Drupal- Leverage Sharepoint Search in a Drupal site

Sharepoint module : concepts

Page 12: Stefaan Ponnet, Fusebox

RESTful interfaces:- Item == resource- Uniform interface- Low barrier

- Interoperability

- Advanced operations

SP Data services possible approaches

Page 13: Stefaan Ponnet, Fusebox

SP Data services : REST

Page 14: Stefaan Ponnet, Fusebox

RESTful interfaces:- Item == resource- Uniform interface- Low barrier

- Interoperability

- Advanced operations

SP Data services : REST

Page 15: Stefaan Ponnet, Fusebox

SP Data services : REST

• Operations map to HTTP verbs• Retrieve items/lists GET• Create new item POST• Update an item PUT or MERGE• Delete an item DELETE• These apply to links (lookups) as well

• SharePoint rules apply during updates• Validation, access control, etc.

Page 16: Stefaan Ponnet, Fusebox

SP Data services : REST

– Might be worth exploring !

Page 17: Stefaan Ponnet, Fusebox

Client Object Model:- Only available for .NET

SP Data services possible approaches

Page 18: Stefaan Ponnet, Fusebox

Webservices:- Interoperability

- Advanced operations

SP Data services possible approaches

Page 19: Stefaan Ponnet, Fusebox

•* http://server:5966/_vti_adm/Admin.asmx - Administrative methods (creating and deleting sites)•* http://server/_vti_bin/Alerts.asmx - Methods for working with alerts•* http://server/_vti_bin/DspSts.asmx - Methods for retrieving schemas and data•* http://server/_vti_bin/DWS.asmx - Methods for working with Document Workspaces•* http://server/_vti_bin/Forms.asmx - Methods for working with user interface forms•* http://server/_vti_bin/Imaging.asmx - Methods for working with picture libraries•* http://server/_vti_bin/Lists.asmx - Methods for working with lists•* http://server/_vti_bin/SiteData.asmx - Methods used by Windows SharePoint Portal Server•* http://server/_vti_bin/Sites.asmx - Contains a single method to retrieve site templates•* http://server/_vti_bin/UserGroup.asmx - Methods for working with users and groups•* http://server/_vti_bin/versions.asmx - Methods for working with file versions•* http://server/_vti_bin/Views.asmx - Methods for working with views of lists

SP Webservices overview

Page 20: Stefaan Ponnet, Fusebox

• To access this Web service , use this endpoint :• http://<site>/_vti_bin/Lists.asmx • http://msdn.microsoft.com/en-us/library/websvclists.lists.aspx

• More relevant methods:– GetListItems

• Returns information about items in the list based on the specified query.

– UpdateListItems• Adds, deletes, or updates the specified items in a list on the current site.

Lists Web Service

Page 21: Stefaan Ponnet, Fusebox

• Drupal 7 module• API functions for accessing SP webservices• Search tab for Sharepoint content• Feeds integration for• Field mapping• Managing import of data to nodes/taxonomy

• Views plugin• Use Views module to display SP content

Sharepoint module : components

Page 22: Stefaan Ponnet, Fusebox

• Work in progress• Proof-of-concept code• 3 days of code sprint

• Search , Import etc. Works on SP 2010• Released on drupal.org• http://drupal.org/project/sharepoint

Sharepoint module : current status

Page 23: Stefaan Ponnet, Fusebox

• Provide standard CCK type for Sharepoint content ( ListItem )

• Verify compatibility with Sharepoint 2007• Backport to D6• File download proxy• Caching imported documents• Offloadig bandwidth to Drupal

Sharepoint module : Further Work

Page 24: Stefaan Ponnet, Fusebox

• Look into CMIS integration• Content management Interoperability Services• http://drupal.org/project/cmis• Bi-directional synchronisation

• Explore JavaScript web service API for Sharepoint• http://darrenjohnstone.net/downloads

Sharepoint module : Further Work

Page 25: Stefaan Ponnet, Fusebox

• Solve the firewall dilemma

Sharepoint module : Further Work

Drupal webserver

Sharepointserver

?

Page 26: Stefaan Ponnet, Fusebox

• Push content through WebPart ?

Sharepoint module : Further Work

Drupal webserver

Sharepointserver

Drupal webpart

Content push

Page 27: Stefaan Ponnet, Fusebox

• Stefaan Ponnet – Virtual Consulting Labs• [email protected]

• Thanks to the following people to make this possible• Fabian Sörqvist , Greg Dunlap @ NodeOne• Denis Heliszkowski , Michaela Kraft @ Microsoft• Kristof Van Tomme @ Pronovix

Q & A