Dato i Display Templates kommer til kort

Bruker du ArticleStartDate som artikkeldato for et element i Sharepoint 2013 og viser den med custom display template vil du fort oppdage et lite problem. Display templaten vil konsekvent vise at publiseringsdatoen er en dag for lite. Altså; den viser dagen før den egentlige publiseringstoen. Grunnen til dette at feltet lagrer informasjon om både dato og klokkeslett, og når systemet skal gjøre om dette til dato alene runder den av feil vei. Vi kan enkelt rette på dette, og denne korte artikkelen viser deg hvordan.

Først er jeg interessert i å se hvilken dato som er lagret i elementet og sendes inn til display templaten. Det kan jeg finne ut ved å åpne .HTML-filen til display templaten, finne frem til linjen som mottar datoen og settee inn følgende linje

DTdate_inputvalue
var InputDate = line3.inputValue;

For å  Internet Explorer i Developer mode (F12), åpner .JS filen som hører til display templaten og scroller ned til jeg finner igjen linjen jeg skrev i HTML-filen. Sett markør i magen til venstre for linjen og refresh nettleseren. Debuggeren vil automatisk vise deg linjen du markerte og du kan holde musepekeren over feltet for å se hva feltet inneholder.

DTdate_debugger

I dette tilfellet får vi dato og klokkeslett for publisering; og denne datoen er korrekt. Det betyr at det er den automatiske formateringen av datoen som skjer i display templaten som er problemet. Derfor tar vi kontroll over datoen og gjør formateringen selv; da får vi den også med norsk formatering hvis vi vil. Kodelinjene som skal til for få til dette ser slik ut:

DTdate_formatCode

var d = new Date(line3.inputValue);
var newDate = d.toLocaleDateString();

Først lager vi et nytt dataobjekt og fyller det med input fra ArticleStartDate-feltet. Denne datoen vet vi er korrekt, og vi vil bruke denne. Vi setter datoen inn i en ny variabel som vi kaller «newDate» og gir den lokal datoformatering. Du kan også velge å style datoformateringen, f.eks.:

var newDate = d.format(«d.MM.yyyy»)

Her finner du en liste fra MSDN over alle datoformateringsmuligheten du har og hvordan de kan settes sammen.

Husk å oppdatere utskriftvariabel med det nye variabelnavnet:

_#= newDate =#_

Lagre og sjekk inn .HTML-filen. Husk at vi aldri gjør endringer .JS-filen som hører med en Display Template. Akkurat som de nye Masterpage-filene som oppdateres .JS-filen som hører til automatisk. Datoen som skrives ut vil følge lokale innstillinger, og hos meg ser den slik ut:

DTdate_viser

Denne har hjulpet meg mye og er en enkel fix til et irriterende problem. Happy SharePoint’ing :)

Har du full oversikt over alle kommende forandringer og nye funksjoner i Office 365?

Det er en hverdag i stadig endring som vi lever og arbeider i når vi er i skyen.
Hvis du ikke har full oversikt og ikke ønsker å bli altfor overrasket da det blir lansert nyheter i Office 365, bør du besøke Office 365 Roadmap jevnlig. Du finner den her.

Hodesett har blitt en samfunnsoppgave og Skill hjelper deg gjerne

Er du klar over at bare i Norge så brukes 2,7 milliarder kroner på behandle hørselsskader pr år?
Mye av disse skadene kommer av at man bruker feil hodesett, billige hodesett. Det skal ikke mer enn en for høy tone inn i hodesettet ditt så får du Tinitus og er skadet for livet.
Dette kan skje når barnet ditt er på skolen og skal lese inn en lekse på PC med et billig hodesett fra f.eks Biltema eller Claes Ohlsson. Dette skjer også gjerne når ditt barn hører på musikk fra PC, Ipad, eller mobiltelefon.
Det er ikke så vanskelig å forstå at skoler, og offentlige velger «billige» løsninger for de skal få mest ut av pengene som de har blitt tildelt.
Som en litt engasjert person har jeg lyst til å få med meg dere der ute, dere som lager hodesett på en storstilt kampanje rettet mot alle kommuner i landet om av vi kan tilby skolene rett hodesett til rett pris for de. Dette for at det handler om hørselen til våre barn.
Så er det noen av produsentene der ut som vil være med på dette?

