dinsdag 28 februari 2012

SharePoint 2010 Content Organizer

 
SharePoint 2010 heeft een aantal interessante features die het werken voor gebruikers in een SharePoint omgeving vereenvoudigd zonder er al teveel werk in te hoeven steken.
Iedereen kent het wel, je hebt een bepaald document en weet eigenlijk niet waar die precies moet komen te staan, of misschien heb je vele documenten/items die je in eenvoudig op verschillende locaties in de SharePoint omgeving wilt hebben.

Microsoft heeft hiervoor de SharePoint 2010 Content Organizer (In het Nederlands ‘Inhoudsbeheer’) bedacht, die automatisch door middel van een aantal eenvoudige regels items verplaatst naar een andere locatie.

Hoe werkt dit dan?

Om deze feature te kunnen gebruiken moet er bij ‘Site settings – Site Actions – Manage site features’ de ‘Content Organizer’ geactiveerd worden op elke site waar documenten naar toe of van verplaatst moeten worden.
ContentOrganizerFeature_71FA053F
Wanneer de feature is geactiveerd, wordt er automatisch een documentbibliotheek genaamd ‘DropOffLibrary’ (afgiftebibliotheek) aangemaakt samen met een aantal opties en lijsten.

Bij ‘Site settings – Site Administration’ zijn nu 2 nieuwe opties beschikbaar gekomen: ‘Content Organizer Settings and Content Organizer Rules’. (Instellingen voor inhoudsbeheer en Regels voor inhoudsbeheer) 
ContentOrganizerSiteAdministrationLinks_2D89EE33
Met deze 2 nieuwe opties kan de ‘Content Organizer’ feature worden ingesteld, en de regels voor het verplaatsen van documenten door de gehele farm worden aangemaakt. Tevens is het mogelijk om automatisch sub mappen te creëren wanneer een folder teveel items bevat.
In De ‘Content Organizer Rules’ kunnen regels worden aangemaakt die zijn gebaseerd op Content types voor het verplaatsen van items naar een andere locatie. Met het aanmaken van de regels kunnen er aantal opties worden gekozen waaronder de regelstatus en prioriteit van de regel.
De status geeft aan of de regel actief en dus uitgevoerd moet worden of op inactief moet staan. Met de prioriteit wordt er aangegeven welk document als eerste verplaatst moet worden en welke als laatste. Hoe hoger de prioriteit hoe eerder hij verplaatst wordt.

ContentOrganizerNewRule1_3E8E1C16 
Bij ‘Content type:’ kan er gekozen worden voor een desbetreffende Content groep en type. Wanneer het Content type een alternatieve naam heeft op een andere site kan er gekozen worden om deze toe te voegen.
ContentOrganizerNewRule2_3CDD5042
Zoals hierboven beschreven is het mogelijk om automatisch sub mappen aan te laten maken wanneer een map teveel items bevat, maar het is ook mogelijk om het te baseren op metadata voor bijvoorbeeld het automatisch laten aanmaken van sub mappen en verplaatsen van documenten  die voor 1-1-2009 zijn aangemaakt.
Wanneer een Content Organizer regel wordt aangemaakt, wordt het Content type automatisch toegevoegd aan de bibliotheek!
Nu de regel is aangemaakt, kan er een document worden geüpload in de nieuwe ‘DropOffLibrary’. Wanneer je het document wilt toevoegen zal de gebruiker zien dat de ‘Content Organizer’ automatisch de documenten verplaatst wanneer de documenteigenschappen zijn verzameld.
ContentOrganizerUploadDocument_56A742B2
Wanneer de gebruiker op ‘Ok’ klikt, zal er een scherm verschijnen waarin de gebruiker het juiste Content type kan kiezen met de juiste documenteigenschappen.
ContentOrganizerEditDocumentProperties_2A8A45C1
Wanneer de gebruiker het document opslaat, zal die de melding krijgen met een link waar het document heen verplaatst is.
ContentOrganizerUploadComplete_7B585A29
Eindresultaat: het document is verplaatst naar de juiste locatie zonder dat de gebruiker lang moet zoeken naar de exacte opslag locatie.
Maar is dit nu een geweldige feature voor de gebruikers?
Wanneer de SharePoint omgeving gebruik maakt van Office WebApps, is het sneller om de locatie op te zoeken in een niet al te grote omgeving, aangezien je van daaruit het document gelijk kunt aanmaken, en opslaan i.p.v lokaal op te slaan en dan te uploaden.
Wanneer een gebruiker lokaal meerdere documenten heeft staan en deze wil uploaden zullen handmatig eerst alle documenteigenschappen toegevoegd moeten worden per document voordat ze pas naar een andere locatie worden verstuurd.
Wanneer een gebruiker geen gebruik kan maken van Office WebApps en hierdoor alle documenten moet uploaden is de Content Organizer een handige feature.
Wanneer er items uit een externe database/programma uitgelezen kunnen worden die bepaalde eigenschappen bevatten is het ideaal om deze in de ‘DropOffLibrary’ in te lezen zodat ze automatisch naar de juiste locatie verplaatst kunnen worden. Te denken aan bijvoorbeeld .XML bestanden.
Een andere mogelijkheid is gebruik te gaan maken van een een optie in SharePoint 2010 met wat benodigd programmeerwerk. SharePoint 2010 kent een feature Document ID, die de standaard document ID vervangt voor een documentwaarde met bepaalde tekens.

