Server-Side-Synchronization – When and how

So this will be one of my shortest blog posts, it’s just a tiny bit of information about server-side-sync (SSS) for those who still are trying to get their head around it. So here it goes!

  1. If you want to use the Exchange Webservices
    • CRM Online with Exchange On-Premises -> E-Mail Router
    • CRM On-Premises with Exchange Online -> E-Mail Router
  2. Everything else -> Server-Side-Synchronization

If you have Exchange but can/want to use POP and SMTP for handling e-mails, you CAN use server-side-sync. The only caveat is that with POP/SMTP you won’t get task/calendar/contacts/tracking/etc synchronization, you will only get incoming and outgoing email. You can still track emails automatically inside CRM, but there won’t be any information about it in your e-mail server.

And just to be perfectly clear:

If you want synchronization, and EITHER both MSCRM and Exchange is online, OR both MSCRM and Exchange is on-premises, then you can and should use Server-Side-Synchronization.

 

So how does server-side-synchronization work?

  • It uses the asynchronous processing service, no need to install any additional software.
  • You can specify credentials EITHER for every mailbox OR for a service account, OR you can EITHER use integrated authentication (see below) OR anonymous authentication (but you shouldn’t because that’s not secure)
  • You have to use HTTPS for your environment to be able to configure server side synchronization, or you could edit the registry to ignore this (but you shouldn’t, see below)

How to use a service account:
Set up a service account which gets IMPERSONATE permissions for the mailboxes you want to use. It is not enough to give it «full access» and «send as». See BOTH of the following URLs to get Exchange impersonation working

How to use integrated authentication (on-premises only):
The account running the Asynchronous Processing Service needs to have impersonate permissions for the mailboxes you want to use, see the above point (How to use a service account) on how to set impersonate permissions. To get the name of the account running the asynchronous processing service run the following command in PowerShell on one of your CRM back-end servers:
gwmi win32_service -Filter "name=’MSCRMAsyncService’" | select startname

How to set up server-side-synchronization without SSL:
Technically, you don’t, but here’s how you cheat. Create a self-signed certificate in IIS, guide found here (Microsoft). Add HTTPS-bindings to the MSCRM-website and use the self-signed certificate. Open up MSCRM, go to the server-side-sync settings and set up as needed (or create queues/users with hardcoded usernames and passwords), and when done you remove the bindings and delete the self-signed certificate. While you’re doing this, make sure you save the encryption key if you don’t have already (found in Settings -> Data Management -> Data Encryption). A good tip for creating a new key is to use a GUID, complete with dashes, and save it in your password manager (maybe add some special characters in there for good measure). Run the following in powershell to create a new GUID:
[Guid]::NewGuid().Guid

Custom Tile Display Template med støtte for ikoner fra Font Awesome

 

I posten «Metro Tiles Display Template» viser jeg hvordan vi kan bruke SharePoints egen kode til å lage Tiles-display template. Da kan vi endelig vise dynamisk innhold som Metro Tiles. Men; vi er fortsatt avhengig av bildefiler. Jeg ønsker meg et sett med Tiles som ikke bare henter innholdet dynamisk men som også er responsiv og tåler skalering. Jeg ønsker å benytte ikonbiblioteket Font Awesome istedenfor bilder; de er skalerbare, er lettere å bytte ut og lytter til flere former for styling.

FAtilesdisplaytemplateCSWPResult

CSWP med custom dynamisk Tile Display Template med støtte for Font Awesome

Les mer fra dette innlegget

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

Oppdatering: Display Forms for listeelementer

Det er ikke bare Display Templates som har problemer med datoformateringer noen ganger. Dersom du ønsker en Custom Display Form for et listeelement vil datoen der også trenge en liten oppmuntring.

Den originale DispForm.aspx viser datoen slik:

DispFormDate

Når vi oppretter en ny display form for listeelementet formaterer den automatisk datoen slik:

NewDispFormDate

XML-koden for å skrive ut datoverdien er lik som for andre normale string-felter, og datoen blir derfor skrevet ut helt uten formatering. Dette ser vi dersom vi bruker Developer Tool (F12 i IE) og ser på verdien i koden slik som vist over.

For å formatere denne teksten som et datofelt bytter vi ut
<xsl:value-of select=»@EventDate»/>
med
<xsl:value-of select=»ddwrt:FormatDateTime(string(@EventDate), 1044, ‘d. MMMM yyyy’)» />

Formateringsreglene er samme som for display template, og resultatet er dette:

CustomDispFormDate

 

Dette 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.

Følg meg

Få nye innlegg levert til din innboks.