SharePoint Connections Fall 2010
The Hague
On September 28th and 29th of this year the SharePoint Connections have taken place in The Hague (the Netherlands).
Here are my notes of the event, which I wrote in dutch (sorry guys).
Inleiding
28 en 29 September ben ik naar de SharePoint Connections geweest. Bij de meeste sessies heb ik aantekeningen gemaakt. In dit document ga ik de aantekeningen uitschrijven en daar waar ik meer wil weten over wat ik gehoord heb op de SharePoint connections, vul ik mijn aantekeningen hier op aan.
In dit document heb ik bijlagen toegevoegd: SharePoint Connections Fall 2010 – The Hague
http://www.devconnections.com/speurope/
Videos from SharePoint Products TechCenter: http://www.bing.com/videos/browse/source?tag=ms_office:cpub_stc&q=browse:source/ms_office%3acpub_stc
Keynote
Steve Fox (Microsoft)
De keynote is altijd een vrij algemeen praatje, maar toch heb ik daar een aantal dingen opgestoken.
Read-only sitecollections
Steve liet zien dat SharePoint 2010 bewust is van instellingen op de database: wanneer een content database op read-only gezet wordt, dan zijn de sitecollections die in deze database zitten gewoon nog te benaderen, maar de opties om items te bewerken of toe te voegen en dergelijke, zijn greyed-out, zodat deze niet te gebruiken zijn.
Ik heb hierover ook een blogpost gevonden van Joel Oleson: http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=329
Sitecollection solutions
Steve had het terloops over sitecollection solutions. Aangezien ik hier nog niet eerder van gehoord had, besloot ik hier later op internet naar te zoeken. Via een video kwam ik tot de conclusie dat dit hetzelfde moet zijn als een sandboxed solution, dus wellicht is het goed om nog eens goed te kijken naar wat precies een sandboxed solution is.
In de Central Administration kunnen quota templates aangemaakt worden. Dit op zich is niets nieuws ten aanzien van SharePoint 2007, alleen kunnen er ook limieten aangegegven worden voor User Solutions. Deze limieten kunnen aangegeven worden met points. Wanneer een solution meer points verbruikt op een dag dan in de quota staat aangegeven, wordt de solution voor die dag uitgeschakeld. Op de SharePoint Dev Wiki is te zien hoe er omgegaan wordt met points.
In de sitecollection kunnen sandboxed solutions toegevoegd worden via /_catalogs/solutions/.
Hier is ook te zien hoeveel resources er door de solutions verbruikt worden en kunnen de solutions geactiveerd en gedeactiveerd worden.
Video: http://www.bing.com/videos/watch/video/getting-started-sharepoint-2010-site-collection-solution-galleries/10tjfz1cf
SharePoint Dev Wiki: http://www.sharepointdevwiki.com/display/sp2010/SharePoint+Sandboxed+Solutions
Excel Sparklines
In zijn demo liet Steve de integratie met Excel zien. Hierbij toonde hij de mogelijkheid in Excel 2010 om Sparklines te maken. Het heeft niet zo veel met SharePoint 2010 te maken, maar toch een leuke nieuwe feature. Een sparkline is een cel waarin in een minidiagram de trend getoond wordt op basis van data in andere cellen.
Verschillende variaties zijn mogelijk.
Zie blog MS Office Guru’s: http://www.msofficegurus.com/post/Excel-2010-Sparklines.aspx
Workflow via Visio
Via Visio 2010 zijn workflows te maken die geimporteerd kunnen worden in SharePoint Designer. Deze Visio bestanden defineert het proces, maar niet de details. Deze zullen in SharePoint Designer nog geconfigureerd moeten worden.
Hier is wel Visio Premium voor nodig.
Indien Visio Services is ingeschakeld, kan de voortgang van workflowinstanties schematisch bekeken worden.
PowerPoint Broadcast
Met PowerPoint 2010 is het nu ook mogelijk om, in combinatie met SharePoint 2010 presentaties te broadcasten. Dit houdt in dat, terwijl je de presentatie geeft, gebruikers via SharePoint mee kunnen kijken naar de slides. Tijdens de SharePoint Connections waren er al veel mensen met een iPad. Ik zou mij zo kunnen voorstellen dat in de toekomst de SharePoint connections worden gebroadcast, zodat iedereen in de zaal altijd de presentaties goed kan zien.
Hier is Office WEB Apps voor benodigd.
Social Point Blog: http://www.social-point.com/broadcasting-a-powerpoint-presentation-with-sharepoint-2010
Use Dataviews to get your data – Both inside and outside of SharePoint
Asif Rehmani (SharePoint-eLearning.com)
Vanuit SharePoint Designer is het mogelijk koppelingen te leggen met externe systemen. Je hoeft dan geen gebruik te maken van de BCS (Business Connectivity Service). Belangrijk is dat in het achterhoofd gehouden wordt dat eventuele connection strings toegangkelijker zijn, dan wanneer van de BCS gebruik wordt gemaakt, aangezien dan de connection details slechts door BCS administrators toegangkelijk is.
Via SharePoint Designer kunnen koppelingen gelegd worden naar onder andere de volgende bronnen:
- XML files
- Webservices
- Databases
- BCS
In SharePoint 2010 is het mogelijk om data van externe systemen uit te lezen, maar ook weg te schrijven. Er is echter geen vorm van locking naar externe systemen. Er is er geen systeem voor caching en validatie is ook niet standaard aanwezig, dus dit zal op bronniveau moeten gebeuren, of zelf geimplementeerd moeten worden in SharePoint Designer. Wegens gebrek aan caching mogelijkheden, is het belangrijk om de performance van de verbinding en het externe systeem in de gaten te houden. Om validatie toe te voegen, is het wellichts het best om als datasource gebruik te maken van webservices.
Om data weer te geven zijn er 2 soorten webparts:
- “XSLT ListView” voor data uit lists/libraries in je SharePoint omgeving
- “XSLT DataView” voor externe data
XSLT ListView webpart
Het XSLT Listview webpart wordt gebruikt voor alle view webparts. Hierdoor is het mogelijk om views op elke manier te integreren, bijvoorbeeld in webpart pages, of WiKi pages. Nadat XSLT Listview webparts in SharePoint Designer zijn aangepast, is het nog steeds mogelijk voor een gebruiken om deze view aan te passen in de browser (bijvoorbeeld sortering aanpassen, of kolommen toevoegen).
Asif heeft laten zien dat je dit webpart eenvoudig dusdanig kunt aanpassen zodat er op basis van een kolomwaarde een bepaalde afbeelding getoond wordt. Zo liet hij zien dat in een lijst van contactpersonen door middel van een M of S aan gegeven was of een contact persoon getrouwd, of single was. Door 2 afbeeldingen toe te voegen en voorwaardelijk te tonen, is de view een stuk mooier, dan wanneer er alleen maar een M of S staat. Wanneer je een afbeelding wil toevoegen vraag SharePoint Designer automatisch waar je deze afbeelding wil opslaan en stelt voor dit te doen in de library Site Assets. Dit is een library specifiek voor site ondersteunende bestanden.
Ook heeft Asif laten zien dat het mogelijk is om het context menu aan een andere kolom te koppelen. Het context menu is het openklapbare menu dat bij een item beschikbaar is om te kunnen kiezen om een item te bewerken, verwijderen etc. Dit is relatief eenvoudig om te doen.
Chun Liu laat zien hoe: http://blogs.msdn.com/b/chunliu/archive/2010/09/27/enabling-ecb-menu-on-a-custom-column-in-sharepoint-2010-part-1.aspx
XSLT DataView webpart
Om data te tonen uit een andere bron, moet eerst een dataconnection gemaakt worden vanuit SharePoint Designer. Daarna kan een dataview toegevoegd worden, waarbij je aangeeft dat je gebruik wil maken van de dataconnection die zojuist gemaakt is.
Afhankelijk van de bron type kun je bij de dataconnection aangeven of en hoe data te lezen bewerken is. Indien data ook te bewerken is, kun je in de dataview velden aanpassen van bijvoorbeeld type Text naar type Textbox. De waarde is dan te bewerken.
Om de waarde dan ook op te kunnen slaan, moet een save button toegevoegd worden. Ook dit is eenvoudig te doen vanuit SharePoint Designer.
In vergelijking tot de Listview, is duidelijk te zien dat de aandacht voor opmaak ontbreekt. Het is aan de designer zelf om iets moois van het formulier te maken.
Designing Governance: How Information Management and Security Must Drive Your Design
Dan Holme (Intelliem)
Je zult moeten defineren wat voor soorten content je wilt ontsluiten (nu en in de toekomst). Denk daarbij aan:
- Search
- Intranet
- Collaboration
De verschillende soorten data moeten gescheiden beschikbaar gesteld worden. Vaak zie je in implementaties, dat er een intranet gebouwd is, met nog een paar formuliertjes voor bijvoorbeeld verlof aanvragen of ziektemelding. Dit soort data heeft een behoorlijk verschillende karakter:
- Andere dataowner
- Retentie policy is anders
- Security is anders
Doordat er scheiding aangeracht moet worden, zal er ook vooraf nagedacht moeten worden over content promotion. Denk hierbij bijvoorbeeld aan een projectenportaal waarin informatie opgesteld wordt over het project, welke wanneer goedgekeurd, beschikbaar moet zijn op het intranet. Er zal dan een duidelijke en bewuste keuze gemaakt hoe dit gerealiseerd wordt. Er kan voor gekozen worden om deze data simpelweg te kopieren naar het intranet, maar het kan ook een keuze zijn om dit middels de Send-to functionaliteit van SharePoint te laten verlopen.
Je architectuurkeuzes moeten gebasseerd zijn op de scopes waarop functies binnen SharePoint aangeboden worden. Gelukkig zijn hier een paar prettige verbeteringen in aangebracht ten opzichte van SharePoint 2007.
Denk aan:
-
Sitecollections
- Content types
- Navigation
- Quota’s
- Content DB’s (denk aan backup mogelijkheden)
- Autorisaties
-
Web application
- Recycle bin settings (aantal dagen dat items in de recycle bin blijven)
- Performance (server, dan wel application pool scheiding)
- URL-scheiding (denk ook aan SSL)
-
Farm
- Geo performance (hoe verder de servers van de gebruiker af staan, hoe meer dit de performance drukt)
- Isolation
- Exchange server settings
In bovenstaande rijtje zal rekening gehouden moeten worden met prioriteit en of er workarounds zijn. Zo wordt de hoofdnavigatie bijvoorbeeld standaard bepaald op sitecollectionniveau. Maar er zijn mogelijkheden om dit toch centraal te beheren. Bijvoorbeeld middels scripting, het ontwikkelen van een Service Application (als voorbeeld heeft Wouter van Vugt een Service Application gemaakt die dit zou kunnen, te vinden op codeplex), of 3rd-party tools.
Voor wat betreft autorisaties:
Wanneer je bijvoorbeeld een klantenportaal hebt en klanten kunnen zelf inloggen en deze portaal bestaat uit 1 sitecollection waar meerdere klanten een site hebben, dan zou klant A medewerkergegevens kunnen terugvinden van klant B.
Elke klant zou dus op zijn minst zijn eigen SC moeten hebben.
Als je er ook nog rekening mee houdt dat via de peoplepicker ook nog een hoop gegevens van gebruikers is terug te vinden, zou er wellicht zelfs voor gekozen moeten worden om klanten een eigen webapplication te geven, zodat de gebruikersprofielen echt geisoleerd worden.
Om verschillende authenticatiemethoden te gebruiken binnen 1 webapplicatie, was het in SharePoint 2007 nodig om webapplicaties te extenden. Dit betekend dat de webapplicatie via meerdere url’s te bereiken is. Voor elke authenticatie methode 1 url. Een belangrijk nadeel hierbij is, dat gebruikers niet meer eenvoudig url’s kunnen delen. De url die bijvoorbeeld voor interne medewerkers gebruikt worden, kunnen niet voor de klant gebruikt worden. In SharePoint 2010 is het niet meer nodig om webapplicaties te extenden.
Automating Business Processes Using InfoPath 2010 Forms with Integrated SharePoint Designer 2010 Workflows
Asif Rehmani (SharePoint-eLearning.com)
SharePoint Designer 2010 is een gratis tool. Het kan dan ook vaker voorkomen dat power users op eigen initiatief SharePoint Designer installeren en hier mee aan de slag gaan.
InfoPath 2010
In InfoPath 2010 is het mogelijk formulieren te maken voor SharePoint. In deze formulieren is het mogelijk om rules te defineren, welke te gebruiken zijn over meerdere velden. In InfoPath 2007 kon dig nog niet.
Voor het publiceren van formulieren zijn dezelfde opties beschikbaar als in InfoPath 2007:
- Form Library
- Site Content Type
- Administrator approved
Om workflows te kunnen defineren
Workflow via Visio
Via Visio 2010 zijn workflows te maken die geimporteerd kunnen worden in SharePoint Designer. Deze Visio bestanden defineert het proces, maar niet de details. Deze zullen in SharePoint Designer nog geconfigureerd moeten worden.
Hier is wel Visio Premium voor nodig.
Indien Visio Services is ingeschakeld, kan de voortgang van workflowinstanties schematisch bekeken worden.
SharePoint Designer workflows
Vanuit een workflow kunnen nu ook velden uit het profiel van gebruikers uitgelezen worden!
In SharePoint 2007 waren er een aantal standaard workflows, waaronder de approval workflow. Met de komst van SharePoint 2010 en SharePoint Designer 2010 is het nu mogelijk om deze standaard workflow uit te breiden!
Het is nu ook mogelijk om site workflows te maken. Deze workflows zijn te exporteren en importeren, waardoor deze workflows te deployen zijn.
http://channel9.msdn.com/Learn/Courses/SharePoint2010Developer/Workflow/WhatsNewinSharePoint2010Workflow
Overview of Enterprise Content Management in SharePoint 2010
Bart Wessels (Microsoft)
Document ID
In SharePoint 2010 kunnen documenten een document ID meekrijgen. Om hier gebruik van te maken moet een feature geactiveerd worden, vervolgens moeten nog wat instellingen geconfigureerd worden.
Het grote voordeel van een dergelijk document ID, is dat deze documenten ook wanneer ze verplaatst worden gevonden kunnen worden. Op basis van het document ID kan een URL opgevraagd worden welke, ondanks dat het document verplaatst, gevonden kan worden.
Belangrijk is om vooraf goed na te denken over hoe men hier men mee om wil gaan.
Zie ook blog van BlairB: http://blogs.technet.com/b/blairb/archive/2009/10/20/new-document-id-feature-in-sharepoint-2010.aspx
Document Sets
Documenten kunnen nu samengevoegd worden tot een document set. Een document set kan bijvoorbeeld toegepast worden als dossiervorming. Aan een document set kan metadata toegevoegd worden. Deze metadata wordt dan opgeslagen in de onderstaande documenten. Ook kan er net zoals een gewoon document, een workflow gestart worden, of kan een gehele set gearchiveerd worden (naar een records management center).
Zie ook blog Didier Danse: http://didierdanse.net/blogs/dev_en/archive/2010/05/16/sharepoint-2010-all-about-document-set.aspx
Taxonomy
Aan items in SharePoint kunnen nu termen gekoppeld worden. Het koppelen van termen wordt mogelijk gemaakt door de Managed Metadata Service. Aan lists, libraries en content types kunnen kolommen toegevoegd worden die hiervan gebruik maken.
De termen zijn in categorien in te delen, waardoor bij een sitecolum aangegeven kan worden welke categorie termen gebruikt kan worden. Voor categorien kun je denken aan:
- Afdelingen
- Vertrouwelijkheid
- Technieken
- Methoden
Deze termen zijn te importeren.
Belangrijk om in de gaten te houden, is dat de wanneer documenten gekoppeld zijn aan managed metadata, clientapplicaties mogelijk dit niet ondersteuning, wat de user-experience ernstig benadeelt.
Meer info over Taxonomy, zie: Information Architecture and the Managed Metadata Service: A to Z van Dan Holme.
Zie ook: http://www.bing.com/videos/watch/video/governing-content-types-policies-and-taxonomy-services-in-sharepoint-2010/10tadfrt5
Templates
Nu is het ook mogelijk om direct vanuit Word een document template dat in SharePoint staat te openen. De templates die beschikbaar zijn, zijn de templates die staan in libraries waar je member van bent.
Manage your External Data using BCS
Asif Rehmani (SharePoint-eLearning.com)
Connecties naar externe systemen zijn te leggen met 2 manieren om te autoriseren:
- Inloggegevens opgeving tijdens het configureren van de koppeling. Dit betekend dat altijd verbinding wordt gemaakt met dezelfde credentials.
- Middels de Secure Store Service, kan een gebruiker verbinding maken met het externe systeem middels zijn eigen credentials. In de Secure Store worden credentials van gebruikers opgeslagen. Hierdoor kan er voor gezorgd worden dat wanneer je inlogd op SharePoint, wat je doet met AD-inloggegevens, je ook data kunt uitlezen uit een ander systeem waarvoor je aparta inloggegevens hebt gekregen.
Voorheen werd deze service Single Sign-On genoemd.
Zie: http://technet.microsoft.com/en-us/library/ee806889.aspx
In SharePoint 2007 heet de Business Connectivity Service, Business Data Connectivty service. De belangrijkste veranderingen zijn:
- Via SharePoint Designer kan de koppeling naar het externe systeem geconfigureerd worden, waar voor de BDC de configuratie nog verliep door het uitschrijven van XML-bestanden.
- Het is nu mogelijk om data uit het externe systeem te manipuleren.
- Bij de BDC was er een timer job die periodiek de data ophaalde uit het externe systeem. Hierdoor werd de data dus gekopieerd naar SharePoint. Aangezien de BDC read-only was, was dit mogelijk. Dit heeft een performance winst, maar maakt wel dat je data niet real time geleverd wordt.
Bij de BCS wordt de data altijd via de externe connectie opgehaald. Er zal dus op performance issues gelet moeten worden.
De BCS kan gebruik maken van verschillende connecties. Voor de BCS is er geen vorm van (optimistic) logging. Wel is het mogelijk wanneer je connecties legt met bijvoorbeeld een web service, validatie toe te voegen.
Een koppeling middels BCS wordt gedefineerd op webapplicatie niveau. Hier moet met de architectuur rekening gehouden worden.
Building Simple Service Applications
Wouter Vugt (Code Counsel)
Dit is de enige sessie voor developers die ik gevolgd heb. Ik ben naar deze sessie gegaan, omdat ik eerder al gehoord en gelezen had dat het mogelijk is om je eigen Service Application te maken voor SharePoint 2010, maar ik mij nooit een goed beeld heb kunnen vormen van wanneer een Service Applicatie te maken. Op deze vraag hoopte ik antwoord te krijgen, alhoewel dit niet helemaal gelukt is, heb ik wel een en ander meegenomen.
Wouter heeft in de SharePoint special van het .Net magazine van september 2010 een artikel geschreven dat precies hier over gaat. Gelukkig is hier ook een digitale versie van: http://dotnetmag.nl/Artikel/1317/SharePoint-SSP-twee-verdiende-plusjes-erbij/NITF?TB_iframe=true
Wouter gaf als tip de developertools CKSDEV. Deze tool is beschikbaar via cksdev.codeplex.com
Dit is een tool waar Wouter Vugt zelf ook aan heeft mee gewerkt. Aangezien ik tijdens het schrijven van deze samenvatting mail binnen krijg van Jurjan Brust, collega van Clockwork, waarin ook hij deze tool aanraadt, denk ik dat deze het vernoemen waard is.
This project extends the Visual Studio 2010 SharePoint project system with advanced templates and tools. Using these extensions you will be able to find relevant information from your SharePoint environments without leaving Visual Studio. You will have greater productivity while developing SharePoint components and you will have greater deployment capabilities on your local SharePoint installation.
Wouter heeft ook een demoproject, waarin te zien is hoe een Service Application te ontwikkelen is: woutersdemos.codeplex.com
Aantal redenen waarom je Service Applicaties zou kunnen willen ontwikkelen.
- Wanneer je meer samenwerking wil tussen sitecollections
- Voor heavy duty tasks
- Wanneer je integratie wil met andere applicaties
Service applications zijn nieuw in SharePoint 2010. In SharePoint 2007 heb je wel de Shared Service Provider. Hiermee kun je een gebruik maken van een bepaald aantal services die bij SharePoint geleverd worden. Met de komst van Application services is het nu mogelijk om zelf services te maken, services te koppelen aan meerdere webapplicaties (kon in SP 2007 ook al), maar ook Service Applications meerdere keren koppelen aan een webapplicatie. De flexibiliteit is daarmee vele malen groter geworden. Tevens zijn er ook een hoop aantal nieuwe Service Applications beschikbaar gekomen. In bijlage 1 een overzicht hiervan.
Information Architecture and the Managed Metadata Service: A to Z
Dan Holme (Intelliem)
Door de Managed Metadata Service te configureren, kan er over meerdere sitecollections (en webapplicaties en farms) heen, gebruik gemaakt worden van dezelfde metadata.
Concreet betekend dit, dat er gebruik gemaakt kan worden van Taxonomy, Folksonomy en Content Types.
Taxonomy en folksonomy
Op internet zijn er discussies te vinden over het verschil tussen taxonomy en folksonomy. De insteek is dat folksonomy unmanaged keywords bevat en taxonomy bevat managed keywords. Wel is het mogelijk als beheerder termen uit de folksonomy over te nemen naar de taxonomy. Wanneer een informatiebeheerder ziet dat bepaalde termen veel gebruik worden en centraal beheerd zouden moeten worden, kan dit dus eenvoudig.
Een informatiebeheerder kan ook synoniemen opgeven van woorden, zodat deze als dezelfde term beschouwd worden. Tevens voorziet de managed metadata service in multilingual support. De talen die ondersteund worden, zijn de talen waarvoor een language pack is geinstalleerd.
Omdat het beheren van termen feitelijk geen werk is voor een beheerder, maar iets is wat bij de business hoort, is het mooi dat het mogelijk is om terms te beheren zonder dat hiervoor toegang voor de Central Administration nodig is. Vanuit een sitecollection kan een gebruiker met voldoende rechten de taxonomy onderhouden.
Terms in de taxonomy zijn als volgt ingedeeld:
Er kunnen term groups aangemaakt worden. Op dit niveau kunnen rechten ingeregeld worden. Zo is het bijvoorbeeld voor te stellen dat er een term group aangemaakt wordt voor termen aangaande HR, waarvoor enkele medewerkers van HR geautoriseerd worden. Zij onderhouden dan de termen met betrekking tot HR. Daarnaast kan er een term group gemaakt worden voor de afdeling Informatie Management, welke zorgdraagt voor de overige termen.
Binnen term groups worden term sets aangemaakt. Een term set kan bijvoorbeeld zijn: Departments, Confidentiality, of Techniques. Wanneer in een sitecollection een sitecolumn voor managed keywords aangemaakt wordt, moet daarbij aangegeven worden uit welke term set de terms moeten komen. Binnen een term set kunnen termen en termsets aangemaakt worden. Zo kan dus een tree opgebouwd worden van term sets.
Een beheerder heeft de mogelijkheid om terms uit verschillende termsets aan elkaar te koppelen, zodat duidelijk is dat ze hetzelfde betekenen, maar thuishoren in beide term sets. Een beheerder kan er ook voor kiezen om een term simpelweg dubbel aan te maken, voor wanneer een woord meerdere betekenissen heeft.
Door terms te gebruiken in lijsten en libraries, is er eenvoudig functionaliteit beschikbaar om te filteren op de items.
Content types
Het meest interessante vond ik de mogelijkheid om content types te delen over meerdere sitecollections. In de Managed metadata service kan opgegeven worden welke sitecollection leading is (Site content hub). Nadat dit opgegeven is in de Managed metadata service, wordt deze waarde read-only! De content types van deze sitecollection worden dan naar de andere sitecollections gepubliceerd. Dit wordt gedaan door middel van timer jobs. Het kan dus even duren voordat een wijziging gepubliceerd is.
Aangezien er maar 1 sitecollection opgegeven kan worden, raadt Dan Holme aan om een aparte sitecollection te maken, specifiek voor het specificeren van content types.