Open Source: topics
Open Source: topics
Drupal & Sharepoint: an integration story
by Stefaan Ponnet, Fusebox
Speaker
Publishing Sharepoint contenton your Drupal siteStefaan Ponnet
• Sharepoint primer• Use cases for Drupal integration• Sharepoint module : concepts• Demo• Status• Further work
Agenda
Quick overview of Sharepoint components
Sharepoint primer
Sharepoint primerComponents of a Sharepoint system
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
Interacting with Sharepoint components• Server Object Model• Client Object Model
• .NET• JavaScript• Silverlight
• WebServices• REST• WCF• SOAP
• CMIS
Sharepoint Interoperability
• 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
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
Main Goals :- Consume Sharepoint content in Drupal- Insert / update Sharepoint content from
Drupal- Leverage Sharepoint Search in a Drupal site
Sharepoint module : concepts
RESTful interfaces:- Item == resource- Uniform interface- Low barrier
- Interoperability
- Advanced operations
SP Data services possible approaches
SP Data services : REST
RESTful interfaces:- Item == resource- Uniform interface- Low barrier
- Interoperability
- Advanced operations
SP Data services : REST
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.
SP Data services : REST
– Might be worth exploring !
Client Object Model:- Only available for .NET
SP Data services possible approaches
Webservices:- Interoperability
- Advanced operations
SP Data services possible approaches
•* 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
• 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
• 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
• 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
• 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
• 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
• Solve the firewall dilemma
Sharepoint module : Further Work
Drupal webserver
Sharepointserver
?
• Push content through WebPart ?
Sharepoint module : Further Work
Drupal webserver
Sharepointserver
Drupal webpart
Content push
• 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