In 1 van de vervolg blogs zal ik hier verder op in gaan hoe de Content Organizer in samenwerking met de Document ID feature interessant is voor gebruikers.

maandag 20 februari 2012

We can do it with SharePoint!

Waarom is SharePoint 2010 ideaal voor organisaties?

zie onderstaande filmpje
We can do it with SharePoint! We kunnen het met SharePoint!



Een InfoPath lijst of bibliotheek in SharePoint Online?

 
In de mom van ‘met SharePoint kan alles’, begin deze week een klant case uitgewerkt voor het vastleggen van informatie in InfoPath formulieren. Na alle eisen en wensen van de klant op papier te hebben gezet, kwam ik een aantal punten tegen waar ik een uitdaging en zeker voordelen van de werking in zie maar niet weet of het mogelijk is.
Must requirements:
1. Formulier moet eenvoudig te printen zijn.
2. Formulier moet een uniek ID hebben.
3. Formulier moet data automatisch aanvullen na een keuze in het selectie vak.
4. Formulier moet bij indienen geëxporteerd worden naar e-mail, met een selectie van onderdelen in het formulier en tevens een bestandsextensie hebben die te openen is voor externe gebruikers.
InfoPath kent het publiceren van een formulier als ‘Lijst’, waar het formulier vaak onder de knop ‘Nieuw item toevoegen’ bevindt in een webpart of als ‘Formulierbibliotheek’, waar de formulieren fysiek te zien zijn in een SharePoint bibliotheek, en als content type worden aangemaakt.
clip_image002

1. Formulier moet eenvoudig te printen zijn.

De eerste ‘must-requirement’ is voor publicatie van een formulierbibliotheek geen probleem, aangezien hier standaard de optie ‘Printen’ aanwezig is links boven het formulier. Echter voor de publicatie bij een ‘Lijstformulier’ is dit standaard niet aanwezig.
Na wat onderzoek kwam ik op deze blog terecht: https://www.nothingbutsharepoint.com/sites/eusp/Pages/jquery-for-everyone-print-any-web-part.aspx die het mogelijk maakt door middel van jQuery het formulier te printen.
clip_image003
Het nadeel hier van is, is dat er redelijk wat handelingen gedaan moet worden en in de Masterpage gewerkt moet worden, en dat met deze code alle webparts op de desbetreffende site het printicoon krijgen (dit is wel aan te passen in de jQuery code).
Ik kreeg met het printen boven en onderaan de pagina verwijzingen te staan van de locatie van het bestand. Dit is te wijzigen in het Windows register (Start – Uitvoeren – Regedit) te navigeren naar het volgende pad: HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup en de ‘Footer’ en ‘Header’ register leeg te laten.

2. Formulier moet een uniek ID hebben.

Vanwege het extern willen versturen van het formulier en gevoelige informatie wat het bevat is het een ‘Must’ om een unieke waarde van elk formulier af te dwingen en deze te tonen in het formulier.
Er is een eenvoudige ‘geen code schrijvende’ oplossing in InfoPath
Met het ontwerpen van een InfoPath formulier, is het mogelijk om een dataverbinding te maken om data te verkrijgen van, of te versturen naar een SharePointlijst of bibliotheek. Om deze dataverbinding te maken;
Acties: Gegevensverbinding beheren… (rechts onderin InfoPath2010)
Kies voor Toevoegen
en kies als gegevensverbinding Gegevens ontvangen
met als bron SharePoint-bibliotheek of –lijst.
en de URL locatie van de SharePoint-bibliotheek of –lijst in de SharePoint Online omgeving.
clip_image004
Selecteer hier de desbetreffende lijst of bibliotheek die je wilt gebruiken om data uit te halen (zie hieronder waar de lijst ‘UniqueID’ heet).
clip_image005
Selecteer ID
clip_image006
Nu de verbinding is gelegd, moet er een tekstveld worden toegevoegd in het formulier.
Klik met de rechtermuisknop op het tekstveld en kies voor eigenschappen van tekstvak. Klik op het “fx” symbool. Voer hier de volgende formule in voor het ophogen van de bestaande formulieren met een nummer.
Max( klik op ‘veld of groep invoegen…’,Geavanceerde weergave’ en browse naar de toegevoegde gegevensverbinding en kies voor ‘ID’ onder ‘Datafields – d:SharePointListItem_RW’.) +1.
Resultaat: Max(ID) +1
clip_image007
clip_image008
Het eindresultaat is dat bij het aanmaken van een formulier automatisch een uniek ID wordt gegeneerd en bij het volgende formulier het ID opgevolgd wordt met 1 cijfer hoger.
Om het ID niet alleen een nummer te geven maak ik zelf gebruik van een formule voor het toevoegen van het ID aan een stuk tekst bijv. For20.
Note: In de toekomst wil ik nog uitzoeken of het mogelijk is een datum hiervoor te zetten zonder de datum notatie zoals 16/02/2012 maar 02201220.

3. Formulier moet data automatisch aanvullen na een keuze in het selectie vak.

