dinsdag 20 december 2011

Management rapportage in Excel van SharePoint lijsten en bibliotheken

Managers houden van Excel. De applicatie geeft ze de mogelijkheid om gegevens op verschillende manieren weer te geven, te analyseren en te rapporteren. Excel biedt daarvoor ook meer dan voldoende mogelijkheden.

SharePoint lijstjes (en de werkboek weergave van lijstjes) bieden helaas niet zoveel mogelijkheden. Excel services (de online versie van Excel, in het kort gezegd) biedt meer mogelijkheden, maar daarvoor zijn technische instellingen nodig en het vergt inspanning van de infrastructuur.

Excel Web Queries in het kort
Gemakkelijker en laagdrempeliger is het gebruik van Excel Web Queries. Hiermee kan informatie vanaf websites worden downloaded (ook automatisch, volgens een bepaalde frequentie) in een Excel workbook en wordt deze informatie in Excel cellen beschikbaar gesteld. De informatie kan vervolgens, als gebruikelijk, worden verwerkt in formules, grafieken, et cetera.

Wat je hiermee nog meer kunt bereiken is onder anderen:
- Het maken van een management dashboard waarin informatie vanuit verschillende bronnen wordt weergegeven. Een gevuld management dashboard kan dan ook offline worden gebruikt.
- Vanuit Excel kan deze informatie natuurlijk ook weer worden gebruikt in andere, b.v. Office, applicaties.

Excel Web Queries maken
Web queries kunnen op verschillende manieren worden aangemaakt:
- In Excel: via het menu Data | From web
- Vanuit SharePoint lijsten en bibliotheken: via het lijst - of bibliotheek menu Actions | Export to Spreadsheet
- Vanuit .iqy bestanden (Connection bestanden)

Wanneer een export naar Excel vanuit een SharePoint lijst of bibliotheek wordt gemaakt wordt een .iqy bestand ter download aangeboden. Dit bestand kan zowel opgeslagen worden om later te openen of meteen geopend worden in Excel (dubbelklikken). Na openen van dit bestand (Excel) wordt de Web query uitgevoerd en wordt het huidige werkblad in het geopende spreadsheet gevuld met de gegevens die met de Web query zijn opgehaald. Een opgeslagen .iqy bestand kan direct in een specifiek werkblad worden gesleept zodat een Excel werkboek meerdere Web queries kan bevatten; per werkblad kunnen de gegevens vanuit een Web query worden opgehaald.

Bij het importeren van een Web query in een Excel werkblad kan worden gekozen voor:
- Weergave van de opgehaalde gegevens als tabel
- Weergave in een PivotTable rapport
- Weergave in een PivotChart en PivotTable rapport

Daarnaast kan gekozen worden voor de precieze lokatie waar de geimporteerde gegevens worden opgeslagen:
- In het reeds geopende werkblad, vanaf een specifieke lokatie (celnaam, b.v. $A$1)
- In een nieuw werkblad
- In een nieuw werkboek

Ook kan, onder anderen, worden aangegeven:
- Of de gegevens automatisch ververst worden bij opening van het Excel werkboek of na een bepaald aantal minuten.
- Of de opgehaalde gegevens in Excel werkboek bij het bewaren van het betreffende werkboek ook moeten worden opgeslagen of moeten worden verwijderd (en alleen de Query zelf in het werkboek wordt opgeslagen).
- Welk connection bestand gebrukt wordt om de gegevens op te halen.

Automatisch verversen van gegevens
Gegevens vanuit een Web query kan automatisch worden ververst door dit aan te geven (properties van de betreffende Web query in Excel). Let wel: het downloaden van verse data kan enige tijd in beslag nemen, dus te snel verversen van data is niet handig.

Voor verdere uitleg over data connections en data bronnen, zie Create, edit, and manage connections to external data. De beschikbare data sources staan in de map "\My Documents\My Data Sources".

Handmatig aanmaken van Web query (.iqy) bestanden
Web queries kunnen ook als tekstbestand (.iqy) in een teksteditor handmatig worden aangemaakt.

Een .iqy bestand de volgende opzet als in het onderstaande voorbeeld: MSN MoneyCentral Belangrijke indices voor investeerders (standaard meegeleverd met bijvoorbeeld Excel 2007):


WEB
1
http://moneycentral.msn.com/investor/external/excel/quotes.asp?symbol=$INDU,$COMP,$TRAN,$UTIL,$DAX,$FTSE,$HSI,$IIX.X,$COMPX,$NI225,$CAC,$SOX.X,$IUX,$OEX,$INX,$STI,$AOI,$CA:OSPTX

Selection=EntirePage
Formatting=All
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False


Web queries op SharePoint lijsten en bibliotheken
Een .iqy bestand met een Web query naar een SharePoint lijst of bibliotheek heeft een invulling als in het onderstaande voorbeeld.


WEB
1
http://portal.demo.intra/NieuwsProject/_vti_bin/owssvr.dll?XMLDATA=1&List={4CE0FF47-3559-47E3-8158-5820814FCBA8}&View={E13E619E-37E7-4FA0-8C82-8C83D3B76BE8}&RowLimit=0&RootFolder=%2fNieuwsProject%2fPages

Selection={4CE0FF47-3559-47E3-8158-5820814FCBA8}-{E13E619E-37E7-4FA0-8C82-8C83D3B76BE8}
EditWebPage=
Formatting=None
PreFormattedTextToColumns=True
ConsecutiveDelimitersAsOne=True
SingleBlockTextImport=False
DisableDateRecognition=False
DisableRedirections=False
SharePointApplication=http://portal.demo.intra/NieuwsProject/_vti_bin
SharePointListView={E13E619E-37E7-4FA0-8C82-8C83D3B76BE8}
SharePointListName={4CE0FF47-3559-47E3-8158-5820814FCBA8}
RootFolder=/NieuwsProject/Pages


Hierin zijn onder anderen gedefinieerd:
- De unieke identifier (GUID, zie http://nl.wikipedia.org/wiki/Globally_Unique_Identifier) van de lijst of bibliotheek waaruit de gegevens worden opgehaald.
- De unieke identifier van de weergave van lijst of bibliotheek waaruit de gegevens worden opgehaald. Het is dus mogelijk om gegevens van aparte views op lijsten en bibliotheken op te halen.

Aandachtspunten
- Om gebruik te maken van (connecties naar) externe gegevens is het van belang dat dit toegestaan wordt vanaf de computer van de eindgebruiker. Zie hiervoor het "Trust Center" en de ingestelde "trusted locations".

Wordt vervolgd
In een komende update van deze blogpost zal ik verder ingaan op de mogelijkheden en wat praktische voorbeelden geven.

Verder lezen
- Use Excel's Web queries to easily view web data
- Get external data from a Web page: uitleg over alle mogelijkheden / parameters van Web queries.
- Integrate Far-Flung Data into Your Spreadsheets with the Help of Web Services
- Excel Web Query Secrets Revealed
- Hacking Excel Web Queries

Uitleg en voorbeelden van het gebruik van externe beleggings informatie in Excel, via Web queries:
- Stock quote and chart from Yahoo! in C#. Hierin wordt ook beschreven hoe Yahoo stockquotes kunnen worden gebruikt.
Free Stock Quotes in Excel.






dinsdag 13 december 2011

Aanpassen van standaard webpagina's voor nieuwe items en bewerken van items: een generieke aanpak

Naar aanleiding van mijn artikel Aanpassen van lijst- en bibliotheekformulieren zonder SharePoint Designer of InfoPath ben ik eens wat verder gaan denken over een wat meer generieke aanpak.

In het artikel beschrijf ik hoe je middels JavaScript velden kunt manipuleren om zo meer controle uit te oefenen of de werking van deze formulieren. De gebruikte code is bruikbaar maar de oplossing is wat ad hoc. En dat moet beter kunnen...

Ik denk hierbij aan het volgende:
- Bij het openen van de web pagina wordt op basis van de lijstvelden een Objectmodel gemaakt van alle aanwezige velden.
- Middels deze objecten kunnen de veldwaarden, opmaak, zichtbaarheid en andere eigenschappen worden ingesteld.
- Speciale velden en objecten voor opslag van informatie voor extra en veldoverstijgende functionaliteit. Denk hierbij aan Google maps lokaties, workflow statussen, KPI informatie, et cetera. Deze informatie kan in speciale web onderdelen (op het Content Editor webonderdeel gebaseerd) gebruikt worden.
- Objecten voor manipuleren van overige SharePoint user interface elementen als menu's.

Bovenstaande kan de eindgebruiker (met de juiste JavaScript/AJAX kennis en ervaring) een breed scala aan extra functionaliteit bieden.

In komende blogs zal ik hier verder op ingaan en e.e.a. uitwerken in praktische voorbeelden.

woensdag 7 december 2011

Spelen met SharePoint 2010 op Windows 7 (64 bits)

SharePoint 2010 stelt verregaande eisen aan omgeving waarop het draait. Een 64 bits Operating System, minimaal 8 Gb intern geheugen (6 Gb met wat meer geduld) en een flinke hoeveelheid schijfruimte.

Een nieuwe pc?
Je kunt natuurlijk meteen een nieuwe pc aanschaffen. In mijn geval een i7 met 12 Gb RAM en 2 Tb schijfruimte. Daarop Windows 2008 server (64 bits uiteraard) en Hyper-V om meerdere severs virtueel te laten draaien. Draait lekker moet ik zeggen, zelfs met SharePoint 2007 en 2010 tegelijk.

Maar naar klanten neem ik die full tower pc niet zo gemakkelijk mee. Dan is een laptop toch iets gemakkelijker...

En op een laptop? Een mogelijkheid...
Maar op een laptop is SharePoint 2010 niet altijd goed mogelijk.
In mijn geval heb ik een laptop met 8 Gb RAM en helaas niet de mogelijkheid om er een ander besturingssysteem op te installeren. Hyper-V kan ik dus wel vergeten. Maar gelukkig is er een manier om toch snel met SharePoint 2010 aan de slag te kunnen, en dat is gebruik te maken van:
- VirtualBox
- "2010 Information Worker Demonstration and Evaluation Virtual Machine": De SharePoint 2010 demo omgeving van Microsoft

2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1)
Een mooie opstap om kennis te maken met SharePoint 2010 is gebruik te maken van een vantevoren ingerichte omgeving die *gratis* bij Microsoft is te downloaden. Deze Virtual Machine kan in Microsoft Hyper-V worden gedraaid. Heb je geen Hyper-V, dan is VirtualBox een leuk alternatief.

