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.