Voor deze ‘Must’ requirement maak ik gebruik van de bovenstaande handelingen voor het binnenhalen van data, alleen heb ik hier aparte bibliotheken voor aangemaakt met de gegevens velden die ik automatisch wil laten invullen zoals NAW gegevens.
Ik maak gebruik van een keuzelijst waarbij men een keuze kan maken en aan de hand van deze keuze worden de NAW gegevens automatisch ingevuld.
clip_image010
Kies bij de eigenschappen van het keuzelijst veld ‘Keuzen ophalen uit een externe gegevensbron’ en kies voor de desbetreffende gegevensverbinding. Om de NAW gegevens te koppelen aan de selectie in de keuzelijst zie onderstaande van de blog van Jasper Oosterveld.
Volledige blog: http://www.spcnl.nl/2011/12/wat-kan-infopath-2010-voor-mij-betekenen-deel-vijf/

Wij willen nu de velden, zoals ‘Adress’, koppelen aan de selectie in de keuzelijst. De velden dienen dan automatisch te worden geladen. Open de eigenschappen van ‘Adress’ en klik op de formule knop. Klik nu op ‘veld of groep invoegen…’. Selecteer de data connectie onder velden.
clip_image012
Selecteer nu ‘Address´ en klik op ‘Filter Data’ en op ‘Toevoegen’. Hier kun je de naam van bijvoorbeeld een klant uit de SharePoint lijst koppelen met het control uit het InfoPath formulier. InfoPath begrijpt dan de relatie tussen het adres en de klantnaam.
clip_image013
Het veld ‘Name komt uit de data connectie en ‘CustomerName’ komt uit het ‘InfoPath formulier’. Deze handeling dient nu ook voor de overige velden te worden uitgevoerd.

4. Formulier moet bij indienen geëxporteerd worden naar e-mail, met een selectie van onderdelen in het formulier en tevens een bestandsextensie hebben die te openen is voor externe gebruikers.

Met de laatste ‘Must-requirement’: ‘Export naar e-mail, selectie van onderdelen in het formulier en export naar een bestandsextensie die die iedereen kan openen komen de grootste knelpunten tevoorschijn aangezien er wat functies in InfoPath worden getoond die niet werkend zijn in SharePoint Online.
Voor meer informatie zie: http://office.microsoft.com/nl-nl/sharepoint-online-enterprise-help/functies-van-infopath-2010-die-niet-beschikbaar-zijn-in-browserformulieren-HA102140202.aspx

Omdat ik niet wil dat gebruikers eerst het formulier lokaal moeten opslaan om het daarna te openen in InfoPath Filler zodat ze het kunnen opslaan als bijv. PDF ben ik opzoek gegaan naar een betere optie.
Het resultaat zonder teveel handelingen is een PDF printer te installeren (gratis software) en i.p.v. normaal te printen, te kiezen voor de PDF printer. Simpel maar efficiënt.

Op deze manier geef je de gebruiker de kans om formulieren eenvoudig te printen, en de optie om het formulier op te slaan als PDF en te mailen zonder aparte programma’s te moeten openen.
Het enigste wat zonder waarschijnlijk veel programmeerwerk niet mogelijk is, is de export van onderdelen in het formulier naar een ander formulier bij indienen, dus deze laat ik op dit moment achterwege. Ik heb het op dit moment opgelost door gebruik te maken van meerdere pagina’s in het formulier en de desbetreffende informatie te scheiden op de pagina’s waardoor de gebruiker bijv. alleen de desbetreffende pagina’s opslaan of printen.

Alles met elkaar, flink wat ‘boerenverstand’ gebruikt en eenvoudig de ‘Must’ items kunnen realiseren. Hopelijk komen de print en opslagmogelijkheden in SharePoint Online en InfoPath binnenkort beschikbaar.

vrijdag 17 februari 2012

Microsoft Lync Online Web planner

Microsoft heeft met het uitbrengen van Microsoft Lync ook een internet variant uitgebracht.
Microsoft Lync Online Web planner is een webbased vergadering, planning en management tool voor gebruikers die geen toegang hebben tot Microsoft Lync.
Met Lync Online Web planner is het mogelijk om vergaderin
gen aan te maken en uitnodigingen te versturen naar interne en externe contactpersonen door middel van e-mail. Het is hierbij wel noodzakelijk dat degene die de vergadering aanmaakt een Lync Online of Office365 account heeft.

U kunt via Lync Online Web Planner op https://sched.lync.com inloggen met uw Lync Online of Office365 gebruikersnaam en wachtwoord.

Voor meer informatie over het plannen, het aanpassen, en vergaderen met de Lync Online Web planner zie: Lync Online web.

Er zijn een aantal nadelen van het gebruik van de Microsoft Lync Online web variant, maar die zijn naar mijn mening minimaal.
  • Microsoft Lync Online Web planner ondersteunt geen plannen van terugkerende vergaderingen.
  • Microsoft Lync Online Web planner is alleen in het Engels beschikbaar.
  • Lync Web Scheduler heeft geen interactie met de Microsoft Outlook agenda.

dinsdag 14 februari 2012

Doorsturen van e-mail in Exchange Online

Update: 01-07-2013 zie: Error cannot convert value to type
Na een zoektocht in het configuratiescherm van Exchange Online voor het ‘forwarden’ van de Infobox e-mail naar een medewerker kwam ik erachter dat het geen eenvoudig klikwerk is hierin maar dat er gebruik gemaakt moet worden van PowerShell commando’s.

Hoe werkt dit dan?