VirtualBox
VirtualBox. VirtualBox is een *gratis* produkt van Oracle waarmee VHD bestanden (Microsoft's formaat voor virtuele harddisks, gebruikt in bijvoorbeeld demo installaties) kunnen worden ingelezen. Wel belangrijk: gebruik de IDE controller, en niet de SATA controller bij het koppelen van de SharePoint 2010 Virtual harddisk, anders start de virtuele machine niet op.

Waar zijn de voorgedefinieerde sites?
Helaas kon ik, afgezien van de Central Administration, de overige voorgedefinieerde sites (hrweb, finweb, ...) niet bereiken. Wat hielp was het aanpassen van de hosts file (te vinden onder: C:\Windows\System32\drivers\etc). Daarin maakte in additionele entries voor deze sites en gebruikte ik de IP-adressen die ik met het commando ipconfig /all terugvond (IPv4 address).


# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host

# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost

192.168.150.6 finweb.contoso.com
192.168.150.6 finweb

192.168.150.6 intranet.contoso.com
192.168.150.6 intranet

192.168.150.6 hrweb.contoso.com
192.168.150.6 hrweb


Aan de slag
Zowel VirtualBox als het SharePoint 2010 demo image zijn geen volledige omgevingen die gebruikt kunnen worden voor bijvoorbeeld ontwikkelwerk. Daarbij zijn ook, als de evaluatieperiode voorbij is, licenties nodig voor de software. Maar voor een snelle kennismaking met SharePoint 2010 bieden ze aardige mogelijkheden. Wat betreft die kennismaking: in de Information Worker Demonstration and Evaluation Virtual Machine zijn demo beschrijvingen en implementaties te vinden. Deze zijn leerzaam om te doorlopen en om mee te experimenteren. En zo leer je SharePoint tenslotte het beste kennen; niet (alleen) vanuit de boeken, maar door ermee te werken.

dinsdag 29 november 2011

Handig (voor bijvoorbeeld Twitter): verkleinen van een lange URL

Soms is het handig een lange URL te kunnen inkorten. Neem nu als voorbeeld Twitter: een zeer beperkte ruimte voor je berichtje (140 tekens) en dan ook nog eens een lange URL moeten toevoegen? Verklein 'm in de website TinyURL...

Zie http://tinyurl.com/.

zondag 27 november 2011

Handig: URL encoder

Sommige karakters kun je maar beter niet hebben in een webadres (URL). Deze karakters worden het best vervangen door speciale "woorden". Een handige tool om de te vermijden karakters in een webadres te vervangen kun je vinden in http://blooberry.com/indexdot/html/topics/urlencoding.htm. Vul het webadres in, klik op de knop de encoding wordt gedaan.

Voorbeeld:
http://portal/TestLijst1/NewForm.aspx?DefaultCategorie="Categorie 3"

wordt encoded naar:

http://portal/TestLijst1/NewForm.aspx?DefaultCategorie=%22Categorie%203%22

Hierin zijn de aanhalingstekens vervangen door %22 en de spaties door %20.

vrijdag 25 november 2011

Handige teksteditors: NoteTab en Notepad++

Voor de die hards en diegenen die gewoon HTML/JavaScript code willen bekijken is NoteTab een aanrader: een *gratis* (light versie) teksteditor (ja, die bestaan nog, uit een ver verleden) met leuke mogelijkheden.

Info en downloaden? Zie: http://www.notetab.com.

donderdag 24 november 2011

De IE Developer Toolbar: handige tool voor het analyseren van web pagina's

Wat bij de analyse van SharePoint web pagina's enorm helpt is de IE Developer Toolbar, een add-on op Internet Explorer waarin je de DOM objectstructuur van een webpagina kunt bekijken en doorzoeken. Het verdeelt het browser window in twee delen: een bovenliggend deel met de opgemaakte HTML pagina, en een onderliggend deel waarin de eigenschappen van de DOM-elementen worden weergegeven. De IE Developer Toolbar is te downloaden op de volgende lokatie: http://www.microsoft.com/download/en/details.aspx?id=18359.

Een praktische toepassing
Voor een praktische toepassing van de IE Developer Toolbar, zie mijn artikel Aanpassen van lijst- en bibliotheekformulieren zonder SharePoint Designer of InfoPath.

Aanpassen van lijst- en bibliotheekformulieren zonder SharePoint Designer of InfoPath

Kent u de frustratie? Geen InfoPath voorhanden, geen SharePoint Designer voorhanden, en toch een vriendelijk doch dringend verzoek om het invullen van een formulier (b.v. voor een lijst- of bibliotheek-item) aan te passen. Valide redenen voor dit soort verzoeken zat; vooringevulde velden, speciale checks op de veldwaarden (b.v. een ELF check voor bankrekeningnummers), waarschuwingen, extra hulp voor gebruikers, et cetera.
En met InfoPath kun je zulke functionaliteit redelijk simpel implementeren in formulieren, en middels SharePoint designer kun je de standaard lijst- en bibliotheek invulformulieren relatief simpel aanpassen. Maar zonder deze tools... tsja... het Edit page - menu (onder het Site actions - menu ontbreekt nueenmaal bij deze standaard lijst- en bibliotheek invulformulieren. En wat doe je dan?

Gelukkig bestaat er een manier om toch, zonder InfoPath en Designer, en gewoon "met de browser" de standaard lijst- en bibliotheek invulformulieren kunt wijzigen.

De truuk bestaat eruit om de URL van het betreffende invulformulier te voorzien van de parameter ToolPaneView=2.

ToolPaneView en andere parameters
Voor de volledigheid: de parameter ToolPaneView kent de volgende waarden:
- ToolPaneView=2: Toevoegen van Webparts (browse)
- ToolPaneView=3: Add Web Parts (zoeken)

Naast de ToolPaneView zijn de volgende parameters beschikbaar:
- mode=view: View Mode
- mode=edit: Edit Mode

- PageView=Shared: Shared Mode, voor iedere gebruiker zichtbaar
- PageView=Personal: Personal Mode, voor de huidge gebruiker zichtbaar

Terug naar onze casus: ToolPaneView=2...
Wat we willen bereiken is dat we meer controle hebben over de invoer van gegevens in bijvoorbeeld een lijst. Hiertoe zijn twee standaard webpagina's beschikbaar:
NewForm.aspx: voor het aanmaken van een nieuw item in een lijst
EditForm.aspx: voor het wijzigen van een item in een lijst

Voorbeeld:
Stel, we willen het standaard formulier voor het aanmaken van een nieuw item in de lijst "Taken" wijzigen. We gebruiken dan de URL:

http://portal.demo.intra/DigitaalLoket/Lists/Taken/NewForm.aspx?ToolPaneView=2

Aanpassingen aan het standaard formulier
Zoals ik in mijn artikel JavaScript in Inhoudseditor webonderdelen: eenvoudige uitbreidingen op webpagina's heb beschreven kan de inhoud van een webpagina worden gewijzigd door gebruik te maken van JavaScript dat in het Inhoudseditor webonderdeel (Content Editor webpart) kan worden ondergebracht. Hiermee kan extra functionaliteit (lees: controles, wijzigingen in veldwaarden) worden geimplementeerd.

Gewenste aanpassingen
Wat in een formulier aangepast zou kunnen worden zijn, bijvoorbeeld, de volgende zaken:
- Controles op veldwaarden
- Invullen van standaard waarden, immers: deze kunnen via de standaard mogelijkheden van SharePoint slechts 1 maar ingesteld worden en dat is vaak onvoldoende, zelfs met het gebruik van berekende velden (Calculated fields).
- Geven van extra toelichting bij de invoer van gegevens (als een soort online hulp).

Middels JavaScript kunnen bovenstaande aanpassingen uitgevoerd worden. Dit kan gebeuren door triggers te definieren op velden en waarden van velden aan te passen door deze direct in het DOM object model aan te passen. Wat hierbij natuurlijk van belang is is het terugvinden van de velden in het DOM object model. Dat kan door de HTML broncode te analyseren, maar ook door het bekijken van het DOM object model achter de betreffende webpagina middels een tool: de IE Developer Toolbar.

IE Developer Toolbar
Wat in dergelijk generd enorm helpt is de IE Developer Toolbar, een add-on op Internet Explorer waarin je de DOM objectstructuur van een webpagina kunt bekijken en doorzoeken. Het verdeelt het browser window in twee delen: een bovenliggend deel met de opgemaakte HTML pagina, en een onderliggend deel waarin de eigenschappen van de DOM-elementen worden weergegeven. De IE Developer Toolbar is te downloaden op de volgende lokatie: http://www.microsoft.com/download/en/details.aspx?id=18359.

Wat hierin natuurlijk van belang is dat dit soort aanpassingen niet lastig onderhoudbaar worden en dat het niet ten koste gaat van de stabiliteit van de webformulieren. Wat dat laatste betreft: een webpagina kan door een slecht functionerend JavaScript de browser "ophangen". Neem als voorbeelden hiervan een JavaScript dat bestaande functionaliteit vervangt of zo lang duurt dat het laden van een pagina een eeuwigheid laat duren. En dat kan niet de bedoeling zijn. Wees er dus voorzichtig mee. Mocht een pagina toch slecht gaan functioneren, kan het web onderdeel dat het JavaScript bevat altijd middels een speciale view (zie hiervoor mijn artikelen: Handige URL's en Help, ik heb wat fout gedaan! Eerste hulp bij SharePoint problemen... (onderdeel "Herstel van web pagina's die niet correct worden weergegeven") uit de pagina worden verwijderd.

Een praktisch voorbeeld
Stel: we willen bij het aanmaken van een lijst-item de volgende zaken realiseren:
- Bepaalde velden een standaard waarde meegeven
- Op bepaalde velden controles uitvoeren

Allereerst moeten we ervoor zorgen dat deze velden in JavaScript te benaderen zijn. Dit kan door een JavaScript toe te voegen in een Content Editor webpart onderaan de pagina (onderaan omdat dan de bovenliggende velden beschikbaar en dus ook benaderbaar zijn in het DOM object model). Dat script zoekt de velden op in het DOM model van de betreffende webpagina. De velden zijn in de HTML code van de pagina terug te vinden door te zoeken op de HTML tag en de title van het veld (zoals die bekend is als column naam in de SharePoint lijst), bijvoorbeeld een input veld met als title "Achternaam". Voorbeeld: input ... title="Achternaam".
Het JavaScript zoekt deze velden op en houdt verwijzingen ernaar bij zodat ze te gebruiken zijn als objecten en derhalve bewerkt kunnen worden.

Hiervoor kan de volgende JavaScript functie worden gebruikt:

function GetFieldObject( iTagName, iTitle ) {
var vObject;
var vObjects = document.getElementsByTagName( iTagName );
var i = 0;

for ( i = 0; i < vObjects.length; ++i ) {

if ( vObjects[i].getAttribute("title") == iTitle ) {
vObject = vObjects[i];
}

}

return( vObject );
}


Deze functie kan als volgt worden gebruikt:

var vFieldTitle = GetFieldObject( "input", "Title" );


Als we van ieder veld een verwijzing (variabele) beschikbaar hebben kunnen we daar verschillende dingen mee:
- Veldwaarden uitlezen en instellen (standaard waarden).
- Functies aan toewijzen, die bijvoorbeeld worden uitgevoerd als een veld wordt gewijzigd.
- Velden verbergen en zichtbaar maken
- Veldkleur veranderen, als een veld bijvoorbeeld een verkeerde waarde heeft

Enkele voorbeelden:

Uitvoeren van de functie EvaluateForm nadat een veld is ingevuld:

vFieldTitle.onblur = EvaluateForm;

Houd er rekening mee dat andere veldtypen ook andere event triggers gebruiken. Wanneer een combo box van waarde verandert, moet je onchange gebruiken in plaats van onblur.

Instellen van een veldwaarde:

vFieldTitle.value = vGeselecteerdFormulier;


Veranderen van kleur van een veld:

vFieldTitle.style.color = "#00ff00";


Sommige velden zijn wat lastiger...
Datum/tijd velden bestaan in Sharepoint uit meerdere delen: een datum-, uren- en minuten veld. Bovendien zijn de waarden van deze velden ook nog eens beperkt:
Uren velden (combobox) kunnen alleen waarden bevatten als "10 AM" en "12 PM", terwijl minuten velden (combobox) alleen waarden bevatten als "00", "05", .. "55". En deze waarden zijn ook nog eens afhankelijk van de versie van SharePoint en instellingen (reden te meer om voorzichtig te zijn met dit soort oplossingen). Om deze velden te kunnen manipuleren en dit ook nog eens in leesbare JavaScript code te implementeren, kun je gebruik maken van JavaScript objecten die de betreffende veldverwijzingen bevatten. Heb je zo'n object nueenmaal aangemaakt kun je de data/tijden manipuleren. Wat daarbij ook handig is is een functie waarmee je JavaScript data/tijden kunt converteren naar waarden in je JavaScript object. Al met al een hele klus.

Zichtbaar maken of verbergen van velden
Hiertoe moet een gehele rij in de tabel (TR) worden verborgen of zichtbaar worden gemaakt (style.display = "none" of "").

Dit kan gebeuren door een functie te maken die als volgt wordt aangeroepen:

HideViewFieldRow( "WorkflowStatus_Timestamp_Ingevoerd", true );

De eerste parameter is de naam die voor het betreffende veld in de webpagina staat, bijvoorbeeld "Title".
De tweede parameter geeft de zichtbaarheid aan van het betreffende veld:
- true: zichtbaar
- false: onzichtbaar

Onderstaande functies realiseren dit:

function HideViewFieldRow( iLabel, iVisible ) {
var vFieldRow = GetFieldRow( iLabel );

if ( iVisible )
vFieldRow.style.display = "";
else
vFieldRow.style.display = "none";

}

function GetFieldRow( iLabel ) {

// Scan op

var vObjects = document.getElementsByTagName( "TD" );
var i = 0;

for ( i = 0; i < vObjects.length; ++i ) {

if ( vObjects[i].className == "ms-formlabel" &&
vObjects[i].innerHTML.indexOf( iLabel ) != -1 ) {
// Return parent node ()
return( vObjects[i].parentNode );
}

}

// iLabel Niet gevonden
return( null );

}


Instellen van standaard waarden / instellingen a.d.h.v. URL parameters
De default waarde van een veld of andere instellingen kunnen eenvoudig worden gerealiseerd door parameters aan de URL van de webpagina toe te voegen die in het JavaScript worden opgevangen. Hiermee kunnen velden worden ingevuld, aan- en uit worden gezet, et cetera.

Voorbeeld:
Een URL met parameters:

http://portal.demo.intra/DL2/Lists/TestLijst1/NewForm.aspx?iFormulierNaam=Categorie%203

Hierin wordt voor de parameter iFormulierNaam de waarde "Categorie 3" meegegeven.

En middels het onderstaande JavaScript worden de parameters ingelezen en gebruikt; de parameter iFormulierNaam wordt gebruikt om de waarde van de combobox vFieldCategorie in te stellen.

function GetParm (testing) {

testing = testing.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+testing+"=([^&#]*)";
var regex = new RegExp( regexS );

var vURL = window.location.href;
vURL = vURL.replace("%20", " ");

var results = regex.exec( vURL );
if( results == null )
return "";
else
return results[1];
}

function GetAndSetDefaults () {

var vGeselecteerdFormulier = GetParm( "iFormulierNaam" );
vFieldCategorie.value = vGeselecteerdFormulier;

}


Let op: in het bovenstaande script moet de URL encoding (zie ook: Handig: URL encoder) ook worden uitgefilterd. Dit is in het voorbeeld deels gedaan; de %20 wordt vervangen door een spatie.

Bewerken van meerdere velden tegelijk
Door gebruik te maken van arrays (van objecten) kunnen meerdere velden tegelijk worden bewerkt:

var vFormulierDeel1 = [ vFieldCategorie, vFieldTitle, vFieldAchternaam ];


Deze array kan als parameter worden doorgespeeld aan functies die deze velden tegelijk bijvoorbeeld verbergen of zichtbaar maken. Dit is bruikbaar wanneer verschillende personen verschillende delen van een formulier moeten invullen en de rest van het formulier niet mogen zien en/of bewerken.

Een stapje verder: een primitieve workflow met JavaScript
SharePoint ondersteunt standaard maar een beperkt aantal workflow typen. Vaak bieden deze mogelijkheden net wat te veel beperkingen. Goed alternatief is natuurlijk gebruik te maken van SharePoint Designer waarin je zelf workflows kunt definieren, of InfoPath waarin je workflow kunt simuleren door een formulier een bepaalde status mee te geven. Echter: deze tools zijn niet altijd voorhanden.
In die gevallen kun je overwegen om workflow te simuleren door de status van een formulier als veld (lijstkolom) op te nemen en op basis hiervan middels JavaScript delen van het formulier te tonen of te verbergen voor personen die in deze workflow betrokken worden. Ook is het mogelijk om aan de verschillende stappen in de workflow een timestamp toe te voegen (voor iedere stap een aparte kolom/veld) die automatisch gevuld wordt wanneer het formulier in een bepaalde status wordt ingevuld.

Een stap verder: gebruik JQuery
JQuery is een JavaScript bibliotheek waarmee relatief simpel het DOM object model van een HTML pagina kan worden bewerkt. De bovenstaande voorbeelden kunnen hiermee gemakkelijker worden gemplementeerd. Het is het zeker waard je eens te verdiepen in de mogelijkheden ervan. In een komende blogpost zal ik hier wat voorbeelden van geven. De JQuery JavaScript bibliotheek kan aan SharePoint Masterpages worden toegevoegd, of opgenomen worden in een SharePoint bibliotheek (als dat is toegestaan), waarna de JQuery functies in Web pagina's (Content Editor Web onderdelen) kunnen worden gebruikt. Voor een eerste kennismaking met JQuery, zie http://jquery.com/.

Kanttekeningen
Ofschoon het aanpassen van de "standaard" gebruikersinterface technisch mogelijk is, is het niet altijd wenselijk. In het algemeen geldt voor SharePoint (maar ook alle andere standaard platformen die door niet ICT specialisten kunnen worden aangepast en uitgebreid) dat zoveel mogelijk gestreefd moet worden naar een "standaard", dat wil zeggen: uitzonderingen zoveel mogelijk vermijden. Reden hiervan is dat uitzonderingen moeite (en dus: geld en doorlooptijd) kosten. En die moeite komt meestal ongelegen, bijvoorbeeld tijdens migratie naar een nieuwe versie van het platform of tijdens een upgrade waarin over het hele platform wijzigingen worden doorgevoerd. Ook kunnen versieverschillen (talen, regionale instellingen) roet in het eten gooien. Tijdens dergelijke acties moeten voor iedere uitzondering op de standaard voorzieningen getroffen worden om de uitzondering nog te laten functioneren na de wijziging. En als iedereen ongecontroleerd uitzonderingen kan doorvoeren kan dit tot veel onvoorzien werk leiden.

Een voorbeeld:
In een platform zijn door eindgebruikers een aantal functies aangepast, zonder overleg met de ICT afdeling. Tijdens de migratie lijkt alles goed te gaan, de ICT afdeling voert een automatische upgrade uit en de nieuwe versie van het platform gaat live. Tijdens het gebruik van de nieuwe versie van het platform blijkt al gauw dat sommige functies niet naar behoren functioneren. Hiervan worden meldingen gedaan ("de nieuwe versie doet het niet") en na analyse komen de aanpassingen aan het licht. Vervolgens moet bekeken worden hoe de aanpassingen weer functioneel gemaakt kunnen worden en er ontstaat een discussie of deze wijzigingen nog wel wenselijk zijn. De gebruikers zien de aanpassingen als "vervorven rechten" en de ICT afdeling zal onder druk gezet worden deze wijzigingen als maatwerk te implementeren. En intussen is de functionaliteit voor de eindgebruiker niet te gebruiken.
Een onwenselijke situatie dus.

Om dit soort situaties te voorkomen zullen, voordat aanpassingen uitgevoerd worden, de volgende overwegingen gemaakt moeten worden:
- Is de aanpassing echt noodzakelijk? Kan de functionaliteit echt niet op een geaccepteerde "SharePoint standaard" wijze worden geimplementeerd?
- Als aanpassing noodzakelijk is, is er meer vraag naar deze functionaliteit zodat voor iedere vraag een standaard oplossing (aanpassing) kan worden geimplementeerd? Kijk hiervoor ook verder dan SharePoint sites, zie hiervoor ook mijn artikel Gebruik je hele gereedschapskist (dus niet alleen SharePoint websites)!
- Hoe moet met deze wijziging worden omgegaan wanneer platform brede wijzigingen (b.v. upgrade, migratie) worden doorgevoerd? Zie hiervoor ook mijn artikel over maatwerk Out-of-box of maatwerk, that's the question (HansR on Architecture).

In het algemeen geldt: eerst nadenken, dan doen. Da's een stuk goedkoper dan andersom.

(een collega was het ten dele eens met de bovenstaande stelling. Zijn punt: "fouten maken kunnen inderdaad kostbaar zijn maar kunnen ook heel veel extra (nuttige) kennis opleveren.". Daarmee kan ik het helemaal eens zijn: van fouten maken leer je. Een kleine kanttekening hierbij: bij het ondernemen heb je ruimte nodig om te experimenteren, maar om levensvatbaar te blijven moet deze ruimte wel gemanaged (lees: beperkt) worden.)

En nu in SharePoint 2010, met een betere opzet
Intussen heb ik een vervolg blogpost op deze post gepubliceerd met daarin bescheven hoe de bovenstaande truuks in SharePoint 2010 kunnen worden toegepast. Ik heb daarin een wat betere opzet gebruikt waarin de SharePoint velden in een JavaScript object model worden gezet. Dit als een soort tussenlaag tussen het DOM objectmodel en de intelligentie in de web pagina. Dit is te lezen in Aanpassen van lijst- en bibliotheekformulieren in SharePoint 2010, zonder SharePoint Designer of InfoPath.




vrijdag 11 november 2011

Gebruik je hele gereedschapskist (dus niet alleen SharePoint websites)!

Soms kan ik wel van de daken roepen. Dit is niet iets dat ik vaak bij klanten doe, tenzij ik te vroeg mijn koffie uit de automaat tracht te halen, het blijkt dat ik eerst een bekertje had moeten plaatsen en de automaat de hete koffie plichtsgetrouw maar niet gebruiksvriendelijk over mijn hand giet. De reden waarom ik dit soms figuurlijk wil doen is dat SharePoint weer een keer als Steen der wijzen wordt gebruikt. Nogmaals: het is een mooi, veelomvattend platform, maar soms zijn er handiger oplossingen waarin SharePoint een onderdeel is, en niet de totale oplossing. Dit vergt echter een kritische blik en vantevoren nadenken.

Maar wat is het geval?
SharePoint wordt vaak inzet als portal (in de vorm van en website), als (web) toegangsdeur en bewaarplaats voor documenten, andere informatie en functionaliteit. Dat is op zich terecht, want SharePoint leent zich daar uitstekend voor. Maar bij het doen van "dagelijks werk" hebben eindgebruikers nueenmaal indivuele eisen en wensen. En gezien eindgebruikers zowel de beschikking hebben over een ruime hoeveelheid aan gereedschappen (lees: applicaties en apparatuur) en ze de laatste decennia veel ruimte hebben gekregen hun eigen informatiewerkplek (lees: pc, desktop, "windows" of andere omgeving) zelf in te richten, is het opleggen van een nieuwe werkwijze (lees: een website waarin ineens (samen)gewerkt moet worden), een uitdaging.

Een concreet voorbeeld: de "startpagina"
Een voorbeeld van wat ik in de praktijk tegenkom is de zogenaamde startpagina; een pagina die als verplichte toegangspoort wordt gebruik voor functionaliteit die ook (of beter) via andere wegen kan worden benaderd. Neem nu een startpagina voor het maken van vergadersites. Een vergadersite is een SharePoint website waarin informatie over een vergadering en documentatie bij een vergadering wordt opgeslagen. Aanmaken ervan wordt verplicht gesteld via de startpagina terwijl vergaderverzoeken door eindgebruikers worden gemaakt in Outlook. De eindgebruiker moet dan twee handelingen uitvoeren in twee verschillende applicaties: namelijk aanmaken van een nieuwe vergadering in Outlook en de bijbehorende website aanmaken via de startpagina in SharePoint. En tot overmaat van ramp moet de eindgebruiker de vergadersite ook nog op de een of andere manier laten gebruiken door de deelnemers aan de vergadering. Dat kan hij doen door de een mail te sturen of door de link in de vergadersite op te nemen. Dit legt de eindgebruiker dus een omslachtige manier van werken op die in de praktijk natuurlijk slecht zal worden gebruikt en zal worden omzeild.
Een betere oplossing voor de bovenstaande casus is de vergadersites via Outlook te kunnen aanmaken en beheren en de startpagina te gebruiken als "een handig overzicht van alle vergaderingen". Zo sluit de SharePoint vergaderruimte aan op de vertrouwde en handige werkwijze van de eindgebruiker. Gevolg: de eindgebruiker is eerder geneigd vergadersites te gebruiken en informatie wordt beter en op een handiger manier gedeeld; deelnemers aan de vergadering hebben bijvoorbeeld allemaal dezelfde versies van agenda's, notulen en andere documentatie.

In het bovenstaande voorbeeld is duidelijk is dat de inzet van alleen SharePoint (websites) onvoldoende (en zelfs onhandig) is.

Wat hier verkeerd gaat is dat uitsluitend wordt uitgegaan van de website functie van SharePoint, niet van het totaal aan gereedschappen (lees: apparatuur en applicaties) die de gebruiker ter beschiking heeft. Daarmee wordt SharePoint, en niet de eindgebruiker, als uitgangspunt genomen. En dat is fundamenteel fout.

Uitgangspunt: de eindgebruiker
Uitgangspunt zal altijd moeten zijn: de eindgebruiker. In dit geval natuurlijk gemodelleerd in een persona (of meerdere persona's). Een persona, een archetype van een gebruiker, ofwel een karakterisering van een bepaald type van gebruiker (zie: http://nl.wikipedia.org/wiki/Persona_(IT)), geeft de analist, ontwerper, bouwer inzicht in de doelstellingen, omstandigheden en voorkeuren van een eindgebruiker(stype). Daarmee kan de te bouwen oplossing beter afgestemd worden op de behoeften van de eindgebruiker. Wat hierin, mijnsinziens, nogal eens over het hoofd gezien wordt, maar toch belangrijk is, zijn de gereedschappen die de eindgebruiker tot zijn beschikking heeft en het gebruik ervan voor zijn taken in de diverse omstandigheden waarin deze eindgebruiker terecht kan komen. Klinkt misschien cryptisch? Laat ik een concreet voorbeeld geven...

Maak kennis met de Accountmanager
Persona Accountmanager heeft als taak om produkten bij klanten te verkopen, klanten voor te lichten en klanten te vragen hoe ze de producten ervaren. 't Is een drukke baan waarvoor hij veel onderweg is en onder hoge druk moet presteren. Hij werkt dagelijks in de ochtend op kantoor en tegen de middag gaat hij naar zijn afspraken. Als hij de afspraken heeft gehad gaat hij naar huis en werkt hij daar op zijn laptop verder. Hij heeft daarbij toegang tot het netwerk van zijn werkgever.

De accountmanager werkt onder drie verschillende omstandigheden:
- Op kantoor
- Onderweg, in de auto
- Bij de klant
- Thuis

De accountmanager heeft de beschikking over de volgende gereedschappen:
- Zijn laptop, met daarop MS-Office (Word, Excel, Outlook, Access en PowerPoint ('t blijft een accountmanager), VPN applicatie voor toegang tot het netwerk van zijn werkgever, een WiFi zender/ontvanger, een synchronisatie applicatie om mail met zijn smartphone uit te wisselen.
- SharePoint: de verzamelplaats voor alle documenten van zijn verkoopafdeling, waarvoor een speciale site is ingericht. Hierin zijn offertes, documentatie over de procedures, klantinformatie et cetera opgeslagen. De omgeving wordt door alle accountmanagers gebruikt.
- Zijn smartphone, met daarop een e-mail "App", een "App" voor navigatie, een WiFi zender/ontvanger en GPS (voor zijn navigatie)
- Een WiFi thuisnetwerk voor thuisgebruik van zijn laptop.

In de bovenstaande omstandigheden kunnen niet alle gereedschappen gebruikt worden. En daarbij heeft de accountmanager onder verschillende omstandigheden een voorkeur voor bepaalde gereedschappen.

Voorbeelden
Enkele voorbeelden:
- Op werk mailt de accountmanager met Outlook vanaf zijn laptop. Gebruik van zijn SmartPhone is voor hem minder gebruiksvriendelijk, tenzij hij natuurlijk in een vergadering zit.
- De accountmanager werkt veel in Outlook, Excel en PowerPoint. De documenten slaat hij voornamelijk op op zijn lokale harde schijf. Definitieve versies en versies die door anderen beoordeeld of gebruikt worden, upload hij naar SharePoint (als hij op dat moment tenminste toeganbg heeft tot het netwerk van zijn werkgever). Vanwege de drukte schiet het "delen" van documenten via SharePoint er in de praktijk weleens bij in.
- Onderweg mail de accountmanager via zijn SmartPhone (even aangenomen dat de auto dan stil staat).
- Bij de klant heeft de accountmanager geen toegang tot internet en daarmee ook niet tot het netwerk van zijn werkgever (dit is een aanname voor deze casus, in de praktijk kan toegang technisch mogelijk zijn). Zodoende kan hij niet mailen, en niet bij documenten (SharePoint). Hij kan alleen offline werken.- Thuis heeft de accountmanager via zijn laptop toegang tot dezelfde informatie en applicaties als op werk.

Uit het bovenstaande blijkt dat de accountmanager de beschikking heeft over een aantal gereedschappen die hij onder verschillende omstandigheden wel, liever niet of helemaal niet kan gebruiken. Wat al grote verbeteringen zouden zijn in de gereedschapset van deze accountmanager zijn:
- Kunnen mailen van documenten naar dde gezamenlijke SharePoint site.
- Documenten beschikbaar stellen via een Outlook folder zodat de accountmanager voor de meest recente documenten niet naar de SharePoint web site hoeft te navigeren.
- Automatische synchronisatie van lokaal (laptop) opgeslagen documenten met de documenten in de SharePoint site.

En wat daar natuurlijk bij hoort is een instructie / training om de gereedschappen doeltreffend en doelmatig te gebruiken.

De juiste communicatiemix
Bovenstaande verbeteringen kunnen natuurlijk verder worden aangevuld, maar wat ik ermee wil zeggen is dat hierin verder wordt gekeken dan SharePoint zelf. Er wordt rekening gehouden met (bijna) alle gereedschappen en (bijna) alle omstandigheden waarin de persona zijn taken uitvoert. In andere woorden: de "communicatiemix" (zie voor een aardige definitie hiervan: http://pensioen-wiki.wikidot.com/communicatiemix) wordt zoveel mogelijk afgestemd op de taken en omstandigheden van deze persona.

Te veel focus op websites
In SharePoint implementaties zie ik in de praktijk echter een te grote focus op de website functie van SharePoint en daarmee wordt de eindgebruiker verplicht om alle functionaliteit en informatie via de webbrowser te benaderen. En dat legt de gebruiker beperkingen op, bijvoorbeeld:
- De website is lastiger te gebruiken op apparatuur met een kleiner beeldscherm als SmartPhones
- De gebruiker moet op dat moment toegang hebben tot de SharePoint omgeving, online zijn en b.v. via VPN toegang hebben
- De gebruiker moet zijn voorkeur werkwijze aanpassen. Nu moet hij documenten vanuit een website ophalen en, na aanpassen, hierin weer uploaden.

De makkelijkste weg kan leiden tot ondoelmatig (samen)werken
En in de praktijk zal de eindgebruiker (en zeker eindgebruikers die het druk hebben, zoals onze Accountmanager) de makkelijkste weg kiezen en de beste manier van werken wellicht omzeilen. Dit heeft gevolgen voor het doelmatig uitvoeren van taken (ergens omheen werken kost nueenmaal meer tijd dan nodig), en voor het doelmatig kunnen samenwerken (delen van informatie gebeurt nu minder en meer op ad hoc basis).

Conclusie en aanbevelingen
Bij het bedenken van gebruikersondersteuning wordt vaak uitsluitend uitgegaan van slechts 1 stuk gereedschap, vaak alleen de website functie van SharePoint, niet van het totaal aan de voor de eindgebruiker beschikbare gereedschappen (lees: apparatuur en applicaties). Daarmee worden oplossingen bedacht die niet aansluiten op de behoeften en mogelijkheden van de eindgebruiker, hetgeen het doelmatig uitvoeren van taken en samenwerking niet ten goede komt.
Denk dus breder dan websites en inventariseer eerst de beschikbare gereedschappen en de omstandigheden waarin deze gebruikt kunnen worden.
't Is weer een kwestie van (durven) nadenken voordat de weg van de implementatie wordt bewandeld, en het risico nemen dat dat niet altijd in dank wordt afgenomen.

Meer lezen?
Gebruik van Excel voor het ophalen en verwerken van gegevens vanaf het web (en dus ook SharePoint lijsten): Management rapportage in Excel.

zaterdag 5 november 2011

Berekeningen in SharePoint: berekende velden

Waarom een artikel schrijven als je al een aantal mooie stukken documentatie hebt gevonden?

Formules kunnen gebruikt worden voor de bepaling van de standaard (default) waarde in een kolom maar ook voor de berekende waarde van een kolom en in filters (views, weergaven).

Formules en functies

Calculate data in lists or libraries

Date Functions in Calculated Fields

Datum berekeningen

Calculate data in lists or libraries:

  • Add a calculated column to a list or library

  • Make a calculated column available to other lists or libraries

  • Add a calculated site column to a list or library


Functions for use in a MOSS 2007 column
Today] en [Me] zijn alom bekend, maar er zijn veel meer functies.

Voorbeelden van veel gebruikte formules

Veelgebruikte Datum/Tijd functies

Let op: De waarde van een berekende kolom kan alleen van het type:
- Single line of text
- Number (1, 1.0, 100)
- Currency ($, ¥, €)
- Date and Time
- Yes/No
zijn.

Let op: Alleen in kolommen van het type "Calculated (calculation based on other columns)" kunnen verwijzingen gebruikt worden naar andere kolommen. Als je een verwijzing probeert te gebruiken in een formule voor de standaard (default) waarden van een kolom (Calculated Value), krijg je de melding: "The formula contains reference(s) to field(s).".

Let op: De waarde van een berekende kolom wordt pas aangepast (berekend) als het betreffende (lijst) item wordt aangepast (bewaard).

Let op: Berekende kolommen kunnen geen functies bevatten als [Today] of [Me]. Dit geeft de foutmelding: "Calculated columns cannot contain volatile functions like [Today] and [Me].".
Om dergelijke functies toch te gebruiken, kun je de truuk gebruiken die in dit artikel wordt beschreven. Hierin wordt een extra kolom (b.v. "MyToday") aangemaakt waarnaar je wel in een formule kunt verwijzen. Deze truuk, echter, werkt in veel gevallen niet zoals je zou verwachten (zie dit artikel). De extra kolom (b.v. "MyToday") is namelijk statisch, deze verandert niet van waarde en blijft dus altijd de initiele waarde hebben.
In situaties waarin je items wilt tonen die b.v. ouder zijn dan een bepaalde datum kun je wel gebruik maken van [Today], namelijk in een filter in een view.

Let op: Spaties in filter formules zijn niet toegestaan: b.v. [Today] – 7 is fout, [Today]-7 is goed.

Let op: De Nederlandse versie van SharePoint (zoals dat ook in Excel het geval is) kent wat verschillen ten opzichte van de Engelstalige versie van SharePoint wat betreft formules, b.v. functienamen.

(‘t Artikel komt later. Echt.)

maandag 24 oktober 2011

Gebruiksstatistieken: weet wat je meet!

Ik heb deze week een flink deel van de dag met mijn hoofd in Excel gezeten. Niet dat ik plotseling een management functie ambieer, maar omdat ik een goed (beter) beeld wilde hebben van het gebruik van een bepaalde SharePoint omgeving. Dit om een goede inschatting te krijgen van de hoeveelheid verkeer die ik kan verwachten op een applicatie die vanuit een SharePoint webpagina wordt aangesproken.

Ook een mooie gelegenheid om eens wat gedachten over web statistieken op een rijtje te zetten...

Lees verder op: Gebruiksstatistieken... weet wat je meet!.

donderdag 6 oktober 2011

Good, better, best: welke office versie past het best bij uw SharePoint versie?

Voor SharePoint 2003 en 2007 bracht Microsoft het document al uit: een vergelijking van alle Office versies en de mogelijkheden en onmogelijkheden voor integratie met SharePoint.

Te downloaden: hier.

dinsdag 6 september 2011

SharePoint posters: modellen en praatplaten

De volgende bronnen bevatten links naar posters waarin overzicht gegeven wordt van b.v. SharePoint topologieen, oplossingen, architecturen.

Deze platen zijn bijzonder geschikt om snel een overzicht te krijgen van mogelijkheden, beperkingen en best practices. Ze zijn iets te groot om te gebruiken als "spiekbriefje", maar in A2 formaat geprint en prominent opgehangen op de afdeling vormen ze een mooie gezamenlijke spiekposter / praatplaat.

SharePoint technical diagrams voor SharePoint 2013
Hierin, onder anderen:
Design samples
Architecture
Upgrade
Search
Apps
Backup and recovery
Databases
Design a SharePoint site


SharePoint technical diagrams voor SharePoint 2010
Hierin worden gegeven:
Design Sample: Corporate Portal with Classic Authentication
Design Sample: Corporate Portal with Claims-based Authentication
SharePoint 2010 Products Deployment
Services in SharePoint 2010 Products
Cross-farm Services in SharePoint 2010 Products
Topologies for SharePoint Server 2010
Extranet Topologies for SharePoint 2010 Products
Hosting Environments in SharePoint 2010 Products
Search Technologies for SharePoint 2010 Products
Search Environment Planning for Microsoft SharePoint Server 2010
Search Architectures for Microsoft SharePoint Server 2010
Design Search Architectures for Microsoft SharePoint Server 2010
Global Solutions for SharePoint 2010 Products
Business Connectivity Services Model
Content Deployment in SharePoint Server 2010
Microsoft SharePoint Server 2010 Upgrade Planning
Microsoft SharePoint Server 2010 Upgrade Approaches
Microsoft SharePoint Server 2010 — Test Your Upgrade Process
Microsoft SharePoint Server 2010 — Services Upgrade
Microsoft SharePoint Server 2010 — Upgrading Parent and Child Farms
Getting started with business intelligence in SharePoint Server 2010
Databases That Support SharePoint 2010 Products
SharePoint 2010 Products: Virtualization Process
Governance for SharePoint Server 2010
Duet Enterprise for Microsoft SharePoint and SAP Poster

dinsdag 9 augustus 2011

Starten met SharePoint voor software ontwikkelaars: een aantal praktische links

Onderstaand een paar praktische bronnen om snel te leren werken met SharePoint. Lekker praktisch: video's, labs, curriculi.


Have fun!

(2013, Engels) SharePoint 2013 training for IT pros
Een cursus in 14 modules een goede inleiding op SharePoint 2013. Met presentaties en video materiaal.
Module 1: SharePoint 2013 IT pro introduction and overview
Module 2: SharePoint 2013 system requirements
Module 3: SharePoint 2013 architectural changes
Module 4: SharePoint 2013 server farms and site architecture planning
Module 5: Office Web Apps 2013 architecture and deployment
Module 6: SharePoint 2013 service application architecture and individual service applications
Module 7: SharePoint 2013 enterprise search overview
Module 8: SharePoint 2013 social features
Module 9: SharePoint 2013 enterprise content management and web content management considerations
Module 10: SharePoint 2013 customization options and management
Module 11: SharePoint 2013 authentication and authorization overview
Module 12: Overview of SharePoint 2013 business continuity management
Module 13: Upgrading to SharePoint 2013
Module 14: What’s new for IT pros in Project 2013

(2010, Engels) Setting Up the Development Environment for SharePoint 2010 on Windows Vista, Windows 7, and Windows Server 2008
In 5 stappen (met plaatjes) hoe je een omgeving opzet waarin je SharePoint 2010 applicaties kunt ontwikkelen.


(2010, Engels) Video Center | SharePoint 2010 Development
Korte video's over het maken van custom solutions (maatwerk) met SharePoint Online, SharePoint Server en SharePoint Foundation.


(2010, Engels) SharePoint 2010 Resources for Developers
Introductie op SharePoint 2010 voor ontwikkelaars, korte video's, hoe een ontwikkelomgeving voor te bereiden, intro op SharePoint Designer 2010, uitleg over SharePoint certificering.


(2010, Engels) SharePoint 2010 Developer ​Presentatio​ns
Video introductie op de Training Kit.


(2007, 2010, Engels) SharePoint Server Virtual Labs
Probeer Microsoft Office SharePoint Server 2010 (Microsoft Office SharePoint Server 2007 labs zijn verwijderd) uit in een virtual lab.

(2010, Engels) MSDN Virtual Lab: Getting Started with SharePoint 2010
Virtual Machine (VM), SharePoint 2010 Central Administration, standaard Team sites. Introductie op de nieuwe user interface als de ribbon en in-place item editing. Introductie op het SharePoint Foundation 2010 object model en programmeren daarmee in C#. PowerShell en de nieuwe SharePoint 2010 PowerShell Snap-in.


(2010, Engels) SharePoint 2010 Developer Training Course
Intro in SharePoint 2010, SharePoint 2010 Developer Roadmap, Visual Studio 2010 Tools for SharePoint 2010, User interface Enhancements, Lists en Schemas, LINQ to SharePoint, Client Object Model, Workflow, Services Architecture, Accessing External Data, Enterprise Content Management, Extending Search, Business Intelligence, Sandboxed Solutions, SharePoint 2010 Security, SharePoint 2010 Best Practices, SharePoint 2010 Security, Upgrading Custom Solutions, Upgrading VSeWss Solutions to SharePoint 2010.


(2010, Engels) SharePoint 2010 Advanced Developer Training
Developer Roadmap en Tools voor SharePoint 2010, Core Development in SharePont 2010, User Interfaces en lists, Data Access, Composite Solutions, Enterprise Content Management, Enterprise Search, Business Intelligence, Communities, Development Lifecycle.


(2010, Engels) SharePoint 2010: Getting Started with Development on SharePoint 2010 Hands-on Labs in C# and Visual Basic
Handleidingen met handson labs. Allen apart te downloaden. Laagdrempelig en een goed e introductie op het ontwikkelen van SharePoint based applicaties.


(2010, Engels) Sharepoint 2010 Developer Training Kit
De SharePoint 2010 Developer Training Kit een diepgaande introductie op ontwikkelen van SharePoint applicaties. PowerPoint presentaties, hands-on labs, broncode, video's et cetera.

Alle Microsoft virtual labs
Voor alle Microsoft virtual labs, surf naar: MSDN Virtual Labs


donderdag 14 juli 2011

Handig: JavaScript regular expressions tester

Handige site, mocht je voor een stukkie JavaScript een reguliere expressie willen maken en dit eerst eens uit willen testen.


Zie: http://www.regular-expressions.info/javascriptexample.html

zondag 12 juni 2011

(2010) Schrijven en opmaken van webpagina's

In SharePoint 2007 waren de opmaakmogelijkheden van HTML teksten binnen webpagina's beperkt. Er was een primitieve rich text editor als webonderdeel beschikbaar, en voor de helden de mogelijkheid om zelf HTML node in te voeren, maar dit was redelijk primitief.

SharePoint 2010 biedt meer mogelijkheden: webteksten in het content editor webonderdeel kunnen, vergelijkbaar als in een tekstverwerker als MS-Word, worden opgesteld.

Nieuwe functies
Een aantal nieuwe functies waarop, onder anderen, in de onderstaande tekst zal worden ingegaan zijn:
- Gebruik van het Ribbon-menu (het lint, zoals dit in Office applicaties van af versie 2007 bekend is)
- Gebruik van stijlen
- Links
- Herbruikbare content

Het Ribbon menu
De Ribbon biedt de gebruiker menu functies die afgestemd zijn op het paginaonderdeel (b.v. een paragraaf, een plaatje) waar hij op dat moment mee bezig is (lees: heeft geselecteerd). Als een gebruiker bijvoorbeeld een plaatje toevoegt, verschijnt een extra menu in de ribbon waarmee de eigenschappen van het ingevoegde plaatje kunnen worden aangepast.

De Ribbon biedt de eindgebruiker standaard een deel van de functies die ook in MS-Word beschikbaar zijn:
- undo, redo
- knippen, kopiëren, plakken
- lettertypen, kleuren, italics, bold, subscript, superscript, highlighting, ...
- tekst inspringen, opsommingen, uitlijnen, ...
- spellingscontrole (!)

Overnemen van opgemaakte tekst vanuit MS-Word
Vanuit MS-Word kan tekst, inclusief opmaak, naar een webtekst worden gekopieerd. Verwacht niet dat de tekst er precies zo uitziet als in Word wordt weergegeven, maar het lijkt er in redelijke mate op. Houd er bijvoorbeeld rekening mee dat itemnummers in opsommingen als gewone tekst worden overgenomen. Opsommingen zullen in de webtekst moeten worden "overgedaan".
Mocht de tekstopmaak overigens niet helemaal naar wens zijn kan deze ook helemaal ongedaan worden gemaakt voor een selecte door de Erase format knop. De geselecteerde tekst wordt dan weer als gewone onopgemaakte tekst weergegeven.
Klakkeloos overnemen van opmaak en inhoud vanuit andere bronnen is onverstandig; een webtekst moet zo "clean" mogelijk zijn.

Stijlen
Net als in MS-Word kunnen in de SharePoint webeditor ook stijlen worden gebruikt voor geselecteerde stukken tekst. Denk hierbij aan headers, paragrafen, en horizontale lijn en call-outs (DIV onderdelen die bovenop de tekst worden geprojecteerd ). Standaard worden 10 stijlen meegeleverd die kunnen worden gewijzigd en uitgebreid. Deze stijlen worden toegepast door gebruik te maken van CSS technologie (zie ook: http://nl.wikipedia.org/wiki/Cascading_Style_Sheets).

Invoegen van onderdelen als plaatjes, media en webonderdelen (webparts)
Objecten zoals plaatjes, media onderdelen en webonderdelen kunnen eenvoudig op ieder gewenste lokatie in een webtekst worden ingevoegd. Na invoegen of bij selecteren van zo'n onderdeel wordt een extra menu toegevoegd aan het Ribbon menu waarmee de eigenschappen van het betreffende onderdeel kunnen worden gewijzigd.
Voor plaatjes zijn dit bijvoorbeeld eigenschappen als: alternative text, stylen (deze zijn ook weer te wijzigen en uit te breiden), randen, uitlijning, hoogte, breedte.
Objecten als plaatjes kunnen worden gepositioneerd op de webpagina door deze te verslepen.
Tabellen kunnen nu ook worden genest (tabellen kunnen binnen tabellen worden aangemaakt).

Links (verwijzingen)
Natuurlijk kunnen ook links worden toegevoegd naar andere SharePoint onderdelen en niet SharePoint objecten. Er zijn drie smaken links die kunnen worden toegevoegd:
- Link naar SharePoint onderdelen: hiervoor kan een onderdeel geselecteerd worden uit en selectiescherm
- URL naar een externe bron: de URL kan worden ingevoerd. Tip: gebruik dit niet voor SharePoint onderdelen, gebruik hiervoor de bovenstaande link. Bij migratie van een SharePoint onderdeel, namelijk, wordt een gewone URL hiernaar niet automatisch vertaald naar de nieuwe lokatie van het betreffende onderdeel.
- Wiki links: speciaal type link dat in tekst wordt ingevoerd.

Wiki links
Wiki-links zijn verwijzingen die van oorsprong gebruikt worden in wiki-omgevingen. Ze worden ingevoerd door een code te gebruiken, zoals in de onderstaande voorbeelden:

Een link naar een pagina:
[[Paginanaam]]


Een link naar item 7 uit een lijst:
[[List:Mijn lijst/7]]


Een link naar een document in een map binnen een lijst of bibliotheek:
[[List:Shared Documents/Mijn Map/Mijn document.doc]]


Een link naar een weergave (View) binnen een lijst of bibliotheek:
[[View:Shared Documents/Mijn View]]


Een link met als naam "Klik hier" naar de pagina "Paginanaam":
[[Paginanaam|Linknaam]]


Als hulp geeft SharePoint de keuzemogelijkheden voor bijvoorbeeld een lijst weer in een popup menu als de gebruiker [[List intypt en daarna op de TAB-toets drukt.

Wanneer de gebruiker verwijst naar een niet bestaande pagina of item wordt dit door SharePoint duidelijk in de betreffende webpagina weergegeven; de link wordt rood en onderstreept. De link kan dan op een ander moment worden aangepast, of de ontbrekende pagina kan meteen worden aangemaakt.

Links kunnen,zoals andere objecten in een webpagina, worden geselecteerd waarna een extra menu in de Ribbon wordt geplaatst waarmee de eigenschappen van de betreffende link kunnen worden aangepast.

Verwijzingen naar lokaties binnen webpagina's: anchors
Verwijzingen naar lokaties binnen webpagina's kunnen worden gemaakt door op de plaats van bestemming een zogenaamd anchor in te voegen. Hiernaar kan in een link (voor de HTML kenners, b.v.: pagina.htm#anchornaam) worden verwezen zodat, bij het aanklikken van de link, de gebruiker wordt geleid naar de lokatie van het betreffende anchor binnen de pagina.

als je een link probeert in te voeen naar een pagina die niet bestaat dan wordt de link rood en oinderbroken onderstreept en kun je m alsnog toevoegen. SharePoint geeft je door een popup message de gelegenheid deze meteen in te voeren.

Webonderdelen
Ook webonderdelen kunnen direct in en webpagina worden toegevoegd en op de gebruikelijke wijze worden gewijzigd.

Als voorbeeld hiervan kunnen media webonderdelen worden toegevoegd waarbij de manier van afspelen en de planning hiervan (schedule) kan worden aangepast. Voor media onderdelen kan ook gekozen worden uit een (aanpasbare en uitbreidbare) lijst van stijlen. Deze stijlen bevinden zich in de zogenaamde Style Library.

Herbruikbare inhoud
Onderdelen van webpagina's die veelvuldig worden gebruikt, kunnen worden opgeslagen als herbruikbare inhoud (reusable content). Deze content kan worden ingevoegd in webpagina's. De volgende inhoud is standaard beschikbaar:
- Copyright
- Byline
- Quote

Wanneer de eindgebruiker in het reusable content menu kiest voor "More choices", wordt de lijst met herbruikbare inhoud geopend. Deze lijst (Reusable content) is een standaard lijst in de betreffende SharePoint site.

In deze lijst kan voor ieder stuk herbruikbare inhoud aangegeven worden of de inhoud, als deze binnen een pagina wordt gebruikt, ook moet worden gewijzigd als de herbruikbare inhoud in de reusable content wordt gewijzigd. Als dat niet wordt aangegeven wordt de herbruikbare inhoud eenmalig als kopie gebruikt en niet automatisch bijgewerkt.

Toch zelf HTML invoeren?
Voor de die-hards: voor ieder onderdeel van de webpagina kan ook de HTML code worden gewijzigd. Dit geldt dus voor onderdelen, niet voor de gehele pagina. Let wel: JavaScript wordt (als beveiligingsmaatregel) niet uitgevoerd.

vrijdag 10 juni 2011

Voorbeelden van SharePoint internet sites

Mooie voorbeelden van SharePoint internet sites zijn te vinden op de volgende sites:

Top SharePoint internet sites.
Deze site biedt de mogelijkheid om per land (zelfs Amsterdam wordt gezien als een apart land) sites te selecteren en op screenshots hiervan in te zoomen (gebruik hiervoor het muis-scroll-wiel).
Ook voor de liefhebbers van Silverlight / DeepZoom technologie is dit ook een mooie site.

Eveneens een mooie site met voorbeelden van SharePoint sites: Top SharePoint Internet Sites (eveneens met een handig Silverlight / DeepZoom menu).

50 Beautiful Dark Websites Built on SharePoint.
De liefhebbers van sites met een donker theme zullen hun hart kunnen ophalen op deze site.

30 Awesome SharePoint powered sites.
Meer indrukwekkende sites van dezelfde schrijvers.

.
Top 10 SharePoint 2007 gebaseerde websites.

.
SharePoint 2007 gebaseerde sites, gesorteerd op industrie sector.

(2010) SharePoint voor (speciaal vormgegeven) internet sites

SharePoint 2007 werd algemeen beschouwd als een Document Collaboration / Enterprise Content Management platform waarmee ook internet sites (met sterk aangepaste vormgeving) konden worden gerealiseerd. In SharePoint 2010 zijn de mogelijkheden voor vormgegeven internet sites wederom verbeterd.

Onder de verbeteringen vallen onder anderen:

- Verbeterde gebruikersinterface waardoor de eindgebruiker (b.v. webredacteur) gemakkelijker en intuitiever artikelen kan aanmaken, vormgeven en publiceren. Voorbeelden hiervan zijn het gebruik van de zogenaamde Ribbon (ook in Office 2007 en 2010 applicaties) waardoor de menu opties worden afgestemd op de onderdelen waarmee de eindgebruiker op dat moment bezig is en de WYSIWYG editor waarmee content in een webbrowser kan worden ingevoerd.

- Verbeterde webonderdelen. Als voorbeeld hiervan is het Content Query Webonderdeel (waarmee artikeloverzichten gemaakt kunnen worden) verbeterd. Deze kan nu bijvoorbeeld op basis van meta gegevens en parameters op metagegevens van artikelen filteren. Daarnaast is gebruik gemaakt van AJAX technologie (http://nl.wikipedia.org/wiki/Asynchronous_JavaScript_and_XML), waarbij webpagina's doelmatiger (lees: voor de eindgebruikers sneller) worden gemaakt.

- Verbeterde mogelijkheden voor metadatering van documenten en webpagina's. Hierbij kan nu bijvoorbeeld gebruik worden gemaakt van centraal gedefinieerde taxonomieen (managed metadata).

- Audience Targeting: afstemming van content op vantevoren gespecificeerde doelgroepen (audiences).

- Betere ondersteuning voor meertaligheid: Microsoft SharePoint 2007 bood hiervoor de zogenaamde variations, in SharePoint 2010 wordt verbeterde ondersteuning geboden in de vorm van de Multi Language User Interface (MUI) waarin voor geselecteerde site onderdelen (b.v. menu's, lijsten, metagegevens) vertalingen kunnen worden gemaakt.

- Betere compliancy (volgen) van de open webstandaarden voor het correct publiceren van content in diverse browsers.

- Gebruik van herbruikbare workflows. Dit was al beschikbaar in SharePoint 2007, maar nu zijn deze workflows ook in Visio (grafisch) te bewerken, hetgeen de begrijpelijkheid van workflows verbetert.

- Webstatistieken. Dit was ook al beschikbaar binnen SharePoint 2007. Ook over zoekgedrag kan worden gerapporteerd.

- Tagging & Rating, en andere social software functionaliteit is standaard beschikbaar.

- Integratie van de FAST zoekengine. FAST wordt beschouwd als een zeer sterke zoekmachine waarmee Microsoft SharePoint heeft voorzien van uitstekende zoekmogelijkheden, binnen en buiten SharePoint. Hierin wordt ook bijvoorbeeld rekening gehouden met Tagging & Rating van content.

Ten opzichte van de concurrentie
In het algemeen biedt SharePoint 2010, in vergelijking met de beste beschikbare web CMS systemen, vergelijkbare mogelijkheden, hetzij deze mogelijkheden op sommige gebieden met configuratie danwel maatwerk, gerealiseerd moet worden.
Gebruikersacceptatie in complexe publicatie omgevingen, vormt echter nog een uitdaging als het om SharePoint gaat. Gebruikers zonder CMS/SharePoint achtergrond zullen er niet zomaar mee aan de slag gaan.

De grote voordelen, mijnsinziens, van SharePoint en Microsoft in het algemeen, zijn natuurlijk:

- De penetratiegraad van Microsoft (Office) en SharePoint voor document collaboration binnen, grote en kleine, organisaties.

- De brede inzetbaarheid van het platform; ook bijvoorbeeld voor het ontsluiten van functionaliteit van andere informatiesystemen.

- Het grote netwerk van partners en toeleveranciers, en tegenwoordig ook de "open source" community Codeplex, garandeert continuiteit van ontwikkelingen op basis van behoeften van organisaties en gebruikers.


Conclusie
Microsoft heeft met SharePoint 2010 een sterk platform neergezet dat breed ingezet kan worden en dat ook voor web content management voor internet sites kan worden gebruikt. In complexe situaties is gebruikersacceptatie een uitdaging, waarvan we kunnen verwachten dat dit in de toekomst zal worden verbeterd.

Verder lezen

(Engels) WCM is Better in SharePoint 2010 - Is it Enough?

(Engels) Is SharePoint 2010 the Right Web CMS for Your Internet Site?

(Engels) 8 Ways Web Content Management has Improved in SharePoint 2010

(Engels) Overview: SharePoint 2010 Metadata and Taxonomy Management

(Engels) SharePoint 2010: Using Taxonomy & Controlled Vocabulary for Content Enrichment

(Engels) Gartner Predicts Bright Future for Sharepoint as Unified Content Management Platform

(Engels) Use sites in multiple languages in SharePoint 2010

woensdag 4 mei 2011

Lijst of bibliotheek: wat kan ik het beste gebruiken?

Onlangs kwam ik er weer eentje tegen; een lijst die behoorlijk uit de klauwen was gelopen. Begonnen als een simpel overzichtje van "issues", voor iedereen handig centraal opgeslagen en zolangzamerhand uitgegroeid tot een enorme (veel items) uitgebreide (veel kolommen, waarvan een groot deel ook uitgebreide teksten bevatte) lijst waar niemand meer met plezier mee werkte. Gevolg: de centrale functie van de lijst wordt omzeild door individuele initiatieven (eigen lijstjes, Excel sheets) en de doelmatigheid en doeltreffendheid van de samenwerking met de centrale lijst als ondersteuning komt in gevaar.

Kom dit bekend voor?
't Gebeurt vaak. Daarom is het verstandig om eens wat dieper in te gaan op de verschillen tussen lijsten en bibliotheken en de voor - en nadelen van lijsten en bibliotheken in verschillende situaties.

Wat zijn nu de verschillen?
Op hoofdlijnen:
- Een bibliotheek zowel als een lijst kan een of meerdere documenten bevatten die als bijlagen worden opgeslagen. Een bibliotheek, echter, bevat hoofddocumenten (1 per bibliotheek item, dit is een ander document dan eventuele bijlagen), die meer mogelijkheden biedt om samen te werken aan een document: b.v. checkin/checkout (zodat niet tegelijk aan een hoofddocument gewerkt kan worden) en de mogelijkheid om een hoofddocument naar een andere lokatie te verplaatsen (rechtermuisknop menu voor een bibliotheek item).
- Een lijst biedt de mogelijkheid om een nieuw item toe te voegen zonder verplicht te zijn een document aan te maken of te uploaden.

Overwegingen bij de beslissing
Wat concrete aanwijzingen / overwegingen die gebruikt kunnen worden om te beslissen tussen een lijst en bibliotheek, zijn de volgende:
- Relatief veel (grote) teksten in een item? Bibliotheek.
- Belangrijk dat meerdere gebruikers elkaar niet dwarszitten tijdens het werken aan items? Bibliotheek, i.v.m. checkin/checkout
- Moeten items overzichtelijk uitgeprint worden? Bibliotheek.
- Gaat het uitsluitend om stuurinformatie (velden op basis waarvan een business proces bestuurd moet worden)? Lijst.
- Moet de inhoud van items regelmatig in een groep worden geevalueerd? Bibliotheek.
- In het algemeen: stuurinformatie (voor business processen) als metadata kolommen, uitgebreide tekstvelden in een document (en bij voorkeur in een bibliotheek).
- Bedenk hoe de lijst/bibliotheek zich in de komende jaren gaat ontwikkelen en stem de keuze daarop af.

Conclusie
Conclusie: een lijst is niet bedoeld om teksten in te verwerken; MS-Word is dat wel. Denk niet te licht over lijsten en overweeg op tijd een bibliotheek.

zaterdag 9 april 2011

(2010) Tip: Wijzigen van het documenttype bij een SharePoint Designer workflow

Wanneer een documenttype wordt gewijzigd (waneer b.v. een nieuwe kolomnaam wordt toegevoegd), zullen de wijzigingen niet in de hierop gebaseerde SharePoint Designer workflow zichtbaar zijn.

Gelukkig biedt Designer de optie "Copy and Modify" om op basis van de bestaande workflow een nieuwe te maken waarin het aangepaste ContentType weer kan worden geselecteerd. Hierin worden de eigenschappen van de nieuwe versie van het ContentType beschikbaar gesteld.

donderdag 31 maart 2011

Versie management: primaire en secundaire versies

Weleens een versienummer gezien in de vorm van 1.2?

Hierbij wordt een versienummer aangegeven bestaand uit twee versies:
- Primaire versie, in het bovenstaande voorbeeld: 1
- Secundaire versie, in het bovenstaande voorbeeld: 2

Een primaire versie is een belangrijke versie, bijvoorbeeld een document die gepubliceerd wordt of door meerdere mensen wordt bekeken. Secundaire versies zijn vaak concept versies waar individuele gebruikers mee bezig zijn.

Bijhouden van zowel primaire als secundaire versies draagt bij aan de versiegeschiedenis van een document. In de versiegeschiedenis van een document kunnen de versienummers iets vertellen over het ontstaan en het onderhoud van het betreffende document.

Een document wordt standaard met een nieuw secundair versienummer opgeslagen tenzij dit door de gebruiker anders wordt aangegeven, en het betreffende document wordt gepubliceerd of ingechecked.

Gebruik van versies
Iedere primaire versie kan 511 secundaire versies bevatten. Dit aantal is te beperken door de site beheerder.
Een secundaire versie kan door een andere secundaire versie worden overschreven.
Van een primaire versie kan een secundaire versie worden gemaakt.

donderdag 24 maart 2011

Praktisch aan de slag met SharePoint: workshops en labs


”Tell me, and I will forget
Show me, and I will remember 
Involve me, and I will understand
Let me do it myself and I will truly know how it works”

[Chinees gezegde, aangevuld met modern inzicht]


SharePoint is een kwestie van "doen". Een cursus of training volgen is natuurlijk een eerste stap, maar als het geleerde niet in de praktijk wordt gebracht, is het zonde van het geld en de moeite. SharePoint is ook een kwestie van "samen doen"; samen oefenen, samen leren, samen bedenken hoe SharePoint het beste in de praktijk kan worden toegepast en samen contact houden om in de praktijk elkaar te vinden om kennis en ervaring uit te blijven wisselen.

In de praktijk heeft HansR stevige ervaring met het organiseren en vullen van workshops en handson labs. Voor de eigen organisatie en voor klanten en partners heeft hij diverse workshop reeksen en handson labs georganiseerd.

Interesse om dit binnen uw organisatie te laten organiseren? Neem contact op met HansR, HansRontheWeb@live.com.











donderdag 10 maart 2011

Keuzelijsten in metadata velden: keuzelijsten, externe lijsten of standaard lijsten?

Voor metadata velden in lijsten en bibliotheken kunnen keuzelijsten gebruikt worden. Denk hierbij bijvoorbeeld aan een metadata veld dat vaste waarden als Afdelingsnaam of DocumentStatus bevat.

Hiervoor zijn de volgende mogelijkheden:
- Gebruik maken van vaste lijsten, b.v. gebruikersgegevens
- Gebruik van keuzelijsten die gedefinieerd worden bij het veld zelf (zie bibliotheek of lijst instellingen)
- Gebruik maken van de waarden in een externe lijst

Wanneer meerdere lijsten en/of bibliotheken gebruik maken van dezelfde keuzelijsten, is het verstandig om de waarden hiervan vast te leggen in een aparte centrale lijst en hiervan in een keuzeveld gebruik te maken. Wanneer keuze waarden veranderd moeten worden, kan dat in deze centrale lijst gebeuren.

Zijn er reeds standaard lijsten beschikbaar, zoals gebruikersgegevens, gebruik deze dan en maak niet zelf aparte lijsten of keuzelijsten aan met daarin zelfingevoerde namen. De standaard lijsten, als gebruikersgegevens, kunnen actueel aangenomen worden en zijn dus van grotere waarden dan zelf opgestelde en zelf te onderhouden lijsten.

Let op:
Gebruik van zelf in te vullen waarden bij keuzelijsten is in veel gevallen af te raden. Het kan zorgen voor vervuiling van deze lijsten en vormt daarom een gevaar voor de standaardisatie van meta data.

SharePoint 2010: Taxonomieen:
In SharePoint 2010 kunnen, op organisatieniveau, taxonomieen worden gedefinieerd die als basis kunnen dienen voor keuzevelden.

Wat is een taxonomie? Een boomstructuur waarin een vaste indeling van trefwoorden is gedefinieerd, b.v. regio's, landen, provincies. Zie ook: Wikipedia: Taxonomie.

maandag 7 maart 2011

Motiveren, hoe doe ik dat?

Motiveren doen we al decennia op dezelfde wijze. Dat dit niet altijd even doeltreffend en doelmatig is, blijkt regelmatig. Onderstaande video's geven een alternatieve, verfrissende blik op motivatie. Insprirerend en zeer bruikbaar in SharePoint projecten of collaboration platform projecten in het algemeen. Het gaat daarin vaak mensen die gevraagd wordt het "dagelijks werk" anders te doen, samen te werken zonder daarvoor een directe beloning te krijgen. Er kan zelfs sprake zijn van een ware cultuurverandering. Reden genoeg om eens te kijken of er doeltreffender en doelmatiger manieren zijn om de gebruikerscommunity "in beweging te krijgen".

Daniel Pink on the surprising science of motivation (Engels)



De presentatie van Daniel Pink ligt in lijn met onderzoek dat is gedaan op het gebied van Bloggen: meer vrijheid maakt produktiever.

Bloggen maakt produktiever
"Volgens deze academische studie helpt schrijven op een online bedrijfsblog of forum werknemers dichter bij elkaar te komen en goede relaties op te bouwen. Daarnaast verhoogt het na verloop van tijd zelfs de productiviteit."

Bron: Bloggend personeel is productiever, en het originele artikel: Personal Blogging at Work Increases Productivity.

Vrijheid op het werk motiveert blijkbaar tot het leveren van betere individuele prestaties en verbetert het communiceren hierover, hetgeen samenwerken bevordert, wat weer een positieve invloed heeft op het groepsresultaat (lees: bedrijfsresultaat).

Bovenstaande deed me denken aan de al in 1943 door Abraham Maslow gepubliceerde piramide waarin de hiërarchische ordening van behoeften wordt weergegeven (zie: Piramide van Maslow).
De in de piramide genoemde "Hogere fundamentele behoeften" (bovenste 3):
1. Behoefte aan saamhorigheid, behoefte aan vriendschap, liefde en positief-sociale relaties;
2. Behoefte aan waardering, erkenning en zelfrespect, die de competentie en het aanzien in groepsverband verhogen; het belang hechten aan de status in sociaal verband;
3. Behoefte aan zelfverwerkelijking of zelfactualisatie,

lijken te drivers te zijn van de successen die vrijheid, zelfexpressie en de daaruitvolgende samenwerking.

Stof tot nadenken, lijkt me, (ruim) voordat u aan uw SharePoint implementatie begint.

zondag 6 maart 2011

IS Lite en Open Source Governance als basis voor Enterprise 2.0 governance

Inleiding
De laatste jaren dringen steeds meer webtoepassingen door in bedrijven en organisaties. Toepassingen die onder de paraplu “Enterprise Web 2.0” vallen, vormen het onderwerp van dit artikel.

Enterprise Web 2.0 toepassingen omvatten de software [1]:
1. Enterprise search: vinden van mensen, functionaliteit en informatie;
2. Authoring & sharing: blogs, wikis, collaboration platforms;
3. Social bookmarking, recommendation, tagging, signaling;
4. Delen en verspreiden van informatie en functionaliteit: mashups.

Samengevat kunnen deze toepassingen worden omschreven als software assets voor “Vinden, delen en samenwerken”.

Het alom aanwezige internet, ook binnen organisaties beschikbaar, samen met de ontwikkeling van platforms waarmee dergelijke software assets snel en relatief eenvoudig gemaakt kunnen worden, en de populariteit van deze software assets, maakt dat bedrijven en organisaties niet meer om deze software heen kunnen. Op de een of andere wijze worden organisaties hiermee geconfronteerd.

Stelling: IS Lite + Open Source Governance biedt een goede basis voor Enterprise 2.0 assets

In de onderstaande tekst wil ik de stelling onderbouwen dat IS Lite, aangevuld met Open Source governance concepten, een goede basis biedt voor governance van Enterprise Web 2.0 assets.

Kenmerken en beloften van Enterprise Web 2.0 software assets
Enterprise Web 2.0 software assets bieden, in combinatie met het internet, een aantal grote voordelen, maar ook een aantal risico’s.
Voordelen en nadelen zorgen ervoor dat organisaties in eerste instantie niet
staan te springen om ermee aan de slag te gaan.

De voordelen van dergelijke assets zijn de gemakkelijke verspreidbaarheid, toegankelijkheid en herbruikbaarheid. Een software asset kan in principe door een zeer groot publiek worden gebruikt en hergebruikt, waardoor het aantal klanten (gebruikers) van een organisatie zeer snel toeneemt. Als voorbeeld kunnen RSS feeds genoemd worden waarmee nieuws zeer snel op verschillende sites kan worden verspreid. Ook assets voor e-commerce functionaliteit (software assets, webservices, waarmee online verkoop van artikelen kan worden gerealiseerd, kan zorgen voor een enorme toename van potentiële klanten en daarmee, van verkoop. Assets waarmee communicatie wordt ondersteund (micro blogging, discussie groepen, chatrooms) bieden informele groepen uitstekende mogelijkheden om kennis en ervaring uit te wisselen, zich te organiseren en zodoende invloed uit te oefenen. En deze “informele groepen” kunnen in de toekomst een formele juridische status krijgen waarmee deze invloed alleen nog maar groter wordt [8].

Binnen organisaties belooft toepassing van Enterprise Web 2.0 software assets, vooral van wiki’s, blogs en collaboration platforms, een betere communicatie en samenwerking tussen medewerkers en een betere kennisdeling en –overdracht.

De bovenstaande beloften komen in de praktijk vaak niet uit.
Dit is niet zozeer te wijten aan de technische mogelijkheden, maar aan de
verwachtingen die gesteld worden aan deze nieuwe technologieën.

"Install and expect" is de meest gemaakte fout bij de aanschaf of introductie van Enterprise Web 2.0 software assets. Daarnaast worden van Enterprise Web 2.0 software assets ook gezien als een dreiging, omdat “controle” over communicatie, klanten en eigen medewerkers verloren zou gaan.

Goede governance van de productie, de inzet, het beheer en het gebruik van Enterprise Web 2.0 software assets is van cruciaal belang om optimaal te kunnen profiteren van de technische mogelijkheden en met de risico’s te kunnen omgaan.
Dit vergt een zekere vorm van volwassenheid van de organisatie om met Enterprise Web 2.0 software om te kunnen gaan [10].

Verschillen met klassieke software
Om een beeld te krijgen van wat nodig is voor de governance van Enterprise Web 2.0 software assets kan een vergelijking gemaakt worden van goverance van "klassieke" software en "Enterprise Web 2.0 software". Hierbij wordt onderscheid gemaakt tussen planning, ontwikkeling, beheer, productie en gebruik.
























Planning:
Ontwikkeling:
Beheer:
Productie/gebruik:
Klassieke software:
Risico mijdend
Vaak langlopende projecten

ICT "doet" implementaties op basis van formele requirements en proces
Klant eist en wenst

Vaste, formele mogelijkheden voor feedback
Vaste, formele mogelijkheden voor feedback
Enterprise Web 2.0 software:
Korte termijn: snelheid van acteren en aanpassen cruciaal
Vooral bij externe communities bepaalt klant de richting
Risico: niet voldoende aansluiten op wensen vanuit de klant

Minder afhankelijkheid van ICT, "zelf" ontwikkelen
Bij externe communities bepaalt de klant de richting: nieuwe tools, nieuwe toepassingen, nieuwe mening.
Applicaties evolueren continu (the perpetual beta)
Klant ontwikkelt actief mee

Minder afhankelijkheid van ICT, "zelf" (laten) beheren.
Flexibele set (interne en externe) tools
Informele communicatie, kennisdeling en samenwerken
Klantgedrag verandert naarmate meer actief wordt deelgenomen
Klant kan ook kiezen voor alternatieve software van concurrentie
Risico: klant gedraagt zich niet in het belang van de business
Meten van succes verandert continu



Wat opvalt is dat de grote verschillen tussen governance van klassieke software en Enterprise Web 2.0 software temaken heeft met controle, of liever gezegd, met het verlies van controle over Enterprise Web 2.0 software. Bij klassieke software wordt risicomijdend gepland, worden formele opleveringen gedaan op basis van vantevoren gestelde eisen en wensen. Beheer wordt belegd bij een partij waarmee formele afspraken worden gemaakt over dienstverlening. Klassieke software kan vaak maar op een manier worden gebruikt terwijl en aanpassingen aan software weer via een formele procedure verlopen, waarbij slechts een kleine groep invloed heeft.

Bij Enterprise Web 2.0 software assets, echter, liggen veel zaken niet vast. Sterker nog; veel zaken zijn variabel, flexibel en aan (veel) verandering onderhevig.

Allereerst wordt bij dergelijke software uitgegaan van een flexibele set software assets waarvan de assets los van elkaar, maar ook in combinatie gebruikt kunnen worden. Voorbeelden hiervan zijn: mashups en webonderdelen in collaboration platforms.

Voorts heeft de eindgebruiker (de klant) heel veel invloed op de ontwikkeling van deze applicaties, het beheer ervan en het gebruik ervan.
Vaak kunnen gebruikers zelf applicaties (b.v. sites) samenstellen, configureren, de look and feel veranderen en nemen ze ook een deel van het beheer op zich. Daarmee bepalen ze ook in belangrijke mate hoe er gebruik wordt gemaakt van de software en bepalen ze daarmee ook waarover en hoe gecommuniceerd wordt. En daarmee is (bedoeld of onbedoeld) misbruik van software assets een realiteit [2]

De bovenstaande flexibiteit wordt bovendien nog aangevuld met een belangrijke mate van verandering; software assets kunnen eenvoudig worden vervangen voor andere en op het internet ontstaan voortdurend nieuwe software assets waarvan snel en gemakkelijk gebruik kan worden gemaakt. De snelheid waarmee microblogging aan populariteit heeft gewonnen, zowel buiten als binnen organisaties, is hiervan een goed voorbeeld. Ook de snel rijzende en dalende populariteit van Second Life is hier een goed voorbeeld van. Het lijkt wel alsof software aan modegrillen onderhevig is.

Door deze snelle veranderingen is het lastig goede gerichte investeringen te doen in software waarmee vastgestelde business doelen bereikt moeten worden. Daarnaast is het lastig het succes van software te meten. Van ieder nieuw concept moet immers bepaald worden op welke wijze succes gemeten wordt en wanneer sprake is van succes [3].

Samengevat bestaat het risico dus uit:
1. Verlies van grip op productie, beheer en gebruik;
2. Beperkt aanpassingsvermogen aan de klant zodat de aansluiting van oplossing(en) op de behoefte(n) van de klant verloren gaat.

In de praktijk blijken deze risico’s inderdaad te leiden tot teleurstellingen:

“We hebben geen controle over wat ze over ons zeggen op internet”

“Ons collaboration platform is een grote chaos; iedereen doet maar wat”

“Onze medewerkers worden via LinkedIn bij ons weggelokt”

Globale requirements aan governance van Enterprise Web 2.0 software
Uit de risico’s volgen ook de globale requirements die aan governance van deze software assets gesteld kunnen worden. Het moet de organisatie de mogelijkheid geven om de klant goed te kunnen volgen en doeltreffend en doelmatig te kunnen reageren op de steeds veranderende eisen.
Daarnaast zal er voldoende invloed uitgeoefend moeten kunnen worden op het gebruik van de software assets zodat ze doeltreffend en doelmatig ingezetworden ten behoeven van de business.

IT Lite: een eerste basis
IS Lite [4] lijkt een goede basis te zijn voor governance van Enterprise Web 2.0 software. IS Lite is ontstaan uit een aantal trends:
1. Process-based werken;
2. Outsourcing;
3. Gespecialiseerde Centers of Excellence;
4. IT gedecentraliseerd in business units.

Dit allemaal om snel te kunnen reageren op veranderingen in de markt en ICT goed te kunnen aansluiten op business behoeften.

Voor governance van Enterprise Web 2.0 software zou het zelf ontwikkelen van assets binnen business units ervoor kunnen zorgen dat assets optimaal worden afgestemd op de behoeften van de klant. Daarnaast zou de centrale ICT afdeling ervoor kunnen zorgen dat kennis van en ervaring met assets over de hele organisatie wordt gedeeld en dat hiervan iedere business unit profiteert. Ontwikkelde assets zouden aan de “infrastructuur” (hardware, software, Enterprise Web 2.0 platforms) kunnen worden toegevoegd en worden beheerd door de partij waaraan dit geoutsourced is.

Competence Center (CC) vs Center of Excellence (CoE)
Een Competence Center (CC) wendt Change Management strategieën aan om stabiliteit van systeem en business te (her)bereiken. De werkzaamheden van een Competence Center zijn daarom reactief van aard; er wordt actie ondernomen op basis van vragen / wensen vanuit de business. Een Center of Excellence (CoE, kwaliteitscentrum, kenniscentrum of expertisecentrum) streeft naar samenwerking in en met de business in een bepaald kennisgebied om zo concurrentie voordeel te behalen. Een Center of Excellence is daarom proactief; er wordt actief gezocht naar manieren om technologie en resources toe te passen om waarde proposities en de concurrentiedruk voortdurend het hoofd te bieden.

Een Center of Excellence kan zorg dragen voor een actieve verspreiding van kennis en ervaring en begeleiding van business units bij het ontwikkelen en verspreiden van assets. Daarnaast verzorgt het Center of Excellence voor een centrale roadmap waarin alle huidige en toekomstige ontwikkelingen in de tijd zijn uitgezet. Deze dient als leidraad voor alle decentrale IT units [9].

Kanttekeningen bij IS Lite voor governance van van Enterprise Web 2.0
software

In de realiteit blijkt IS Lite niet geheel te worden uitgerold [4] [7].

Redenen hiervoor zijn:
1. De economische teruggang waardoor ICT eerder gecentraliseerd wordt dan gedecentraliseerd binnen de business units wordt geïmplementeerd (gedecentraliseerde ICT is doorgaans nueenmaal duurder);
2. Een weerstand tegen verandering van ICT omdat IT Lite andere competenties vereist dan de gangbare.

Daarnaast blijkt een verandering naar IT Lite een langdurig traject te zijn dat meerdere jaren doorlooptijd kost.

Bovenstaande belemmeringen kunnen uit de weg worden genomen door niet de gehele organisatie met IS Lite te laten werken, maar dit te beperken tot organisatie eenheden die meteen profijt hebben van de voordelen en waar vanuit gemakkelijk andere organisatieonderdelen kunnen worden geïnspireerd hetzelfde te doen. Voorbeelden hiervan zijn: communicatie, project-office (assets voor interne samenwerking) en HRM.

IS Lite biedt de mogelijkheid om goed te “luisteren” naar de omgeving, de klanten en de partners en hierop gericht te reageren. Alleen luisteren, echter, is niet voldoende, ook invloed moet worden uitgeoefend om ervoor te zorgen dat assets worden gebruikt om de business doelstellingen optimaal te ondersteunen. Daarbij is het van belang dat de verschillende gebruikerscommunities een actieve bijdrage doen aan het succes van de assets. Het Center of Excellence zal daarom een manier moeten vinden om de gebruikerscommunities te activeren.

En dat gebeurt niet zomaar…

Open Source governance: een aanvulling op IT Lite
Het speelveld waarin Enterprise Web 2.0 software wordt geproduceerd, beheerd en (her)gebruikt heeft veel overeenkomsten met Open Source communities. Net zoals bij Enterprise Web 2.0 software wordt Open Source software snel en gemakkelijk verspreid en hergebruikt en brengt dit ook risico’s van verkeerd gebruik en zelfs misbruik met zich mee. En ook hierbij hebben we temaken met communities van relatief onafhankelijke leden die de vrijheid en flexibiliteit in het (her)gebruik optimaal benutten.

Afspraken voor de ontwikkeling en gebruik zijn ook hierbij van groot belang voor het succesvol zijn van de software.

In Open Source communities waarbij een leverancier een rol speelt, draagt de community aan de ene kant bij aan het succes van software van de leverancier en aan de andere kant draagt de leverancier actief bij aan het succesvol gebruiken van software door de community. Daarbij wordt impliciet controle ingebouwd op het gebruik van de software.

Deze controle kan de vorm hebben van:
1. Regelgeving, richtlijnen en begeleiding bij het (her)gebruiken van assets;
2. Ontwikkelen van juridische expertise wanneer het gaat om software assets waarvan het gebruik aan formele regelgeving onderhavig is;
3. Inventariseren, volgen en begeleiden van open source projecten waarbij gelet wordt op gebruik, hergebruik, aanpassingen en distributie van software assets;
4. Een interne Open Source community om richting te geven te geven aan de ontwikkelingen en verspreiding van assets.

Open Source governance toegepast op IS Lite governance van Enterprise Web 2.0 software assets
De bovenstaande ervaringen kunnen toegepast worden op de IS Lite governance van Enterprise Web 2.0 software assets zoals die hiervoor besproken zijn.

Om dit toe te passen kunnen we iets dieper ingaan op de verschillende stakeholders die betrokken zijn bij de ontwikkeling, het (her)gebruik en het beheer van assets, en de relaties tussen deze stakeholders.

De business
De business: bepaalt de functionaliteit van de assets die ontwikkeld moeten worden en bepaalt welke assets toegevoegd moeten worden aan de infrastructuur (platformen en asset bibliotheken die aan de communities beschikbaar worden gesteld). De business is daarmee verantwoordelijk voor de afstemming van ICT op de businessdoelen [9], krijgt richtlijnen en nieuwe ideeën van het Centrale ICT / Enterprise 2.0 Center of Excellence en geeft ideeën vanuit de communities door aan de locale en centrale IT afdeling / Center of Excellence.

Centrale ICT / Enterprise 2.0 Center of Excellence
Centrale ICT / Enterprise 2.0 Center of Excellence bepaalt de overall architectuur en stemt dit af in samenspraak met de business.
Uitgebreid met een Open Source Program Office en een Review Board waarin ook
vertegenwoordigers vanuit de business plaatsnemen, kan het Center of Excellence
zorgen voor een continue stroom van nieuwe assets die vanuit de communities
worden aangeboden.

De lokale ICT afdeling
Ontwikkelt actief assets op basis van de communities binnen hun klanten en partnerkring. Daarnaast worden communities actief begeleid in het (her)gebruiken van assets. Hierbij spelen het beschikbaar stellen van nieuwe assets, prototypes, tools, richtlijnen en advies aan de communities een belangrijke rol. Communityleden worden tevens gemotiveerd om nieuwe ideeën en assets ter review aan het Center of Excellence aan te bieden en daarmee de gezamenlijke infrastructuur te verrijken. Gebruik van de assets wordt geanalyseerd en de doeltreffendheid ervan bepaald om de business houvast te geven assets te specificeren die (nog) beter aansluiten op de behoefte van de communities, die de businessdoelen (nog) beter ondersteunen en die de
organisatie een beter concurrentie voordeel geven.

Outsourcing partner
Beheert de infrastructuur, neemt nieuwe assets op in de infrastructuur en geeft proactief advies over doeltreffender en doelmatiger gebruik van deze infrastructuur.

De communities
(Her)gebruiken assets om hun eigen businessdoelen te ondersteunen. Geven in ruil voor de begeleiding en het beschikbaar stellen van de infrastructuur met gedeelde assets een bijdrage in de vorm van feedback, nieuwe ideeën en eigen ontwikkelde assets die, na review, kunnen worden toegevoegd aan de gezamenlijke infrastructuur.

Op bovenstaande wijze wordt een ecosysteem tot stand gebracht waarin alle stakeholders hun eigen doelen kunnen realiseren en daarbij door de andere stakeholders worden ondersteund. Voor de business kan hiermee het doel worden bereikt om, naast goed te kunnen luisteren en snel en doeltreffend in te kunnen spelen op veranderende eisen vanuit de communities, ook daadwerkelijk invloed word uitgeoefend op het (her)gebruik van assets binnen deze communities.

Kantttekeningen bij IS Lite en Open Source governance toegepast op Enterprise
Web 2.0 assets

Bovenstaande opzet is natuurlijk een grove schets van hoe governance voor Enterprise Web 2.0 assets ingericht kan worden. De werkelijkheid zal verfijning vereisen. Een aantal kanttekeningen kunnen op dit moment algemaakt worden:
1. Inzet van Enterprise Web 2.0 assets binnen de organisatie verschilt van inzet van deze assets erbuiten. Interne communities zijn in het algemeen kleiner en assets worden hier veelal gebruikt om samenwerking en kennisdeling te ondersteunen. Hierbij is een “culture of sharing” noodzakelijk [6]; blindelings vertrouwen in software alleen staat in de praktijk garant voor een teleurstelling (“install and expect” is een veelgemaakte fout).
2. Risico zal nooit geheel uitgesloten zijn. Het is nueenmaal een gegeven dat controle over infrastructuur, beheer en (her)gebruik van assets voor een belangrijk deel buiten de organisatie wordt geplaatst en dit als gevolg heeft dat de organisatie zelf een deel van de controle verliest.
Dit brengt risico met zich mee. Dit risico kan echter opwegen tegen de voordelen die het heeft om met een veel groter publiek “samen te werken” [2].
3. (Her)gebruik van Enterprise Web 2.0 assets is een ontwikkeling die niet meer tegen te houden is. Het is beter dit te accepteren en er gebruik van te maken dan deze ontwikkeling te negeren en de boot te missen.
4. Ofschoon inzet van IS Lite en Open Source governance niet meteen in de gehele organisatie hoeft te worden uitgerold is het wel van belang dat men, vanaf de werkvloer tot en met het topmanagement, hierachter staat. Immers, omdat deze ontwikkelingen niet tegen zijn te houden, daarom risico’s genomen moeten worden, en het Enterprise Web 2.0 concept in een later stadium in de gehele organisatie moet worden uitgerold, zal het management ook in tegenspoed deze ontwikkeling moeten steunen. De CIO zou zich in zekere mate ook meer als netwerker en strateeg moeten gaan gedragen [11].

Bronnen
[1] http://en.wikipedia.org/wiki/Enterprise_social_software
[2] “Managing Risk in Mashup Corporations”, Capgemini, juli 2009, Hofman, Aaldert
[3] "Crafting An Insurance Social Media Strategy, P&C And Life Insurers Are Getting Social With Customers And Agents", Chad Mitchell, 8 juni 2009
[4] “The Reality of IS Lite”, september 2003, Gartner research.
[5] "Open source software governance, Critical business considerations and strategies", September 2007, HP/Oracle, Redwood City, California.
[6] "Elements of succesful collaboration, Baseline study, final report", december 1999, CIA/AAT/Coda, Intelligence Community Collaboration
[7] “Lite at the End of the Tunnel“, Andrew Rowsell-Jones, CIO magazine, 8 juni 2004
[8] "Social Software, Groups and Governance", Year 2005 Paper 24, Michael J. Madison, University of Pittsburgh School of Law
[9] "Seven characteristics of a good purpose for social software", Anthony Bradly, Nikos Drakos, 24 juli 2009, Gartner research
[10] "The Business Impact of Social Computing on
Company Governance", Anthony Bradley, 11 September 2008, Gartner Research
[11] "Information Governance: de nieuwe positie van de
CIO", Michiel Kooper, Compact_KPMG IT Advosory Seminar, 2007