Metro Tiles Display Template

De nye og freshe tiles’ene som kom med SharePoint 2013 henger tett sammen listevisningen Promoted Links (N: Forfremmede koblinger). Ved mange tilfeller den siste tiden ønsker kunden seg denne type visning av dynamisk innhold også (ikke bare en statisk liste), men det finnes ingen måte å løse dette på «ut av boksen». Min løsning er å lage en display template som viser innholdet akkurat lik tiles-visningen. Vanligvis er det jeg gjør gir SharePoint en spesiallaget styling, men for en gangs skyld skal jeg bruke SharePoints egen styling på en spesiallaget dings.

På bildet under ser du tiles laget med en spesiallaget display template og Content Search Webpart (CSWP) med dynamisk innhold:

sammenligneDT

På bildet under ser du tiles laget med tiles-visning av en promoted links liste med statis innhold:

sammenlignePL

 

Her var det ikke store forskjellen å spore, sant? Der er mye fordi de benytter seg av samme HTML-struktur og CSS-styling! Vi jukser og kopierer rett og slett den koden SharePoint bruker for egne tiles! Les mer fra dette innlegget

Lync til massene, hva er mulig?

Det er stadig flere og flere bedrifter som velger å erstatte dagens tradisjonelle hussentraler med alternative løsninger. Vi ser at markedet er i forandring og at flere og flere velger Microsoft Lync som sin telefoni plattform.
Men Lync er ikke er bare en telefoniplattform, det er en samhandlingsplattform. Denne er tett integrert med alle Microsoft sine produkter. Det være seg Exchange, AD, CRM Dynamics og SharePoint.
Lync har også blitt en del av SKYPE det siste året. Det vil si at man pr nå kan kjøre Chat, lyd til brukere som har SKYPE. Det kommer etterhvert også integrasjon med video mot SKYPE brukerne.
Det er også mulig å gjøre integrasjon mot GoogleTalk og andre Chat applikasjoner igjennom XMPP så lenge de andre leverandørene av disse har støtte for dette. Dette kalles federation med eksterne. Med Lync kan man også chatte med andre som bruker Lync så lenge man har federation enablet og den andre part man ønsker dette også har det.
En av fordelene til Microsoft Lync er presence status. Med hjelp av tredjepart programmer kan man få sentralbordløsninger som er integrert med Exchange, kalender med mer.
Her er det mange muligheter.
Det finnes mange bra tredjepartsapplikasjoner som man kan koble opp sammen med Lync. Det er alt fra kundesenter løsninger, sentralbord og ikke minst recording løsninger. Vi i Skill AS kan levere alle disse. Med intregrasjon i kundesenter kan man få til mot CRM Dynamics integrasjon slik at man får opp kundebildet når det ringes inn. Alt dette kan tilpasses. IVR funksjonalitet med tastevalg over flere nivåer. Call Back er også helt naturlig funksjonalitet for kundesenter løsninger. Alt dette kan man med Lync og tredjeparts applikasjon kunne leveres allerede i dag.
Dersom man har brukere som ønsker tradisjonelle telefonappater, ja så finnes det forskjellige varianter med forskjellig funksjonalitet. Flere produsenter leverer med Microsoft sin programvare og andre har laget sin egen programvare som gi da kanskje mer funksjonalitet enn hva man får ut av Microsoft programvaren. Men her det er opp til deg som kunde hva du ønsker av funksjonalitet og selvfølgelig prisbilde.
Jeg har tidligere nevnt at hodesett er en viktig del av Lync løsning. Sammen med parametre som QoS (Quality of Service) i nettverket helt ut til endepunkter som telefoni og PC’er så er dette med på å gjøre lydopplevelsen bedre for brukerne.
Dersom man velger å gå over til en Lync basert telefoniløsning som gjør at man velger å terminere hussentralen, så trenger man en SIP trunk fra en sertifisert leverandør. Skill AS sammarbeider med de største leverandørene i markedet og kan gjøre denne bestillingen på vegne av deg som kunde. Vi kan også portere over de telefonnummerne som du har i dag til den nye telefoniløsningen.
Normalt kan man få Lync levert på forskjellige metoder. Veldig mange velger å ha løsningen hos seg i sin egen datahall. Dersom man ikke har behov for telefoni og ikke ønsker noe annet å kunne legge tilbrukere så kan man få dette igjennom Office365 levert av Microsoft. Da kan man sette opp synkronisering av AD og DirSync slik at man utvider AD til å strekke seg ut i «skyen». Men her er det pr nå ikke mulig å få til telefoni.
Dersom man skal ha telefoni, kan man se på Telenor Office365 som kan tilby Lync med telefoni, men da er det et krav at man må benytte seg av Telenor på mobiltelefoni. Så man må opp med synkronisering av AD og DirSync på samme måte som beskrevet over. Her kan man også gjøre utvidelser med Azure og få til sentralbordløsning via f.eks Competella, dersom man ønsker dette.