Voordat je gebruik kan gaan maken van Windows PowerShell, moet je er zeker van zijn dat de juiste versie (v2.0) van Windows PowerShell en Windows Remote Management (WinRm) is geinstalleerd en geconfigureerd.
Windows 7 en Windows Server 2008 beschikken al over de juiste versies, voor oudere besturingssystemen kun je de software downloaden op http://support.microsoft.com/kb/968929
Verbinden van Windows PowerShell naar Exchange Online
1. Klik op ‘Start > Alle programma’s > Accessories > Windows PowerShell’, start het programma op als Administrator.
2. Gebruik het volgende commando:
$LiveCred = Get-Credential
3. Er verschijnt een login scherm, voer hier uw Office365 of Exchange Administrator account in.
4. Gebruik het volgende commando:
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell/ -Credential $LiveCred -Authentication Basic –AllowRedirection
5. Gebruik het volgende commando:
Import-PSSession $Session
Met de hier boven beschreven commando’s, wordt er toegang verleend aan PowerShell om commando’s uit te voeren aan de Exchange Online services.
6. Gebruik het volgende commando om de e-mail door te sturen naar interne of externe emailadressen.
Set-Mailbox –Identity Alias –DelivertoMailboxAndForward $true –ForwardingSMTPAddress forwarding@adress
Waarbij ‘Alias’ het e-mailadres moet bevatten waarvan de e-mail doorgestuurd moet worden naar ‘forwarding@adress’.

Bijvoorbeeld: De e-mail die verstuurd wordt naar het adres: Info@benedictservices.nl moet doorgestuurd worden naar het e-mailadres gebruiker@benedictservices.nl
Set-Mailbox –Identity (info@benedictservices.nl) –DelivertoMailboxAndForward $true –ForwardingSMTPAddress (gebruiker@benedictservices.nl)

donderdag 9 februari 2012

Voor en nadelen SharePoint Online

Dat er grote voordelen zijn aan het werken in een Microsoft ‘cloud’ oplossing is eenvoudig uit te leggen aan organisaties 150 medewerkers. Hierbij valt namelijk te denken aan een eenvoudig rekensommetje dat al snel de kostenbesparing van de benodigde investeringen laat zien, zoals meerdere servers, hardware zoals UPS, Airco, switches,  server - en cliëntsoftware, licenties, back-up apparatuur, ruimte, afschrijving enzovoort. Maar toch is het van belang om de verschillen van een lokaal geïnstalleerde SharePoint 2010 of SharePoint Online te weten voor de aanschaf van de software, want stel je voor dat er nog veel meer uitgehaald kan worden en kosten kan besparen.
Voordat ik begin, beken ik wel dat ik een grote voorstander ben van SharePoint Online, en persoonlijk denk dat dit de toekomst zal gaan worden. Vooral omdat Microsoft heeft aangegeven SharePoint Online de voorloper gaat worden van een lokale SharePoint versie.
Maar totdat Microsoft zo ver is, zijn er een aantal dingen wat van belang is bij de keuze van SharePoint Online


·        Bij aanschaf van O365 krijg je standaard 10GB per tenant en 500MB per gebruiker aan opslagruimte

·        Elke persoonlijke MySite heeft 500MB vrije ruimte die niet aan te passen is. (voordeel is wel, deze 500MB krijgt men gratis van Microsoft en wordt niet meegerekend tot de totale aantal GB’s.)

·        Bestanden mogen niet groter zijn dan 250MB, en moeten van een bepaald type zien. De lijst van ‘geblokkeerde’ bestanden kan niet worden aangepast.

·        PDF files en andere type documenten worden door Microsoft gezien als onveilige bestanden, aangezien er scriptcode in kan staan. Dit betekend dat de bestanden standaard niet te openen zijn vanuit een documentbibliotheek maar dat ze eerst lokaal opgeslagen moeten worden op de desbetreffende computer.

·        FAST Search wordt niet ondersteund, en zal de eerst komende tijd waarschijnlijk niet beschikbaar komen.

·        Bewerken van de publieke sitecollectie is met SharePoint Designer is niet mogelijk, waardoor de keuze van het design en ontwerp vrij minimaal is.

