SharePoint TechFest 2011<br />Leveraging SharePoint lists as user-driven data sources<br />
2<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Agenda<br /><ul><li>Goal
Why you should care
Our Business Scenario
Solution
Architecture overview
Implementation steps
Demo
Gotchas
Conclusion</li></ul>Sites<br />Communities<br />Composites<br />Content<br />Insights<br />Search<br />
3<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Goal<br />Business Collaboration Platform<br /><ul><li>Sh...
Show how the steps in SQL Server allow you to leverage the data
Show how to repopulate a SharePoint list from SQL Server
How to use PowerShell to interact with SharePoint</li></ul>Data Infrastructure & BI Platform<br />SQL Server<br />SharePoi...
Why you should care<br />Respond to outside market/industry forces<br />The IT department doesn’t have foresight into the ...
5<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Healthcare Industry<br />Month End close is dependent on ...
6<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Solution Architecture<br />(Lynch Pin issue) – SharePoint...
Upcoming SlideShare
Loading in...5
×

Share point techfest 2011 user driven data sources

430

Published on

This was a presentation that Andrew Alexander made at SharePoint TechFest on May 19, 2011 in Irving, TX. For more information, please see more about Cogent at www.cogentcompany.com.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
430
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Share point techfest 2011 user driven data sources

  1. 1. SharePoint TechFest 2011<br />Leveraging SharePoint lists as user-driven data sources<br />
  2. 2. 2<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Agenda<br /><ul><li>Goal
  3. 3. Why you should care
  4. 4. Our Business Scenario
  5. 5. Solution
  6. 6. Architecture overview
  7. 7. Implementation steps
  8. 8. Demo
  9. 9. Gotchas
  10. 10. Conclusion</li></ul>Sites<br />Communities<br />Composites<br />Content<br />Insights<br />Search<br />
  11. 11. 3<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Goal<br />Business Collaboration Platform<br /><ul><li>Show how a SharePoint list should be built to be used for SQL Integration
  12. 12. Show how the steps in SQL Server allow you to leverage the data
  13. 13. Show how to repopulate a SharePoint list from SQL Server
  14. 14. How to use PowerShell to interact with SharePoint</li></ul>Data Infrastructure & BI Platform<br />SQL Server<br />SharePoint List<br />
  15. 15. Why you should care<br />Respond to outside market/industry forces<br />The IT department doesn’t have foresight into the market and how outside forces can affect a critical business function.<br />Lynch pin problem<br />More often then not there is one person who manages a certain business process or knowledge base that if they were gone tomorrow would cause problems with how the department operates.<br />4<br />© 2011 Cogent Company. Proprietary and Confidential.<br />
  16. 16. 5<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Healthcare Industry<br />Month End close is dependent on accurate medical rates for revenue estimation and reporting<br />Medical rates driven by outside forces (Government/Industry)<br />Finance manager responsible for keeping accurate rates<br />The problem<br />Month end reporting is dependent on monthly medical rates for accurate calculation<br />One person manages the data<br />Our Business Scenario<br />
  17. 17. 6<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Solution Architecture<br />(Lynch Pin issue) – SharePoint List<br />BIDS SSIS Solution<br />SharePoint Connector<br />Execute SQL commands<br />(Data Management issue) - SQL Server <br />Temp tables and merge function<br />PowerShell Script<br />Truncate list<br />Status Indicator<br />
  18. 18. 7<br />© 2011 Cogent Company. Proprietary and Confidential.<br />SharePoint List<br />Primary Key<br />Title Field<br />
  19. 19. 8<br />© 2011 Cogent Company. Proprietary and Confidential.<br />BIDS Solution<br />SharePoint Connector<br />CodePlex - SharePoint List Source and Destination<br />http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652<br />
  20. 20. 9<br />© 2011 Cogent Company. Proprietary and Confidential.<br />SQL Server 2008<br />Nothing out of the ordinary if you’re familiar with the Merge Function<br />Merge Function<br />Staging table and History Table<br />Easy to handle slowly changing data<br />Inbound and outbound temp tables<br />But Incase you aren’t familiar with it<br />MERGE Demo D<br />USING Temp T<br />ON D.ID = T.ID and D.Name = T.Name<br />WHEN MATCHED THEN UPDATE SET <br />D.Rate = T.Rate<br />WHEN NOT MATCHED BY TARGET THEN INSERT (Rate) <br />VALUES T.Rate<br />OUTPUT $action INTO @RateChanges;<br />
  21. 21. 10<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Truncate Table<br />Firm understanding of list location<br />PowerShell Script<br />[System.Reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”) | out-null<br />$oContentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService;<br />[Microsoft.SharePoint.Administration.SPWebApplicationCollection]$waColl = $oContentService.WebApplications;<br />$siteUrl = “http://win-bidemo”<br />$webName = “”<br />$listName = "Demo List"<br />$spSite = new-object Microsoft.SharePoint.SPSite($siteurl)<br />$spWeb = $spSite.OpenWeb($webName)<br />$spList = $spWeb.Lists[$listName]<br />foreach($item in $spList.items) { $deaditem = $splist.GetItemById($item.ID); $deaditem.Delete(); }<br />
  22. 22. DEMO<br />11<br />© 2011 Cogent Company. Proprietary and Confidential.<br />
  23. 23. 12<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Additional Functionality<br />SharePoint list trigger for real time updates and “What if” scenarios<br />Surface data in SSAS Cube <br />Slowly changing data<br />Auditing <br />Status Indicator<br />
  24. 24. Gotchas<br />Keep the Title<br />You can’t delete the title on a content type so just hide it and make it not required<br />Primary Key<br />Remember databases work from keys, so a primary key is needed in your SharePoint List for data integrity between SharePoint and SQL Server<br />SharePoint Connector<br />Must truncate SharePoint list before you can write back to them<br />From SharePoint to SQL Server<br />Use Ntext as SQL Server data type instead of varchar from SharePoint to SQL Server destination tables<br />From SQL Server to SharePoint list<br />Float instead of decimal for moving SQL Server data to SharePoint list <br />nvarchar instead of Int for moving SQL Server data to SharePoint list<br />PowerShell<br />Take note if SSIS is executing in a 64bit machine and not 86bit<br />PowerShell executable file is different.<br />13<br />© 2011 Cogent Company. Proprietary and Confidential.<br />
  25. 25. 14<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Conclusion<br />Quick to implement solution for user driven data that needs to be leveraged for Data Warehouse.<br />Structure and Unstructured Data<br />Easy to leverage slowly changing data<br />Take the responsibility out of the IT department<br />Take away the lynch pin of a business process and move it away from sole ownership<br />
  26. 26. Reference Links<br />SharePoint list Source and Destination Connector<br />http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652<br />PowerShell<br />http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/216d2ee6-0f04-480f-808d-8241bc4a8d18/<br />http://stackoverflow.com/questions/3913498/sharepoint-script-fails-when-run-as-a-visual-studio-post-deployment-command<br />15<br />© 2011 Cogent Company. Proprietary and Confidential.<br />
  27. 27. Q&A<br />16<br />© 2011 Cogent Company. Proprietary and Confidential.<br />
  28. 28. 17<br />© 2011 Cogent Company. Proprietary and Confidential.<br />Andrew Alexander<br />Andrew.Alexander@CogentCompany.com<br />

×