Om du som leser synes dette virker som en spennende plattform som du ønsker mer informasjon om så er det bare å ta kontakt post@skill.no så kommer vi gjerne å gjør en presentasjon og visning på hvilke muligheter, gevinstrealisering som du kan få med Lync som din neste samhandlingsplattform.

Bugfix: DatePicker (datovelger) mangler piler

En kunde har en SharePointløsning onPrem med ganske tøff branding laget ved Composed Looks. Plutselig fikk vi problemer med dato-velgeren i skjemaer, opprettelse av nyheter og annet innhold er brukerne selv skal sette en dato. Problemet var at de små pilene som lar deg bla frem og tilbake mellom månedene plutselig var borte. Denne lille pop-up boksen med oversikt over den aktuelle måneden er faktisk en egen iframe; og derfor når jeg den ikke med CSS fra min custom CSS-fil i masterpage gallery. For å nå denne lille boksen ser jeg ingen annen mulighet enn å ty til jQuery – for det fungerer!

Les mer fra dette innlegget

SharePoint Online with WebDav and SSO

This post explains how to get a smart link which persists authentication, scroll down to the wrap-up if you’re just looking for a quick solution.

We recently had an interesting situation with a customer. They are using SharePoint Online (or to be more precise, Office365) which is federated with their own domain and using their own domain name for the SharePoint sites. They have Single Sign On working by using a portal for authentication and redirection to the Microsoft Online Services with smart links ( http://community.office365.com/en-us/w/sso/using-smart-links-or-idp-initiated-authentication-with-office-365.aspx ).

So what’s the twist?
The thing about the users in this company is that they like to open document libraries in Windows Explorer, using the «Open in explorer» button in the SharePoint library and then dragging the URL to the left-hand shortcut tab in Windows Explorer (folder names blurred on purpose):WebDavShortCut

This function works pretty good now, unlike a couple of years ago which many of you may remember (WebDav has been a source of frustration for many sysadmins over the years), but it has one major drawback:
When the security token issued for the SharePoint Online site expires, you will no longer be able to open the document library in Windows Explorer. In fact you’ll get an error message which can be caused by several different root causes, and might send you off on a wild goose chase, trying to find out what’s wrong with the Internet Explorer settings, why the ADFS-server isn’t accepting your credentials, and others (see the following blog ). The reason for this is the Forms Based authentication used by SharePoint Online, and Windows Explorer does not have a function to authenticate automatically with forms based authentication. This means that you’ll have to re-authenticate against that SharePoint root site to be able to browse the WebDav folder again.

NOTE! The security token accepted for a SharePoint site is bound to the site’s domain URL (eg: example.sharepoint.com/site1 and example.sharepoint.com/site2 uses the same security token, but example-my.sharepoint.com does not use the same token as example.sharepoint.com). This means that you’ll have to open the correct root site to get a valid token.

So how do we communicate this to end users? The answer is you don’t, and the solution is easier than you might think. When a user tries to access their company’s SharePoint Online site they may enter https://example.sharepoint.com, which will give them the following log on screen (sorry for the Norwegian version):
MicrosoftOnlineLogin

That’s why we use smart links, because they allow us to send the domain information so we get redirected to our ADFS (presumably) server and authenticated, without having to type our username:

https://login.microsoftonline.com/login.srf?wa=wsignin1.0&whr=sts.example.com&wreply=https://example.sharepoint.com

The issue with this is that the security token issued will not be persistent (Remember me), which means that the WebDav folder will still not be accessible, even though you’re logged in to SharePoint again. So what I did was start up Fiddler, and I checked the web requests sent from Internet Explorer when I logged in the «hard way» with persistent authentication (Remember me). What I found was that the Microsoft Online portal redirected me to our ADFS-server with an insane URL (whitespace inserted to make the blog post readable):
https://sts.example.com/adfs/ls/?cbcxt=&popupui=&vv=&username=user%40example.com&mkt=&lc=1044&wfresh=&wa=wsignin1.0&wtrealm=urn:federation:MicrosoftOnline&wctx=wa%3Dwsignin1%252E0%26rpsnv%3D3%26ct %3D1967435096%26rver%3D6%252E1%252E5474 %252E0%26wp%3DMBI%26wreply%3Dhttps%253A %252F%252Fexample%252Esharepoint%252Ecom %26lc%3D1044%26id%3D5878324%26%26bk%3D14327786597%26LoginOptions%3D1

Now, this might look like a hash or some obscure meta-information at first, but what you can get from this is that the portal redirects you to your ADFS-server, with the original request as a reference (which is used by the ADFS server to redirect you back to Microsoft online with a reference to the SharePoint server you’re trying to reach, which makes the Microsoft Online portal redirect you to SharePoint Online. Like a merry-go-round of authentication madness). The interesting part is the last bit, which says LoginOptions%3D1, where %3D is code for the equals (=) sign, and 1 is a value (duh). So I ran the request again with the Remember me box unchecked, and to nobody’s surprise this gave me the exact same result, except with LoginOptions%3D3 at the end.

Huzzah! We have a 380 character string we can use as for reathentication……
Not quite. To make this simpler without using a webserver and a vanity URL (in which case I recommend using this insanely long URL to reduce the redirect madness with one hop. As long as single-sign-on is working with your ADFS server you can use ‘domain.com’ instead of ‘user%40example.com’ to prevent confusion), just take the last part of the URL and add it to your smart link:
https://login.microsoftonline.com/login.srf?wa=wsignin1.0&whr=sts.example.com&wreply=https://example.sharepoint.com&LoginOptions=1

Now, just add that URL as a favorite in Internet Explorer, in a log-on script (remember to specify IE as the browser), set it as the home page, or however you want to do it and users will be able to easily re-authenticate and continue to browse their WebDav directories.

On a side note, should we allow our users to keep traversing folders like it’s 1999? Why not use the functionality SharePoint gives you instead, and demand that your system owners and/or Microsoft Partner optimize search and browsing experience instead of letting users make mistakes by dragging/moving folders all over the place using Windows Explorer? The easy answer is ‘Use search!’, but in reality you have to find out if users are ready to change the way they work, and this ‘quick fix’ will make things much better for a low cost until you decide to move things forward. Manually browsing filesystems can be useful, but more often than not what you’re doing is looking for files you don’t really know where are, so why not use the functionality you’ve already payed for?

 

The wrap up
To get single-sign-on with SharePoint Online by using a single URL to do the job, simply enter your company’s details in the following URL (replace the orange text) and use that to make it easy for users to log in and stay authenticated (for 8 hours or until the browser cache and cookies are cleared, whichever comes first):
https://login.microsoftonline.com/login.srf?wa=wsignin1.0&whr=ADFSSERVER.DOMAIN.COM&wreply=https://YOURORGANIZATION.sharepoint.com&LoginOptions=1

 

Written by

Marius Agur Pedersen
Super Potato at Skill AS

skill_logo

Følg meg

Få nye innlegg levert til din innboks.