·        BCS (Business Connectivity Services) in SharePoint Online ondersteund geen directe verbinding naar SQL Azure. WCF Endpoint is hier voor nodig. Zie (http://blogs.msdn.com/b/steve_fox/archive/2011/11/12/leveraging-wcf-services-to-connect-bcs-with-sharepoint-online.aspx)

·        Mogelijkheden van design en branding zijn beperkt, geen volledige ondersteuning van HTML5 en CSS3

·        Bestanden mogen niet groter zijn dan 250MB, en moeten van een bepaald type zien.

·        Toegang tot de database is niet mogelijk waardoor migratie van een lokale SharePoint 2003/2007 omgeving niet eenvoudig is aangezien je niet kunt migreren/upgraden vanuit de database.

·        De opties in de Central Administration is minimaal vergeleken een lokale SharePoint installatie.

·        Back-up tijden kan niet worden ingesteld, er wordt standaard om de 12 uur een back-up gemaakt en 14 dagen bewaard.

·        Je bent afhankelijk van de snelheid en werking van de internetverbinding aangezien de omgeving niet lokaal draait. (Vergeet hierbij niet dat de garantie van 99% functioneringstijd door Microsoft lokaal vaak niet te halen is.)

·        SharePoint Online ondersteund op dit moment geen gebruik van Windows PowerShell.

·        Een aantal webparts, zoals RSS worden standaard nog niet ondersteund


Nu de voor mij belangrijke verschillen tussen SharePoint lokaal en SharePoint Online beschreven zijn, kan ik natuurlijk niet achterblijven waarom SharePoint zowel lokaal als online zorgt voor verbetering van bedrijfsprocessen en informatiestromen, wat leidt tot ROI’s.

Enkele voorbeelden:

·        Altijd werken met het laatste document, (in plaats van verschillende versies van documenten op verschillende locaties)
·        Vermindering van het e-mail en telefonisch verkeer
·        Altijd kunnen (samen)werken aan actuele documenten
·        Verminderd gebruik van lokale opslag
·        Besparing van de reistijden (helemaal in combinatie met Microsoft Lync)
·        Verhoogde productiviteit
·        Kantoor ruimte besparing
·        Document management
·        Business Intelligence, dashboards
·        Records Management
·        Project management
·        Helpdesk management
·        Integratie van databases of applicaties
·        Uitgebreide zoekfunctie op en in documenten
·        Formulieren
·        Rechtenstructuur
·        Workflows
·        Intranet, Extranet
·        Social media en ‘Ik vind leuk’ of kernwoorden aan documenten plaatsen
·        Taken, Meldingen, Agenda’s, Aankondigen
·        Wiki’s, Blogs

Praktische voorbeeldcases met SharePoint Online.

        ·        Verlofaanvraag indienen voor autorisatie en de verlofkaart real-time inzien
        ·        Declaratieaanvragen indienen met bijlagemogelijkheden
·        Nieuwsitems indienen publiceren en laten verlopen
·        Smoelenboek, organisatiestructuur, en evenementenkalender
·        Bewaken en beheren van looptijden van contracten en offertes
·        Managementdata zoals KPI’s kunnen inzien vanaf een computer, smart Phone, of tablet
·        Documenten etc. beschikbaar stellen aan externe klanten.
·        Samenwerken aan projectdocumentatie, presentaties etc.
·        Registreren en beheren van producten, hardware en medewerkers
·        Registreren en beheren van incidenten en aanvragen
 
 

woensdag 8 februari 2012

Externe gebruikers en SharePoint Online, de oplossing?

 

Quote: ‘SharePoint Online biedt een geïntegreerde locatie in de cloud waar uw mensen met elkaar kunnen samenwerken en bijvoorbeeld ideeën kunnen uitwisselen, speciale team- en projectsites kunnen inrichten, bedrijfsresources kunnen vinden of informatie zoeken. Zijn kunnen ook externe gebruikers uitnodigen voor het inzien/delen van en gezamenlijk werken aan documenten.’ Microsoft Office 365 productgids

Microsoft heeft met de lancering van het Office365 platform deze quote; het uitwisselen en samenwerken aan informatie met externe gebruikers meerdere malen naar voren gebracht, als kracht van de online service die men biedt. Maar werkt dit ook zo eenvoudig?

 

Hoe werkt het dan?

Het toestaan van externe gebruikers aan de site collectie word geregeld bij het beheercentrum van SharePoint Online. Met de juiste rechten kan hier de externe toegang worden aangezet.

Wanneer dit is aangezet moet in SharePoint Online bij ‘Siteacties’ – ‘Site instellingen’ – ‘Onderdelen van siteverzameling’ de uitnodiging voor externe gebruikers worden geactiveerd om gebruikers uit te nodigen.

Wanneer alles is geactiveerd kunnen externe gebruikers worden uitgenodigd door bij ‘Siteacties’ – ‘Website delen te kiezen’. Bij deze optie zijn er 2 mogelijkheden, te kiezen voor de rechtengroep ‘Bezoekers van ..’ of ‘Leden van ..’

Aangezien ik de rechtenstructuur zo heb ingesteld dat alle medewerkers van de organisatie zijn ingesteld als ‘Leden van ..’ en ik geen vervuiling wil hebben in de rechtenstructuur door medewerkers en externe gebruikers bij elkaar in te gooien is mijn enigste keuze te kiezen voor ‘Bezoekers van ..’

Naar mijn mening is dit te minimaal en zou je meerdere groepen moeten kunnen kiezen.

Nu de gebruiker is uitgenodigd begint mijn frustratie als beheerder.


Waarom frustratie?

Nadat de gebruiker is uitgenodigd, word er een mail verzonden naar het e-mailadres met een verwijzing naar de site. Wanneer gebruikers voor de eerste keer worden uitgenodigd komen ze terecht op de Microsoft Online loginpagina waar ze hun e-mailadres moeten koppelen aan een Windows Live ID.
Het koppelen van een Windows Live ID aan het opgegeven e-mailadres kan voor gebruikers met minimale computerkennis een flinke opgave zijn aangezien er verschillende handelingen en webpagina’s naar voren komen.

Niet echt gebruikersvriendelijke naar mijn mening, het mag niet zo zijn dat er bij beginnende gebruikers een handleiding of beheerder ondersteuning moet bieden voor het koppelen van een Windows Live ID.

Wanneer de gebruiker het Windows Live ID heeft gekoppeld aan zijn of haar e-mailadres, kan diegene inloggen op SharePoint Online omgeving. Vanaf dit moment is de gebruiker ook pas te zien in de gebruikerslijst van SharePoint Online als bezoeker.

Omdat je niet wilt dat een bezoeker veel kan doen en alles kan zien, stel je de rechten minimaal in.
LET OP: wanneer je op subsite niveau rechten verleent, heeft die automatisch ook beperkte rechten op de bovenliggende site, EN op de hoofdsite.

Met de uitnodiging van een externe gebruiker op een bepaalde (sub)site, worden de rechten niet automatisch ingesteld, op (sub)siteniveau.
Met andere woorden, het uitnodigen van een gebruiker op een bepaalde website heeft naar mijn mening totaal geen meerwaarde, alleen dat er netjes in de mail staat:
Gebruiker (gebruiker@benedictservices.nl) heeft u uitgenodigd samen te werken op ‘Projecten’.

De beheerder kan pas gebruikersrechten instellen wanneer de gebruiker in de lijst aanwezig is. Omdat de beheerder standaard geen melding krijgt dat de externe gebruiker zich heeft aangemeld, zal die de gebruikerslijst in de gaten moeten houden.

Resultaat: Veel handelingen, ergernissen en teveel acties in de gebruikersrechten/groepen en niet te vergeten een beheerder kan pas rechten instellen als de gebruiker voor de eerste keer aangemeld is, dit kost veel tijd aangezien een beheerder geen melding krijgt wanneer de gebruiker aanmeldt.

Oplossing?

1. Ik ben van mening dat Microsoft het eenvoudiger zou kunnen maken door de gebruikers na de eerste uitnodiging in de gebruikersgroepen te plaatsen zodat de rechten meteen verleent kunnen Zo hoef er niet gewacht te worden tot de acceptatie van de uitnodiging. (wanneer de externe gebruiker ooit in het verleden eens op de sitecollectie heeft aangemeld, komt de gebruiker wel gelijk in de gebruikerslijst te staan)

of nog beter:

2. ‘Bezoekers’ rechten en gebruikers worden gelijk aangemaakt op de site waar de uitnodiging van is verzonden.

3. Er is wat van te zeggen dat de bovenliggende site automatisch beperkte rechten krijgt, maar in sommige gevallen zal dit niet wenselijk zijn. Hier kan gedacht worden aan een standaard melding dat er geen rechten verleent zijn en dat dit aangevraagd moet worden bij desbetreffende.

4. De hoofdsite krijgt ook automatisch beperkte rechten. Binnen een organisatie wordt de hoofdsite vaak gebruikt als Intranet voor medewerkers, hier geldt hetzelfde informatie wat hierop wordt getoond zal niet altijd beschikbaar mogen zijn voor externe bezoekers bijv. een nieuwsitem van een project met meerdere leveranciers, waarvan leveranciers het niet van elkaar mogen weten.

Wat ik zelf heb bedacht om een work-around te creëren, zijn 2 sitecollecties aan te maken, waarvan 1 sitecollectie niet de mogelijkheid heeft om externe gebruikers uit te nodigen en alleen intern wordt gebruikt met intranet, algemene sites etc.
En de 2de sitecollectie met een welkomsite en ‘projecten’ site waar externe gebruikers uitgenodigd kunnen worden en in kunnen werken.

In sitecollectie 1 kan de koppeling worden gemaakt met de ‘Projecten’ site, zodat het lijkt dat intern gewerkt wordt met 1
omgeving. Echter voor het uitnodigen van externe mensen zal men op de 2de sitecollectie moeten inloggen en de uitnodiging plaatsen. Het probleem met de rechtenstructuur qua het zien van de gebruiker in de gebruikerslijst blijft bestaan.
Wanneer de externe gebruiker ooit eens toegevoegd en later verwijderd van de sitecollectie, wordt die wel automatisch toegevoegd aan de gebruikerslijst echter dan krijg ik de volgende melding bij het uitnodigen van een aantal externe gebruikers.

‘Het toevoegen van de gebruiker(s) is gelukt, maar de e-mailuitnodiging kan niet door SharePoint worden verzonden. Controleer of de server juist is ingesteld voor het verzenden van e-mail.

De toegevoegde gebruikers kunnen zich mogelijk nog altijd met hun e-mailadres aanmelden bij uw site.’

Terwijl de gebruiker niet meer aanwezig is in de gebruikerslijst. Mocht de gebruiker wel aanwezig zijn, dan nog moet die de uitnodiging meerdere keren kunnen versturen voor bijvoorbeeld het uitnodigen van gebruikers op verschillende sites in 1 sitecollectie.

vrijdag 3 februari 2012

Verplaatsen van subsites naar andere subsites

Typisch een geval van 'SharePoint voor dummies' en het 'oh werkt dat zo' effect. Iedereen kent het, je denkt dat je alles goed hebt ingericht maar het blijkt dat een sub-site toch ergens anders moet staan dan waar die nu staat.
Hoe is dit nu snel, en zonder al teveel moeite te doen:



Werken met site content en structuur.
Er zijn verschillende manieren om subsites te verplaatsen naar andere locaties binnen dezelfde sitecollectie. Te denken aan de huidige site 'Verkoop' die onder de site 'Afdelingen' valt maar onder de site 'Projecten' moet vallen.

Hoe werkt het:

1. Klik op 'Siteacties', en dan 'Site instellingen' op de hoofdsite.
2. Onder 'Sitebeheer' klik op 'Inhoud en structuur'.

Aan de hand van een soort van verkennerweergave is er nu de mogelijkheid om verschillende taken te doen. Wanneer een bepaalde site, koppeling, bibliotheek geselecteerd is kan er aan de hand van de bovenste balk gekozen worden voor de acties of instellingen die actief zijn per onderdeel. Dit kunnen zijn kopieren, verplaatsen, verwijderen, of het aanmaken van onderdelen.

Om terug te gaan naar de SharePoint omgeving, klik er linksbovenin op 'Terug naar Teamsite'.

Eenvoudiger kan bijna niet!    

jQuery, CAML, SharePoint Online

Met het inrichten van een SharePoint Online intranet omgeving stuitte ik op een onderdeel in de Fabrikam demo wat ik zeer interessant vond om te gebruiken.
De informatie box met 'announcements', 'events' en 'links'.


Waarom is dit interessant?
het gebruik van tabbladen op een intranet pagina vereenvoudigd het  overzichterlijk kunnen tonen van veel 'lopende' informatie binnen een organisatie, en persoonlijke taken etc.

Hoe werkt het dan?
Er wordt gebruik gemaakt van een standaard 'Inhoudseditor'  met een link naar een .html of .txt file.
(ik maak zelf gebruik van een .txt aangezien ik die op de SP omgeving kan openen en editen zonder hem telkens hoeven te uploaden).

Orgineel_FKM.html

Wanneer ik het bestand open valt me op dat er 'nieuwe' code in staat, CAMLQuery en dat er verwezen wordt naar jQuery.
Na wat blogs en internet hebben afgestruind kwam ik erachter dat CAML nieuwe code is voor SharePoint Foundation

Als ik eerste heb ik uit de Fabrikam demo 3 javascript bestanden overgezet naar mijn eigen SharePoint omgeving om de jQuery in ieder geval te laten werken:
      fkm.js,
      jquery.SPServices-0.6.0.min.js,
​      jquery-1.5.2.min.js
en in mijn eigen Masterpage de verwijzing hiernaar toe gemaakt

 <script type="text/javascript" src="_catalogs/masterpage/jquery-1.5.2.min.js"></script>
 <script type="text/javascript" src="_catalogs/masterpage/jquery.SPServices-0.6.0.min.js"></script>
 <script type="text/javascript" src="_catalogs/masterpage/fkm1.js"></script>

Nu de Javascript werkend is, ben ik begonnen met het strippen van de code, teneerste wil ik het design eruit hebben, om hier later me eigen design op aan te passen.

<img id="fkm_tabbarimg1" usemap="#tabsection" src="/sites/Fabrikamdemo/Style Library/en-us/Core Styles/graphics/announcements.png"/>
<img id="fkm_tabbarimg2" usemap="#tabsection" src="/sites/Fabrikamdemo/Style Library/en-us/Core Styles/graphics/events.png" style="display:none"/>
<img id="fkm_tabbarimg3" usemap="#tabsection" src="/sites/Fabrikamdemo/Style Library/en-us/Core Styles/graphics/links.png" style="display:none"/>
<map name="tabsection">
<area shape="rect" coords="30,3,150,30" href="#" onclick="switchTabs('fkm_tabbarimg1');return false;" title="Announcements"/>
<area shape="rect" coords="180,3,235,30" href="#" onclick="switchTabs('fkm_tabbarimg2');return false;" title="Events"/>
<area shape="rect" coords="265,3,315,30" href="#" onclick="switchTabs('fkm_tabbarimg3');return false;" title="Links"/>
</map>
<img style="position: absolute;" src="/sites/Fabrikamdemo/Style Library/en-us/Core Styles/graphics/bottom_cap.png"/>

Nu het design eruit is gehaald, wil ik de namen van de tabbladen en functies,  hernoemen. Hier kwam ik achter dat dit zowel in de code moet als in de FKM1.js querie. veranderd moet worden.
Na dit alles te hebben aangepast, en de tabbladen zonder opmaak de juiste benamingen en titels hebben, moet er verwezen worden naar de juiste lijst waarin de informatie moet staan.

    operation: "GetListItems",
    async: false,
    listName: "Announcements",
    CAMLViewFields: "<ViewFields><FieldRef Name='Title' /><FieldRef Name='ID' /><FieldRef Name='Body' /></ViewFields>",
     CAMLQuery: "<Query><Where><Eq><FieldRef Name='Publiceren' /><Value Type='Text'>1</Value></Eq></Where></Query>",
   
CAMLRowLimit: 5,
    completefunc: function (xData, Status) {
        $(xData.responseXML).find("[nodeName='z:row']").each(function() {
           fkm_bottomwp_html+='<div class="fkm_bootomwp_title"><a href="/sites/Fabrikamdemo/Lists/Announcements/DispForm.aspx?ID='+$(this).attr("ows_ID")+'&Source=/sites/Fabrikamdemo/">  
'Operation' haalt alle items binnen
'ListName' kijkt naar de naam van de lijst waaruit informatie gehaald moet worden.
'CAMLViewFIelds' kijkt naar de velden waaruit informatie gehaald moet worden, echter viel me het op dat 'Title' en 'Body' werkt terwijl mijn velden 'Titel' en 'Hoofdtekst' heten. (bijzonder)
'CAMLQuery' Query die de waarde controleert van de checkbox 'Publiceren' (kom ik nog op terug)
'CAMLRowLimit' geeft aan hoeveel items weergegeven moet worden.
'​ <a href=' geeft de link aan waar de lijst zich bevind.
 
Om de CAMLQuery voor de checkbox werkend te krijgen moet er wat handelingen gedaan worden buiten de jQuerys en CAMLQuery om:
Orginele code:
 
CAMLQuery: "<Query><Where><Eq><FieldRef Name='ShowOnHomePage' /><Value Type='Text'>1</Value></Eq></Where></Query>",

Deze code is verantwoordelijk voor de 'checkbox' wat bij de nieuwsitems staan wanneer, iets wel of niet gepubliceerd moet worden in de contenteditor.
Ik heb een kolom toegevoegd aan de documentbibliotheek, genaamd 'Publiceren' met als type checkbox (Ja/Nee), met als standaard waarde 'Nee'. Wanneer er nu een nieuwsitems wordt aangemaakt zal de checkbox te zien zijn en werken met onderstaande code
Bewerkte code: CAMLQuery: "<Query><Where><Eq><FieldRef Name='Publiceren' /><Value Type='Text'>1</Value></Eq></Where></Query>"

Resultaat tot op heden: 
 
Met de standaard geschreven Fabrikam toepassing, wordt bij de 'CAMLRowLimit: 5' aangegeven hoeveel nieuwsitem in totaal worden getoond moeten worden. Wanneer een nieuwsitem bestaat uit meerdere tekstregels, zal dit allemaal getoond worden. Aangezien ik geen volledige boekwerken wil weergeven als nieuwsitem geef ik aan de hand van HTML code onder de CAMLQuery een maximale waarde van 150px aan de hoogte van de 'body' teksten; 
  
'<div class="fkm_bootomwp_body heighttext" style="max-height: 150px; position: relative; overflow: hidden;">' + $(this).attr("ows_Body")+

Nu de hoogte is bepaald wordt door middel van de code'overflow: hidden' de tekst die buiten de maximale waarde valt verborgen. Om aan te geven dat er wel meer tekst aanwezig is maak ik gebruik van de volgende regel;
  '
<p style="position: absolute; bottom: 0; Left 0; width: 100%; text-align: right;"><a href="/Aankondigingen/DispForm.aspx?ID='+$(this).attr("ows_ID")+'&Source=/Intranet/"" class="button">Lees meer</a></p></div>';
 
Deze regel zorgt ervoor dat achter elk nieuwsitem de hyperlink 'Lees meer' komt te staan. Wanneer men op de 'Lees meer' tekst klikt zal men de gehele nieuwsitem zien.
Om te voorkomen dat er achter nieuwsitems die de maximale waarde niet bereiken ook de tekst 'Lees meer' komt te staan, maak ik gebruik van de volgende jQuery code:    

$('#Bedrijfsnieuws_tab1').html(fkm_bottomwp_html);
$(document).ready(function(){
 $('.heighttext').each(function() {
  if ($(this).children().first().height() < 150)
  {
   $(this).children().last().remove();

Hierbij wordt gekeken of de hoogte van de 'body' kleiner is dan 150 (px), zo ja dan word de 'Lees meer' link verwijderd. 
 
Resultaat, 2 nieuwsitems, 1 onder de 150, ander groter:
 
 
 
 
 
 
 
 
 
 
 
 
Nu ik precies de inhoud heb zoals het graag wil, rest me alleen nog de opmaak van de nieuwsitem titles en de tabbladen.Voor de opmaak van de titels maak ik gebruik van standaard <H> tags. Zodat wanneer ik een algemene CSS toevoeg aan mijn masterpage de de opmaak van de titels ook wordt meegenomen.
       fkm_bottomwp_html+='<div class="fkm_bootomwp_title"><h3><a href="/Aankondigingen/DispForm.aspx?ID='+$(this).attr("ows_ID")+'&Source=/Intranet/">'+$(this).attr("ows_Title")+'</a></H3></div>'+
Ik kies er op dit moment voor om de tabbladen zo standaard mogelijk weer te geven ipv plaatjes te gebruik. Ik maak geen gebruik van <H> tags aangezien de teksten als titel worden gezien en onder elkaar worden geplaats.
       <a href="#" onclick="switchTabs('Bedrijfsnieuws');return false;" style="font-size:10pt; font-weight: normal;">Bedrijfsnieuws  </a>
Met het finetunen van de opmaak viel me op dat er niet werd gesorteerd op het laatste nieuwsitem. Ik heb gekozen voor de OrderBy 'Modified' ipv 'Created' aangezien ik van mening ben dat wanneer er een nieuwsitem gewijzigd wordt, dit automatisch opnieuw gepubliceerd moet worden. Wanneer je het alleen wilt wijzigen en niet opnieuw publiceren, kan er gekozen worden het vinkje uit te zetten van 'Publiceren' (zie hierboven 'Checkbox').    

  CAMLQuery: "<Query><Where><And><Eq><FieldRef Name='Publiceren' /><Value Type='Text'>1</Value></Eq><Geq><FieldRef Name='Expires' /><Value Type='DateTime'><Today /></Value></Geq></And></Where><OrderBy><FieldRef Name='Modified' Ascending='False' /></OrderBy></Query>",
Wat tevens aan deze CAMLQuery is toegevoegd om de 'Nieuwsitem verloopt datum' optie werkend te krijgen is de functie

</Eq><Geq><FieldRef Name='Expires' /><Value Type='DateTime'><Today /></Value></Geq>
FYI: Vergeet hierbij niet de AND in de CAMLQuery te verwerken. 

Aangepast_FKM.html

In mijn volgende artikel ga ik de volgende tabbladen met verschillende items uitwerken, te denken aan Wiki, Agenda, Laatste 10 documenten etc.

woensdag 1 februari 2012

workflow

Workflow

Twitter Facebook Favorites More