Ontwikkelen dossierbeheersysteem in CRM 2011

Maat: px
Weergave met pagina beginnen:

Download "Ontwikkelen dossierbeheersysteem in CRM 2011"

Transcriptie

1 Ontwikkelen dossierbeheersysteem in CRM 2011 Project aangeboden door Serbruyns Matthias voor het behalen van de graad van Bachelor in de New Media and Communication Technology Academiejaar Stageplaats : Digipolis Gent Stagementor : Piet De Ceuleners Stagebegeleider : Wouter Gevaert

2

3 Woord vooraf Mijn naam is Matthias Serbruyns. Na het behalen van mijn middelbare diploma Boekhouden- Informatica in Visitatie Mariakerke (Gent) besloot ik om New Multimedia & Communication Technology te volgen aan de Hogeschool West-Vlaanderen te Kortrijk. Mijn interesses in alles wat zich in de ICT-wereld afspeelt heeft deze keuze ook versterkt waardoor ik zeer gemotiveerd was. Nu zit ik in de stageperiode en in de laatste fase voor het behalen van een bachelorsdiploma. Tijdens de stage leert de student de verworven kennis te gebruiken in de echte wereld. Niet alleen technisch maar ook methodiek. Het is toch anders werken voor een echt bedrijf, waar een fout gevolgen kan hebben op grotere schaal, tegen over een project voor school waar de gevolgen veel kleiner zijn. Ik heb mijn stage gelopen bij Digipolis gelegen in Gent. Mijn taak was daar om een nieuw dossierbeheersysteem te ontwikkelen voor de Juridische Dienst van de stad Gent. Dit systeem werd ontwikkeld in een Microsoft Dynamics CRM 2011 omgeving. Deze bachelorproef is ook in het kader van mijn stage geschreven. De bedoeling van dit document is om mijn opgedane kennis tijdens mijn stage over Microsoft Dynamics CRM 2011 te delen met geïnteresseerde gebruikers van Microsoft Dynamics CRM Via dit document wil ik mijn problemen en vooral oplossingen delen die ik heb ondervonden bij het ontwikkelen in een Microsoft Dynamics CRM 2011 omgeving. Ook wil ik de Microsoft Dynamics CRM 2011 omgeving toelichten en het systeem dat ik ontwikkeld heb stap voor stap beschrijven, van analysefase tot eindproduct. Ik wil hier ook even de tijd nemen om Digipolis en mijn stagementor Piet De Ceuleners bedanken voor de opportuniteit die zij mij hebben aangeboden. Dankzij hen heb ik de kans gekregen om te proeven van het echte bedrijfsleven en heb ik mijn kennis kunnen verruimen door het leren van nieuwe technologieën. Bedankt ook aan de Hogeschool West-Vlaanderen voor deze kans en ook bedankt ook aan mijn stagebegeleider Wouter Gevaert, docent aan de Hogeschool West-Vlaanderen. Hij begeleidde mij gedurende de hele periode van mijn stage en controleerde of alles naar behoren verliep. Als laatste wil ik mijn ouders, familie en vrienden bedanken voor de vele steun gedurende mijn opleiding.

4 Samenvatting In deze bachelorproef documenteer ik de uitgebreid de verschillende processen en stadia die het project rond de ontwikkeling van een nieuw dossierbeheersysteem voor de Juridische Dienst hebben doorlopen. Deze scriptie gaat dieper in op het ontwikkelen van een Microsoft CRM 2011 systeem en het ontwikkelen van extra functionaliteiten voor CRM 2011 door middel van Javascript, C# plug-ins en web resources. Deze scriptie is opgedeeld op basis van de verschillende stadia. In het eerste deel wordt er meer verteld over het onderzoek dat er gebeurd is om een nieuw dossierbeheersysteem tot stand te brengen. Via een uitgebreide functionele analyse creëren we duidelijk beeld van de probleemstelling, de noden, de vereisten en de wensen. De processen die een dossier doorloopt worden beschreven en het datamodel wordt besproken. Ook wordt aangetoond dat het beschrijven van use cases heel wat tijd wordt bespaard tijdens de ontwikkeling van het project. Uiteindelijk wordt ook de keuze van de gebruikte technologie toegelicht als ook Vesta, de nieuwe centrale adressendatabank van Digipolis gebaseerd op CRM. In het tweede deel van de scriptie leert u alles over de ontwikkeling van het project. Er wordt uitgelegd hoe te beginnen aan de ontwikkeling in een CRM-omgeving. Tevens wordt ook getoond hoe het CRM-systeem geconfigureerd werd, welke entiteiten er nodig zijn geweest, hoe men views kan aanpassen, etc. Vervolgens wordt er ook dieper ingegaan op de gebruikte code voor de extra functionaliteiten en automatisaties. Deze gaan over het aanpassen van formulieren via Javascript tot het schrijven van plug-ins in C#. Ook de integratie met Vesta komt uitgebreid aanbod. Het Silverlight project voor de Vesta integratie wordt in detail toegelicht, van design tot gebruikte klassen tot code. Er wordt ook duidelijkheid geschept over de gedachtegang bij de ontwikkeling van bepaalde onderdelen. In het laatste onderdeel leert u hoe het nieuwe systeem in de praktijk zal gebruikt worden. Ook de conclusie over het project en de inhoud van deze scriptie. Als afsluiter geef ik kan u mijn persoonlijke mening over de stage lezen.

5 Verklarende woordenlijst Customer Relation Management Document Management Systeem Key User Metadata Mockup/wireframe Optionset Plug-in RichTextBox Silverlight SQL Server Query Een Customer Relation management is een werkwijze en technologie waarbij het optimaliseren van alle contacten met de klant centraal staat. Via dit systeem kunnen we contactgegevens verzamelen en combineren. We kunnen ook alle geschiedenis bijhouden van een contact. bv. Microsoft Dynamics CRM 2011 Een DMS is een systeem dat gebruikt wordt voor het opslaan en beheren van documenten. Ook de metadata van een document wordt hier opgeslagen zodat er op deze data kan gezocht worden. bv. SharePoint, Alfresco Een key user is iemand die technisch onderlegd is en verstand heeft van de verschillende systemen. Het is een collega op een bepaalde dienst waar andere collega s terecht kunnen bij problemen. Zijn gegevens die karakteristieken beschrijven van bepaalde gegevens. Het is eigenlijk data over data. De meta data van een document kunnen bijvoorbeeld zijn de auteur, het type document, datum creatie, etc. Een mockup is een tijdens de ontwerp- of productiefase op schaal of op ware grootte gemaakt model van een ontwerp of product. In de software-industrie komt het begrip tevens voor om vroeg in het ontwikkelingsproces het software-ontwerp op het niveau van gebruikersinterface te testen. Een type veld in CRM dat bestaat uit een lijst met keuzemogelijkheden. Een Two optionset bestaat uit slechts 2 mogelijkheden Een plug-in of invoegtoepassing is een extra aanvulling voor een bestaande toepassing. Plug-ins worden vaak gemaakt om een bepaalde toepassing meer functionaliteiten te bezorgen of uit te breiden. Een plug-in heeft altijd de basistoepassing nodig waarvoor het gemaakt is en kan dus niet alleen draaien. Een RichTextBox is een term uit de programmeertaal. Het is een tekstveld waar er een grote hoeveelheid tekst kan ingevuld worden. Deze tekst kan ook opgemaakt worden (bv. vet, onderlijnd, cursief, ). Microsoft Silverlight is een ontwikkelingsplatform voor het ontwerpen van complexe grafische interfaces in webbrowsers. Microsoft SQL Server is een databasebeheersysteem ontwikkeld door Microsoft. Het ondersteunt SQL, de meest gebruikte databasetaal. Het wordt gebruikt door verschillende organisaties, zowel kleine als grote. Een query is een tekenreeks die een opdracht bevat die aan een database wordt gegeven om een bepaalde actie uit te voeren, en die ook potentieel gegevens terug geeft.

6 Afkortingen CRAB CRM DMS GRAB SAP SQL UML WinLbv Centraal Referentieadressenbestand Customer Relation Management Document Management system Gemeentelijk Referentie Adressen Bestand Duits software bedrijf: Systemen, Applicaties en Producten in gegevensverwerking Structured Query Language Unified Modeling Language Lokaalbevolkingsbestand in Windows omgeving

7 Inhoudsopgave Woord vooraf... 1 Samenvatting... 2 Verklarende woordenlijst... 3 Afkortingen... 4 Inhoudsopgave Inleiding Het project: dossierbeheersysteem voor Juridische Dienst Onderzoek Functionele analyse Situatie schets Oorspronkelijke toestand Processen Actoren Use Cases Conceptueel datamodel Relatie dossier dossierbeheerder Relatie dossier activator / partij Relatie Dossier locatie Relatie Dossier rechtbankgegevens Relatie Dossier document Keuze technologie Vesta Ontwikkeling Opzetten basisstructuur Aanmaken solution Aanmaken entiteiten Aanpassen views SharePoint integratie Javascript in formulieren Formulier dossier Formulier activator en partij Plug-ins Vesta integratie Start Design Klassen Code Toevoegen nieuwe web resource Aanpassen ribbon Voorbeeld gebruik Conclusie... 75

8 6 Persoonlijke analyse Literatuurlijst... 77

9 1 Inleiding Ik heb mijn stage gelopen bij Digipolis Gent. Digipolis heeft ook een vestiging in Antwerpen. Digipolis is een deskundige ICT-partner die totaaloplossingen biedt voor de verschillende diensten van de steden en OCMW s van Antwerpen en Gent. Digipolis is geen gewoon bedrijf, zij werken niet met andere klanten, maar enkel voor de stadsdiensten. Digipolis wordt gezien als een soort verlengstuk van de stad en OCMW met bevoegdheid op het vlak van ICT. Digipolis Gent neemt dus alle ICT-gerelateerde zaken van de stad Gent voor zijn rekening. Zij hebben consulenten, adviseurs en ontwikkelaars die actief mee zoeken naar de gepaste ICToplossingen en anticiperen op de behoeften van haar partners. De totaaloplossingen die zij aanreiken omvatten de ontwikkeling van software, implementatie van hardware, netwerken of telefonie-infrastructuur, het ter beschikking stellen van ICT-competenties, begeleiding van de eindgebruiker, enz. Bij het kiezen van de stage heb ik rekening gehouden met 2 belangrijke factoren. Als eerste waren er mijn interesses, wat eigenlijk van zelfsprekend is. Ik zocht iets waar ik vooral kon ontwikkelen in een Microsoft omgeving. Ook het bedrijf zelf sprak mij aan. Een gevarieerd team met zowel jonge mensen als mensen met iets meer ervaring. Ik had ook een zeer positief gesprek met Piet De Ceuleners (mijn stagebegeleider). Ook de bereikbaarheid, wat ons bij factor 2 brengt, was perfect. De stageplaats ligt amper op 5 minuten fietsen van mijn thuis en is zeer vlot bereikbaar. De bedoeling van het stageproject was om een dossierbeheersysteem te maken voor de Juridische Dienst van de stad Gent. Zij hadden hier al langer om gevraagd omdat hun huidige systeem te sterk verouderd is en er zowel technische als functionele problemen waren. 1.1 Het project: dossierbeheersysteem voor Juridische Dienst Het project waar ik gedurende die 3 maanden aan gewerkt heb was in opdracht voor de Juridische Dienst van de Stad Gent. Om hun dossiers te beheren werken ze met een MS-Access applicatie die niet meer voldoet aan de technische en functionele vereisten. Oorspronkelijk was het de bedoeling om een dossierbeheersysteem te maken via een.netapplicatie met een achterliggende SQL-database. Om de documenten bij te houden zouden we dan gebruik maken van het DMS-systeem Alfresco. Uiteindelijk zijn we van dit idee afgestapt en hebben we besloten om voor een Microsoft Dynamics CRM 2011 systeem te kiezen in combinatie met SharePoint 2010 (voor de opslag van documenten). De reden waarom we zijn overgestapt naar CRM 2011 omdat ze bij Digipolis zoveel mogelijk uniformiteit willen. Ze willen zoveel mogelijk alle applicaties laten ontwikkelen binnen een zelfde omgeving zodat alle applicatie dezelfde look and feel gebruiken. Eerst stond ik er een beetje weigerachtig tegen over omdat ik geen enkele ervaring had met Microsoft Dynamics CRM Maar eens ik de voordelen er van in zag was ik onmiddellijk gemotiveerd om er aan te beginnen. Het is altijd aangenaam om nieuwe technologieën te leren en uw kennis te verruimen. Ik volgde tutorials en online opleidingen om de basis en structuur van CRM 2011 en wat het juist inhoud. In latere stadia leerde ik hoe te ontwikkelen in een CRM 2011 omgeving. Het stageproject verliep in verschillende fases. De eerste weken waren vooral analyse-en designfases. Hierna volgde de effectieve ontwikkeling om te eindigen met testen en optimalisatie. 7

10 2 Onderzoek 2.1 Functionele analyse Elk project begint met een goede voorbereiding. En dit was hier niet anders. Je kan niet aan een project beginnen vooraleer het nodige onderzoek is gebeurd. Hoe beter alles wordt voorbereid in de analyse- en designfase hoe minder werk er moet gebeuren tijdens de ontwikkelingsfase. Het project rond een nieuw dossierbeheersysteem voor de Juridische Dienst lag al een tijdje op de stapel van de te klaren projecten. Er was reeds voor mijn aantrede bij Digipolis al een analyse gebeurd door een externe medewerker rond het project. Mijn eerste taak bestond er dan ook uit op het al reeds bestaande analyse document te bestuderen. De bedoeling hiervan was om zo een totaalbeeld te krijgen van de huidige stand van zaken rond het project. Wat is het doel? Wat zijn de problemen? Waar willen we naartoe? Het zijn allemaal zaken die mij meer inzicht gaven over de doelstelling van het project en de schaal er van Situatie schets De Juridische Dienst werkte met een verouderd systeem genaamd Pro Deo om hun dossiers op te volgen die ze binnen krijgen. Het Pro Deo systeem is gebaseerd op MS-Access en heeft belangrijke nadelen zowel technisch als functioneel. Functionele problemen zijn bijvoorbeeld de rapporteringsmogelijkheden die ondermaats zijn. Hieraan gekoppeld zijn ook de verschillende zoekfuncties niet optimaal en al helemaal niet gebruiksvriendelijk. Een technisch probleem is bijvoorbeeld dat het niet mogelijk is om met verschillende personen tegelijkertijd dossiers aan te passen. Ook het financiële venster van Pro Deo laat de wensen over. Er moet een duidelijker overzicht komen tussen de inkomsten en uitgaven. Ook moet het mogelijk zijn om hierover te rapporteren en te exporteren naar bijvoorbeeld een Excel-document. In de toekomst zou er ook een connectie moeten komen met SAP. De doelstelling van het project zijn: doorlooptijd van een dossier verminderen; betere rapportering (+documentgeneratie) en zoekmogelijkheden; beter financieel overzicht en zoekmogelijkheden op financiële gegevens; link met Vesta (centraal adressenbestand); migratie Pro Deo gegevens; documenten kunnen toevoegen aan dossier. Vesta is het nieuwe centrale adressenbestand ontwikkeld door Digipolis. Voor meer informatie verwijs ik hier graag voor naar hoofdstuk 2.4. Het systeem zal gebruikt worden door een 30-tal gebruikers. Deze bestaan uit 5 administratieve medewerkers en de overige zijn voor consultatie. Er worden ongeveer dossiers per jaar aangemaakt Oorspronkelijke toestand Het oorspronkelijke systeem Pro Deo is een MS-Access toepassing. Via Access formulieren en achterliggende VBA-code kunnen er dossiers worden toegevoegd, opgezocht, bewerkt, enz. 8

11 Fig. 1: Pro Deo In de bovenstaande afbeelding kan u zien dat naast het formulier zich de Acces databank bevindt waar alle gegevens worden opgeslagen. Via het formulier zijn deze gegevens toegankelijker en kunnen ze bewerkt of opgezocht worden. Even kort de belangrijkste features bespreken. Eerst is er, vanzelfsprekend, de mogelijkheid om een nieuw dossier aan te maken. Daarvoor klikken we op de knop nieuw dossier. Fig. 2: Pro Deo nieuw dossier Zoals u kunt zien oogt dit niet aangenaam en gebruiksvriendelijk. Het is overduidelijk dat er een nieuw, modern en vlotter systeem moest komen. Dit onderdeel werkt wel naar behoren, enkel het vinden van bestaande diensten, partijen of advocaten is niet overzichtelijk. 9

12 Op het hoofdscherm vinden we aan de rechterkant het raadpleeg gedeelte. Hier kunnen we zoeken naar bepaalde dossiers. Het zoekgedeelte is helemaal niet optimaal. We kunnen telkens slechts zoeken op 1 filter (bv. enkel zoeken op volgnummer). Er zijn een paar zoekfuncties waar we op meerdere filters kunnen zoeken maar deze zijn ook beperkt in functionaliteit. Het zou moeten mogelijk zijn om zelf een aantal parameters in te geven waarop men moet zoeken. De financiële gegevens worden ook bijgehouden. Er zijn inkomsten en uitgaven. Het financiële overzicht werkt in 2 richtingen: per dossier: alle financiële verrichtingen per dossier; per advocaat. Fig. 3: Pro Deo financiële overzicht Het datamodel (bijlage x) bestaat uit volgende tabellen: Tabel Omschrijving tbldossier tblpersoneel tbldienst tblbetrokken tbladvocaat tblstraten tblgeld Tabel waar de dossiergegevens worden bijgehouden. Kolommen zoals nummer, datums, onderwerp, samenvatting, dossierbeheerder, Tabel waar personeelsleden van de Juridische Dienst inzitten. Dit zijn dan bijvoorbeeld de registrators (administratie) en de dossierbeheerders (juristen) Tabel waar diensten van de stad Gent worden opgeslagen. De betrokkenen (derden) bij een dossier staan in deze tabel en zijn gekoppeld aan de tabel tbldossier. Deze naam is niet toepasselijk. Er zitten niet alleen advocaten in maar ook andere personen (betrokkenen). Alle straten van Gent Inkomsten en uitgaven worden hier in opgeslagen Tabel 1: Pro Deo Tabellen Processen Wat is het nut van het in kaart brengen van de processen? Wel, het is een goede evaluatiemethode om te zien hoe efficiënt iets is. Hoe komt een product of dienst tot stand en welke personen en 10

13 apparatuur zijn er nodig om dit doel zo efficiënte mogelijk te bereiken. Een procesmodel is een verzameling van methoden en technieken die gebruikt zullen worden. Er zijn verschillende onderzoeken gedaan naar het nut van het beschrijven van processen en daaruit blijkt dat er enkel maar voordelen zijn: verbetering van de kwaliteit; afname vervelende taken door automatisering; meer efficiëntere stappen in het proces; hogere productiviteit; tijdswinst. Ook voor ons systeem is er een procesmodel opgesteld. Het aantal processen dat een dossier doorloopt is niet zo uitgebreid. Via het gratis programma Bizagi Process Modeler kon ik eenvoudig een procesmodel opstellen. Dit procesmodel werd opgesteld toen er nog van werd uitgegaan dat er ging ontwikkeld worden in een.net-applicatie. Uiteindelijk werd er voor een gekozen om CRM 2011 systeem te ontwikkelen. Hierdoor zijn sommige stappen in het proces niet meer 100% van toepassing. Ons dossiersysteem bestaat eigenlijk uit 3 grote processen. opstart van een dossier; inkomsten; uitgaven. Fig. 4: proces opstarten dossier 1 Zoals bij elk proces is er hier ook een trigger die er voor zorgt dat het proces van start gaat. In ons geval is dit het binnenkomen van een brief, , telefoon en dergelijke, afkomstig van bv. de politie, financiële dienst, enz. Na het ontvangen van de trigger kan er een nieuw dossier worden opgemaakt. Dit gebeurt door administratieve medewerkers van de Juridische Dienst. Zij zijn dus ook de registrators van de dossiers en zullen ook het meeste gebruik maken van het systeem. Als er besloten wordt om een nieuw dossier aan te maken, dan wordt er een formulier geopend in een nieuw venster of tabblad. In dit formulier dat ze te zien krijgen moeten er een aantal velden 11

14 verplicht worden ingevuld. Eerst moet er een type worden gekozen. Er kunnen2 types worden gekozen uit een lijst of check box: A (advies) of C (contentieux / betwist). Vervolgens worden de gegevens over de aanleiding ingevuld, de datum en de soort. De aanleiding is het document dat ze binnengekregen hebben dat het proces heeft getriggerd. Aanleidingen zijn bijvoorbeeld een , fax, telefoon, enz. Hierna wordt er een onderwerp gekozen waarover het dossier gaat. Een onderwerp heeft ook een subonderwerp. Het subonderwerp is gebaseerd op het hoofdonderwerp en de lijst met subonderwerpen zal dan ook aangepast worden bij het selecteren van een hoofdonderwerp. De onderwerpen worden uit een database gehaald. Het is ook verplicht om een samenvatting te geven betreffende het dossier. Hiervoor is een RichTextBox voorzien. Als laatste verplichte stap moet het dossier toegewezen worden aan een dossierbeheerder. De dossierbeheerder of juristen zitten in een database opgeslagen. Via een lijst kan er een dossierbeheerder geselecteerd worden waarna de gegevens worden ingevuld. Een dossier kan nu worden opgeslagen. Fig. 5: proces opstarten dossier 2 Als een dossier is opgeslagen kunnen er optionele gegevens aan worden toegevoegd. Er kunnen aan een dossier verschillende verzoekers, partijen, locaties en diensten worden aan toegevoegd. Al deze gegevens worden via een zelfde manier opgehaald uit het centrale adressenbestand Vesta en opgeslagen. Via een bepaalde actie of knop wordt er besloten om een van deze gegevens toe te voegen. Er wordt een nieuw formulier geopend waar de gebruiker verschillende parameters kan invullen waarop men wil zoeken in Vesta. Als de persoon gevonden is in Vesta, dan halen we deze gegevens op en steken we ze in ons systeem. De velden (zoals naam, voornaam, adres, ) worden automatisch ingevuld. Dit alles gebeurt via de web service van Vesta. 12

15 Fig. 6: proces opstarten dossier 3 Als een dossier wordt opgeslagen gaat het systeem de gegevens wegschrijven naar de achterliggende database. Vervolgens was het ons idee om het systeem een bericht of notificatie te sturen naar de dossierbeheerder om hem/haar te verwittigen dat er een dossier aan hem/haar is toegewezen. Maar na gesprekken met de mensen den de Juridische Dienst waren ze daar toch niet zo enthousiast over. Ze werden namelijk al overspoeld door binnenkomende s en vonden het niet nodig om nog meer mails te krijgen. Ook is het vaak zo dat de dossiers gewoon via papier aan elkaar worden doorgegeven. Een andere optie die ze wel zagen zitten was om bijvoorbeeld in het startscherm van de applicatie enkel de dossiers te zien die aan hen zijn toegewezen. Het proces inkomsten geeft weer hoe de financiële gegevens worden ingevuld en worden bijgehouden in het systeem. Fig. 7: proces inkomsten 1 13

16 Ook hier is er weer een trigger die ervoor zorgt dat het proces van start gaat. De trigger is ditmaal dat er een lijst met rekeninguittreksels ontvangen word van de dienst financiën. De mensen van de Juridische Dienst analyseren deze lijst en zoeken via een parameter, meestal een dossiernummer, in de mededeling van het uittreksel het dossier op in het systeem. Er zijn 2 mogelijkheden om te zoeken op een dossier. Er is een snelzoekfunctie waar er 1 parameter wordt ingevuld en op alles wordt gezocht. Of er is ook een geavanceerde zoekfunctie waar verschillende velden kunnen ingevuld worden om uitgebreid te zoeken op meerdere parameters. Het resultaat van de zoekfuncties zijn bij alle 2 een lijst met dossiers waar we dan een dossier kunnen selecteren en openen. Fig. 8: proces inkomsten 2 Eens het dossier gevonden en geopend is kunnen we het financiële formulier openen. In het financiële formulier moeten er een aantal velden worden ingevuld. Het bedrag van het rekeninguittreksel kan niet automatisch berekend worden omdat dit voor elk dossier anders is en word dus handmatig uitgesplitst. De uitgesplitste bedragen worden hierna ingevuld in de overeenkomstige velden. De financiële gegevens worden vervolgens door het systeem opgeslagen. Er wordt een Excelbestand gegenereerd op basis van een sjabloon dat dan opgeslagen word op een DMS-systeem. Fig. 9: proces inkomsten 3 14

17 2.1.4 Actoren Wie gaat er allemaal gebruik maken of gaat er in contact komen met het nieuwe systeem? Er zijn verschillende personen van verschillende diensten die in contact zullen komen met het systeem. Elk van deze personen behoort tot een groep die een rol zal hebben. Die groepen hebben ook verschillende rechten in de applicatie. Eerst zijn er de administratieve medewerkers van de Juridische Dienst. Zij doen alle administratie van de dossiers die binnenkomen. Zij registreren de nieuwe dossiers en sluiten ze ook af. Zij zullen het meest gebruik maken van het systeem. Zij hebben de meeste rechten. De dossierbeheerders of juristen van de Juridische Dienst beheren dossiers die aan hen zijn toegewezen. Zij hebben ook veel rechten. Zij moeten dossiers kunnen opvragen en kunnen bewerken. Zij kunnen geen dossiers aanmaken. De contactpersoon van Financiën helpt mee met het financiële gedeelte van het systeem. Ze helpen met het uitsplitsen van de bedragen en ingeven van inkomsten en uitgaven. Het management waaronder bv. de directeur moet dossiers kunnen bekijken en overzichten kunnen opvragen van de financiële gegevens. Deze groep moet niets kunnen aanpassen of bewerken. Als laatste is er de key users. Dit zijn de personen die een technisch ondersteunende functie zoals de ICT contactpersoon bij de Juridische Dienst. Die kan bijvoorbeeld personeelsleden zoals dossierbeheerders toevoegen of bewerken, sjablonen toevoegen of bewerken, Aanmaken Dossier Bekijken Dossier Bewerken Dossier Afsluiten dossier Instellingen + achterliggende gegevens Administratie X X X X Dossierbeheerder X X X Contactpersoon FIN Management X X Key user X X X X Tabel 2: Actoren rechten Use Cases Use cases zijn een beschrijving van een gedrag van een bepaald systeem op een bepaalde actie. De use case beschrijft wie met het betreffende systeem wat kan doen. Deze techniek wordt ook gebruikt voor de bepaling van de requirements van het gedrag van een bepaald systeem. Een use case beschrijft een systeem vanuit het gebruikersperspectief. Het beschrijft de actor en het systeem als een opeenvolging van eenvoudige stappen. Elke use case is een complete serie van events, beschreven vanuit het standpunt van de actor. Ook beschrijft elke use case van hoe een doel of een taak kan worden bereikt. Voor het nieuwe systeem zijn er hier ook een aantal use cases opgesteld. 15

18 A Use case 1: registratie nieuw dossier De eerste use case is voor het aanmaken/registreren van een nieuw dossier. Deze actie kan enkel worden uitgevoerd door een administratieve medewerker of een key user. Naam Registratie nieuw dossier Samenvatting De registratie van een nieuw juridisch dossier in de applicatie Actoren Administratie + key user De gebruiker kan een nieuw dossier aanmaken. Er kan ook een voorlopig dossier worden aangemaakt. Dit is nodig als bijvoorbeeld niet alle elementen gekend zijn maar er toch al een dossiernummer nodig is. Dit wordt dan in de status vermeld als voorlopig. Volgende velden dienen verplicht ingevuld te worden: type: A/C; aanleiding: brief, telefoon, fax, ; datum Feit; datum Aanleiding; hoofdonderwerp; subonderwerp; samenvatting. De samenvatting moet een RichTextBox veld zijn waarbij de gebruiker kan werken met bold, italic, lijnspaties en dergelijke. Beschrijving De gebruiker dient ook verplicht een dossierbeheerder kiezen. Hiervoor kan de gebruiker kiezen uit een drop down lijstje met namen en voornamen van alle dossierbeheerders in status actief. De gebruiker kiest 1 dossierbeheerder. Het systeem zal automatisch de velden naam beheerder, initialen, telefoon en invullen. De gebruiker kan optioneel ook een verzoeker, locatie, dienst en één of meerdere partijen toevoegen (zie overige use cases) De gebruiker kan pas opslaan als de verplichte gegevens ingevuld werden. Het systeem maakt een nieuw dossier aan, volgende velden worden automatisch ingevuld: dossiernummer: type (1 digit) +. + jaar(4 digits) nummer(4 digits) + / + initialen dossierbeheerder(4digits), bv. C /CCLA; status: geregistreerd; registrator: login gegevens van de aangemelde persoon; datum registratie: de huidige datum. Het systeem zal ook een event in de historiek toevoegen: Registratie dossier met de ingelogde gebruiker en de datum Uitzonderingen De gebruiker kan de aanmaak annuleren door op Annuleren te klikken Resultaat Het dossier is aangemaakt en alle metadata is aangepast Tabel 3: Use case 1 16

19 B Use case 1a: toevoegen activator (verzoeker) uit Vesta Na dat er een dossier is aangemaakt kunnen er optionele gegevens worden toegevoegd. Deze gegevens zijn bijvoorbeeld een partij, een dienst, Zij worden ook contacten genoemd. Een activator is een persoon of dienst die betrokken partij is en besloten heeft om een actie te ondernemen. Deze Use case is ook van toepassing op het toevoegen van een partij. Naam Toevoegen activator aan een dossier Samenvatting Het toevoegen van activator uit Vesta aan nieuw of een bestaand dossier Actoren Administratie + dossierbeheerder + key user (enkel activator) De gebruiker opent een dossier en heeft daar de mogelijkheid om gegevens toe te voegen. De lijst met externe gegevens is opgeslagen in Vesta. De gebruiker komt terecht in een zoekscherm met volgende velden: naam persoon; voornaam persoon; ; naam bedrijf; straat; postcode; gemeente; land. De gebruiker vult 1 of meerdere zoekcriteria in en drukt dan op zoeken. Het systeem voert een zoekopdracht uit binnen Vesta door gebruik te maken van de Vesta web service en stuurt een lijst met activators terug. De gebruiker kan uit die zoekresultaten de juiste contact aanduiden. De gebruiker kan steeds de criteria aanpassen en opnieuw zoeken. De criteria en resultaten staan op hetzelfde scherm zodat het eenvoudig is om de criteria aan te passen. Beschrijving Ten minste één van de velden Naam persoon, of Naam bedrijf dient ingevuld te zijn. Om privacy-redenen dient de gebruiker bij het zoeken op basis van de 'Naam persoon' ook nog minstens 1 bijkomend veld in te vullen. Ten minste 2 karakters per veld dienen ingevuld te worden. Bij het zoeken naar een bedrijf wordt zowel gezocht op de commerciële als de maatschappelijke naam. Bij aanduiden van een activator zal het systeem volgende velden kopiëren vanuit Vesta: telefoon nummer 1; telefoon nummer 2; aanspreektitel; naam; voornaam; geboortedatum; ; maatschappelijke naam bedrijf; commerciële naam bedrijf; straat; huisnummer; bus; postcode; gemeente; land; telefoon nummer 3; Vesta ID. 17

20 Vesta kan een onbepaald aantal telefoonnummers per contact bevatten, voor dit systeem gaan we de eerste 3 nummers weerhouden. De gebruiker kan nadien manueel een type, een dossiernummer en kan eventueel nog een opmerking toevoegen in het veld Opmerking. Deze 3 velden staan los van Vesta. De gebruiker kan de Vesta ID aanklikken en de gegevens van die contact binnen Vesta bekijken. Er kunnen meerdere activators aan 1 dossier gekoppeld worden. De gebruiker moet een bijkomende activator kunnen toevoegen en reeds gekoppelde kunnen verwijderen. Indien de activator niet beschikbaar is binnen Vesta dient de gebruiker deze eerst aan te maken binnen Vesta. Er is geen synchronisatie tussen gegevens van dit systeem en Vesta voorzien na aanmaak van een activator. Als de gegevens wijzigen in Vesta worden ze niet aangepast in dit systeem. De gebruiker kan door de Vesta ID URL aan te klikken wel steeds de laatste gegevens van de contact raadplegen. Het systeem zal geen event in de historiek toevoegen. Uitzonderingen De gebruiker kan het toevoegen van de activator annuleren door op Annuleren te klikken Resultaat De activator is toegevoegd aan het dossier Tabel 4: Use case 1a C Use case 1b: toevoegen locatie Aan een dossier kan ook soms een locatie hangen. Waar is het ongeval gebeurd? Op welk adres? Welke locatie? Het gaat hier met andere woorden over de plaats waar het feit zich heeft afgespeeld. Deze informatie kan ook uit Vesta komen. Alle adressen of straatnamen van Gent staan in Vesta. Als het van een straat buiten Gent is zal deze eerst moeten worden toegevoegd. Als het gaat om bijvoorbeeld een ongeval op een autosnelweg waar geen adres kan aan gekoppeld zijn, dan kunnen we deze niet opzoeken of toevoegen in Vesta. Daarom hebben we ervoor gezorgd dat er een extra veld is waar er vrij iets kan ingevuld worden als omschrijving voor de locatie. Naam Toevoegen locatie aan dossier Samenvatting Het toevoegen van een locatie aan nieuw of een bestaand dossier Actoren Administratie + dossierbeheerder + key user De gebruiker opent een dossier en heeft daar de mogelijkheid om een locatie te kiezen. De gebruiker komt terecht in een zoekscherm met volgende velden: Beschrijving straat; huisnummer; bus; postcode; gemeente; land; 18

21 X-coördinaat; Y-coördinaat. De gebruiker vult 1 of meerdere zoekcriteria in en drukt dan op zoeken. Het systeem voert een zoekopdracht uit binnen Vesta door gebruik te maken van de Vesta web service en krijgt een lijst met locaties terug. De gebruiker kan uit de zoekresultaten de juiste locatie aanduiden. De gebruiker kan steeds de criteria aanpassen en opnieuw zoeken. De criteria en resultaten staan op hetzelfde scherm zodat het eenvoudig is om de criteria aan te passen. Ten minste 2 karakters per veld dienen ingevuld te worden. Bij aanduiden van de locatie zal het systeem volgende velden kopiëren vanuit Vesta: straat; huisnummer; bus; postcode; gemeente; land; X-coördinaat; Y-coördinaat. De gebruiker kan nadien manueel een extra omschrijving toevoegen. Dit veld staat los van Vesta. De gebruiker kan de Vesta ID aanklikken en de gegevens van die contact binnen Vesta bekijken. Er kunnen meerdere locaties aan 1 dossier gekoppeld worden De gebruiker moet een bijkomende locatie kunnen toevoegen en een reeds gekoppelde locatie kunnen verwijderen. Indien de locatie niet beschikbaar is binnen Vesta dient de gebruiker de locatie eerst aan te maken binnen Vesta. Indien de locatie niet gekoppeld kan zijn aan een adres of straatnaam (bv. autosnelweg) dan is er de mogelijkheid om in een extra veld daar de omschrijving in te vullen, bijvoorbeeld E40 Kilometerpaal X. Er is geen synchronisatie tussen gegevens van dit systeem en Vesta voorzien na aanmaak van de locatie. Als de gegevens wijzigen in Vesta worden ze niet aangepast in dit systeem. De gebruiker kan door de Vesta ID URL aan te klikken wel steeds de laatste gegevens van de locatie raadplegen. Het systeem zal geen event in de historiek toevoegen. Uitzonderingen De gebruiker kan het toevoegen van de locatie annuleren door op Annuleren te klikken Resultaat De locatie is toegevoegd aan het dossier Tabel 5: Use case 1b 19

22 D Use case 1c: toevoegen rechtbankgegevens aan een dossier Er moeten ook rechtbankgegevens kunnen worden toegevoegd aan een dossier. Een dossier kan meerdere rechtbankgegevens hebben. Naam Toevoegen rechtbankgegevens aan dossier Samenvatting Het toevoegen van rechtbankgegevens aan een nieuw of een bestaand dossier Actoren Administratie + dossierbeheerder + key user De gebruiker kan nieuwe rechtbankgegevens toevoegen of bestaande gegevens wijzigen. Volgende velden dienen verplicht ingevuld te worden: Beschrijving naam rechtbank; datum; uitspraak. Per dossier kunnen verschillende rechtbankgegevens ingevuld worden. Het systeem zal ook een event in de historiek toevoegen: Rechtbankgegevens met de ingelogde gebruiker en de datum Uitzonderingen De gebruiker kan het toevoegen annuleren door op Annuleren te klikken Resultaat De rechtbankgegevens zijn toegevoegd aan het dossier Tabel 6: Use case 1c E Use case 2: afsluiten Dossier Als een dossier is afgerond moet het ook kunnen worden afgesloten. Dit dossier zal dan als inactief worden beschouwd en zal niet meer getoond worden in de lijst met actieve dossiers die een dossierbeheerder te zien krijgt. Naam Afsluiten dossier Samenvatting Het afsluiten van een juridisch dossier Actoren Administratie of dossierbeheerder Aannamen Deze actie is enkel beschikbaar voor actieve dossiers De gebruiker kan een dossier afsluiten. Beschrijving Het systeem zal eerst een bevestiging vragen aan de gebruiker of deze het dossier wil afsluiten. Indien de gebruiker confirmeert zal het systeem vragen aan de gebruiker om een reden van afsluiten te kiezen uit een drop down lijst. Bovendien zal het systeem de waarde van het veld Intern klassement tonen en is dit verplicht in te vullen. Het systeem sluit het dossier af en volgende velden worden ingevuld: reden afsluiten: de reden die is aangegeven door de gebruiker bij het 20

23 afsluiten; intern klassement: waarde die is ingevuld door de gebruiker; datum afsluiting: de huidige datum; status: afgesloten. Het systeem zal ook een event in de historiek toevoegen: Afsluiten dossier met de ingelogde gebruiker en de datum Uitzonderingen De gebruiker kan het afsluiten annuleren door op Annuleren te klikken Resultaat Het dossier is afgesloten en alle metadata is aangepast Tabel 7: Use case 2 F Use case 3: heropenen dossier Een dossier kan ook terug heropend worden als er bijvoorbeeld nieuwe elementen boven zijn gekomen. Naam Heropenen dossier Samenvatting Het heropenen van een juridisch dossier Actoren Administratie of dossierbeheerder Aannamen Deze actie is enkel beschikbaar voor afgesloten dossiers De actie heropenen dossier is beschikbaar voor afgesloten dossiers. Het systeem zal eerst een bevestiging vragen aan de gebruiker of deze het dossier wil heropenen. Indien de gebruiker confirmeert zal het systeem het dossier heropenen en de details tonen. Beschrijving Het systeem zal volgende velden aanpassen: status: heropend. De velden Reden Afsluiten en Datum afsluiting worden niet blanco gemaakt. Het systeem zal ook een event in de historiek toevoegen: Heropenen dossier met de ingelogde gebruiker en de datum Uitzonderingen De gebruiker kan het heropenen annuleren door op Annuleren te klikken Resultaat Het dossier is actief en alle metadata is aangepast Tabel 8: Use case 3 21

24 G Use case 4: koppelen dossiers Dossiers kunnen ook gekoppeld worden aan elkaar. Het moet mogelijk zijn om meerdere dossiers met elkaar te koppelen. Naam Koppelen dossiers Samenvatting Het koppelen van dossiers aan elkaar Actoren Administratie of dossierbeheerder De gebruiker moet de mogelijkheid hebben om dossiers aan elkaar te koppelen. De gebruiker gaat naar de details van een dossier en kiest dan de actie dossier koppelen. De toepassing opent een zoekscherm waar de gebruiker de naam van het te koppelen dossier kan ingeven. Na bevestiging worden beide dossiers gekoppeld. Beschrijving In de details van beide dossier is de koppeling zichtbaar. De gebruikers moeten de gekoppelde dossiers kunnen bekijken en aanklikken om naar de details van dat dossier te gaan. Het systeem zal ook een event in de historiek toevoegen van beide gekoppelde dossiers Gekoppeld dossier met de ingelogde gebruiker en de datum + de naam van het gekoppeld dossier in extra informatie. Het moet mogelijk zijn om meerdere dossiers te koppelen aan 1 dossier. De gebruiker moet ook de mogelijkheid hebben om een koppeling te verwijderen. Resultaat De dossiers zijn gekoppeld Tabel 9: Use case 4 H Use case 5: documentgeneratie Er moeten documenten kunnen worden gegenereerd op basis van een sjabloon. Het document moet automatisch vaste velden invullen over het dossier zoals nummer, datum, Er moet ook nog witruimte zijn om er zelf nog eventueel manueel nog zaken aan toe te voegen. Naam Document aanmaken op basis van sjabloon Samenvatting Een document zoals een ontvangstbevestiging of een aanmaning aanmaken op basis van een sjabloon Actoren Dossierbeheerder Beschrijving Een dossierbeheerder moet een document kunnen opstellen via de toepassing. Bij aanklikken van de actie kiest de gebruiker uit een type (aanmaning, ontvangstbevestiging, ). Bij bevestiging zal het systeem een reeks velden uit het dossier kopiëren naar het MS-Word of MS-Excel sjabloon en een nieuw document aanmaken. Het nieuwe document wordt toegevoegd aan het dossier en het document wordt geopend. De gebruiker kan manueel nog wijzigingen aanbrengen aan het document. Nadien moet hij het document bewaren in de applicatie, het 22

25 document afdrukken en doorsturen naar de betrokken partij. Het systeem zal ook een event in de historiek toevoegen: Aanmaak document met de ingelogde gebruiker en de datum + het type sjabloon in extra informatie Een beheerder moet de mogelijkheid hebben om nieuwe sjablonen op te laden en wijzigingen aan te brengen in de velden die overgebracht moeten worden. Uitzonderingen De gebruiker kan de aanmaak annuleren door op Annuleren te klikken Resultaat Het document is aangemaakt, toegevoegd aan het dossier en het event is toegevoegd aan het dossier Tabel 10: Use case 5 I Use case 6: zoeken dossier Dossiers moeten kunnen worden opgezocht. Er moeten 2 zoekfuncties aanwezig zijn. Eerst moet er een snel zoekfunctie zijn. Er wordt 1 parameter ingevuld en vervolgens wordt er op die parameter overal gezocht. Als tweede moet er ook een uitgebreide zoekfunctie zijn. Hier kunnen meerdere velden worden ingevuld waarop gezocht moet worden. Naam Zoeken Samenvatting Functionaliteiten voor het opzoeken van dossiers en documenten Het systeem moet heel flexibele zoekmogelijkheden aanbieden aan de gebruikers. Volgende functionaliteiten moeten voorzien worden: Beschrijving alle metadata-gegevens van het dossier moeten kunnen gebruikt worden als zoekcriteria (criteria reeds ingevuld); de verzoeker, locatie, partij en dienst moeten doorzoekbaar zijn; metadata van de documenten moeten doorzoekbaar zijn; de documenten moeten doorzoekbaar zijn op basis van de full tekst van de inhoud; er moet een snelle zoekmogelijkheid voorzien worden op basis van 1 invulveld: het systeem zoekt zowel op dossiernummer, naam partij (voornaam + achternaam), naam verzoeker, naam locatie als datum feit ; de gebruiker moet de mogelijkheid hebben om zoekopdrachten bewaren (optioneel); de zoekcriteria moeten een filtering op speciale karakters (ç, é, à, è, ö, etc.) ondersteunen. Bijv. een zoekopdracht naar Francois moet ook François teruggeven als resultaat; het moet mogelijk zijn om zoekresultaten te exporteren; de zoekschermen moeten het totaal aantal resultaten tonen; er mag geen beperking voorzien worden op het aantal getoonde resultaten (geen beperking tot vb. 350 of 500). Tabel 11: Use case 6 23

26 2.2 Conceptueel datamodel Bij een datamodel definiëren we welke gegevens in een informatiesysteem vastgelegd kunnen worden, hoe ze gestructureerd zijn en welke verbanden ze met elkaar hebben. Het is een vereenvoudigde weergave van de werkelijkheid en zorgt voor een beter overzicht. Het zorgt ervoor dat de omvang en de complexiteit van het systeem beter te bevatten is. Ook elke doelgroep kan deze modellen eenvoudiger begrijpen en lezen, zo ontstaat er betere communicatie tussen bijvoorbeeld analisten, ontwikkelaars en de business. Er is een relationeel model opgesteld voor een duidelijk overzicht op de database. In een relationeel model hebben we een duidelijk beeld op de verschillende tabellen en de relaties tussen deze tabellen. Bij het nieuwe systeem hebben we een centrale tabel Dossiers. Aan deze tabel hangen verschillende gerelateerde tabellen zoals Dossierbeheerders, Activators, Partijen, Relatie dossier dossierbeheerder Een dossier heeft altijd 1 dossierbeheerder en kan ook maximaal maar 1 beheerder hebben. Ze hebben een 1 op veel relatie. Fig. 10: Relatie Dossier - Dossierbeheerder Relatie dossier activator / partij Een dossier heeft ook altijd een activator en verschillende partijen. Een dossier kan meerdere activators/partijen hebben en een activator/partij kan aan meerdere dossiers gelinkt zijn. Daarom is er een veel op veel relatie tussen deze tabellen. 24

27 Fig. 11: Relatie Dossier - Partij/Activator Relatie Dossier locatie Een dossier kan 1 of meerdere locaties hebben waar een feit zich heeft afgespeeld. Daarom is er hier ook een veel op veel relatie. Een dossier kan meerdere locaties hebben maar een locatie kan ook gelinkt zijn aan meerdere dossiers. Fig. 12: Relatie Dossier Locatie 25

28 2.2.4 Relatie Dossier rechtbankgegevens Een dossier kan later ook voor de rechtbank verschijnen. Dit kan ook verschijnen voor meer dan 1 rechtbank. Een dossier kan dus meerdere rechtbankgegevens hebben. Een rechtbank behandelt ook meer dan 1 dossier, daarom is er hier een veel op veel relatie. Fig. 13: Relatie Dossier - Rechtbankgegevens Relatie Dossier document Een dossier heeft verschillende documenten. Een dossier kan ook meerdere documenten hebben. Een document kan behoren tot 1 dossier. Daarom maken we gebruik van een 1 op veel relatie. Fig. 14: Relatie Dossier Document 26

29 2.3 Keuze technologie Na de analyse en het maken van het datamodel was het tijd om te kiezen voor welke technologie we zouden kiezen. Oorspronkelijk was het de bedoeling om alles te maken in een.net-applicatie en de documenten in Alfresco, een document management systeem. Maar gedurende de analyse periode werd duidelijk dat het eigenlijk veel makkelijker en performanter kan door gebruik te maken van bestaande Microsoft systemen. We wilden ook de look en feel gebruiken van Microsoft Office die de mensen gewoon zijn (ribbon, etc.). Microsoft Dynamics CRM 2011 voldoet perfect aan onze requirements en is eenvoudig te gebruiken. Microsoft Dynamics CRM 2011 is een Customer Relation Management systeem ontwikkeld door Microsoft. We kunnen er verschillende lijsten in bijhouden entiteiten zoals dossiers, dossierbeheerders, partijen, Via formulieren kunnen we dossiers toevoegen en aanpassen. Voor documenten op te slaan maken we gebruik van SharePoint Dit is super eenvoudig te integreren en zo blijven we binnen de Microsoft omgeving. Ook voor het ontwikkelen van dit systeem gaat er minder werk moeten gebeuren. Voor het maken van de formulieren kunnen we gebruik maken van een designer en slepen we er gewoon de verschillende velden op. Ook is het mogelijk om via Javascript formulieren aan te passen. Via web resources kunnen we ook Silverlight applicaties toevoegen aan een formulier. Er moet ook niets gedaan worden in SQL. Dit gebeurt allemaal in de achtergrond. Bijvoorbeeld bij het maken van een entiteit (bv. Dossier) wordt er een tabel gemaakt in de achtergrond in SQL. Ook als we velden toevoegen aan een entiteit dan worden er kolommen toegevoegd in SQL aan die tabel. Ook Vesta is gemaakt in een Microsoft Dynamics CRM 2011 systeem. Daardoor is het nog eenvoudiger om ons systeem te koppelen met Vesta. Op vlak van security moet er niets meer gedaan worden. Alles gebeurt via de Active Directory en er kunnen rechten worden toegekend in het CRM systeem voor de verschillende rollen. Met andere woorden: door met CRM 2011 te werken wordt er al veel gedaan voor de ontwikkelaar. 2.4 Vesta Ondertussen is de term Vesta al een paar keer aanbod gekomen. Maar wat is Vesta nu juist? Vesta is een centrale databank met contactgegevens. Dit zijn gegevens van personeel, burgers, bedrijven, verenigingen, instellingen, enz. Er is ook een scheiding tussen privé- en professionele contacten. De databank is gebouwd in een Microsoft Dynamics CRM 2011 systeem. Vesta haalt zijn gegevens van authentieke bronnen zoals WinLbv, GRAB/CRAB, enz. Er worden wettelijke basisgegevens bijgehouden zoals het rijksregisternummer, aanvullende contactgegevens. Ook gebeurt er een dagelijkse update in Vesta om steeds correcte gegevens te garanderen. Momenteel zitten alleen de personen die gedomicilieerd zijn in Gent in de database alsook de organisaties die relaties hebben met de Stad Gent. Er was dringend nood aan een centrale databank met contactgegevens omdat er teveel applicaties zijn die gebruik maakten van verschillende (niet-gevalideerde) adresnotaties. Nu kunnen alle applicaties authentieke en correcte contactgegevens ophalen en zullen dubbele en fout gegevens vermeden worden. Vesta zal dus ook zorgen voor een betere dienstverlening. Dit systeem zal voornamelijk gebruikt worden door de verschillende diensten van de stad Gent. Vesta is ontwikkeld door RealDolmen in opdracht van Digipolis. 27

30 Toepassing om lijsten van contacten te beheren Update vanuit authentieke bronnen Adressen Scheiding tussen privé en professionele contacten Fig. 15: Vesta Vesta bevat is naast een databank voor contactgegevens van personen en organisaties ook een lijsten-toepassing. Bovenop de contactgegevens kunnen er specifieke lijsten worden aangemaakt die vaak zullen gebruikt worden. Aan deze lijsten kunnen dan personen of organisaties worden aan toegevoegd. Via een extra beveiliging zullen deze lijsten toegankelijk worden gemaakt voor een aantal mensen en niet voor iedereen. Het Vesta datamodel ziet er als volgt uit: Fig. 16: Vesta Datamodel Een privépersoon, professionele persoon of een organisatie haalt zijn contactgegevens uit de adressentabel. Deze adressen zijn allemaal authentiek en dus correct. Een professionele persoon is altijd gekoppeld aan een privépersoon en aan een organisatie. Bovenop de standaard web service van CRM is er door RealDolmen een extra web service aan toegevoegd, de Vesta Connector genaamd. 28

31 Fig. 17: Vesta Connector Bovenop de standaard validatie van CRM is er nog extra validatie aan toegevoegd via de Vesta Digipolis web service. De connector maakt gebruik van een Soap web service. De toegang gebeurt via een systeemaccount per toepassing. Deze moeten worden beheerd door applicatiebeheer bij Digipolis. De eindgebruiker wordt via een parameter doorgegeven zodat alle acties kunnen worden gelogd. In de connector zit alle logica geïmplementeerd: rechten voor bepaalde acties, formattering van datums, getallen, validatie van input, enz. Ook zijn er een aantal tussenschermen ontwikkeld door RealDolmen die gebruikt kunnen worden voor verschillende acties zoals het zoeken van een contact, toevoegen van een contact, bewerken van een contact, etc. Deze schermen zijn bedoeld om vooral gebruikt te worden door niet CRM gebaseerde toepassingen. De schermen zijn niet ontwikkeld voor een specifieke applicatie maar zijn bedoeld om globaal te gebruiken binnen de diensten van Stad Gent voor snel bijvoorbeeld een contact toe te voegen. Het systeem van de Juridische Dienst heeft een aantal extra velden nodig voor het toevoegen van een contact uit Vesta en daarom kunnen deze schermen niet gebruikt worden binnen mijn applicatie. 29

32 3 Ontwikkeling Omdat ze bij Digipolis gebruik maken voor verschillende omgevingen voor de verschillende fases van de ontwikkeling van een product moest er eerst een naam worden gekozen voor het CRM systeem zodat het in een later stadium makkelijker is om de toepassing over te zetten van een ontwikkelomgeving naar een productieomgeving. In bijlage 1 kan u Na dat de Juridische Dienst de naam op de proppen kwam kon er worden gestart met het opzetten van de basisstructuur van het systeem. 3.1 Opzetten basisstructuur Aanmaken solution Een CRM-systeem bestaat uit solutions. Een solution is eigenlijk een soort van pakket dat alle componenten bevat die ondersteund worden door CRM en die een specifieke bijdrage leveren aan de functionaliteit van de toepassing. Deze componenten kunnen gaan van plug-ins tot afbeeldingen die gebruikt worden. Een solution wordt gezien als een software die geïnstalleerd kan worden op andere plaatsen. Eens een solution is aangemaakt kan deze eenvoudig op een ander CRM-systeem worden geïnstalleerd, zowel op CRM online als op CRM On-Premises. Dit is zorgt ervoor dat de solution van de ontwikkelomgeving eenvoudig kan geëxporteerd worden naar de productieomgeving. Een solution kan ook geüpdatet worden en er worden versies bijgehouden. Ook kan een solution verwijderd worden van een CRM-systeem. Fig. 18: Componenten Solution Om een solution aan te maken gaan we naar de instellingen van het CRM-systeem en kiezen we voor solutions of oplossingen. Hier kiezen we voor een nieuwe solution aan te maken. 30

33 Fig. 19: Solution Een solution kan un-managed of managed zijn. Een un-managed solution is een solution die aanpasbaar is. Meestal zijn deze solutions nog in ontwikkeling. Een managed solution is een solution die af is. Dit is een un-managed solution die geëxporteerd is als een managed solution en daardoor afgesloten is voor aanpassingen aan de solution. Deze worden meestal gebruikt voor in productieomgevingen. Via bepaalde configuratie mogelijkheden is het echter wel mogelijk om bepaalde velden of instellingen aan te passen in een managed solution. Dit zijn echter meestal alleen visuele aanpassingen zoals het aanpassen van een view of de naam van een veld. Aanpassingen aan belangrijke kern functionaliteiten zijn niet mogelijk Aanmaken entiteiten In een solution bevinden zich meestal ook een aantal entiteiten. Een entiteit in CRM 2011 wordt gebruikt om te modelleren en om data te beheren. Een entiteit heeft ook een aantal attributen en elk attribuut staat voor een data item van een bepaald type. Een entiteit contact heeft bijvoorbeeld een naam als attribuut. Een entiteit is eigenlijk een object-georiënteerd begrip voor een databasetabel en de attributen zijn de kolommen. Een entiteit aanmaken in CRM 2011 is eigenlijk hetzelfde als het aanmaken van een tabel in een database. In CRM 2011 kunnen er zelf entiteiten worden aangemaakt. Maar er zitten ook standaard entiteiten in CRM Entiteiten zoals contacten, accounts, etc. zitten er allemaal al in. Als er bijvoorbeeld een entiteit moet aangemaakt die lijkt op een standaard entiteit dan kan je evengoed de standaard entiteit gebruiken in plaats van een entiteit vanaf nul op te bouwen. Voor het systeem heb ik meestal zelf mijn entiteiten opgebouwd omdat er geen enkele standaard entiteit bestond die ik kon hergebruiken zonder al teveel aanpassingen te moeten doen. Om een entiteit aan te maken, openen we onze solution en gaan we naar entiteiten. Daar kunnen we een nieuwe entiteit aanmaken. Het is belangrijk om bij Ownership te kiezen voor User or Team en niet voor Organization. Als er wordt gekozen voor Organization dan is die entiteit toegankelijk voor de hele organisatie en kunnen er geen rechten worden ingesteld voor die entiteit. Dit is een fout die ik gemaakt heb en pas achteraf ontdekt hebben toen we de rollen wilden instellen voor de gebruikers. Aangezien de Ownership eigenschap van de entiteit niet kan aangepast worden na creatie moest ik alle entiteiten die als Ownership Organization hadden verwijderen en opnieuw aanmaken. A Entiteit dossier Omdat het systeem draait rond dossiers, wordt de entiteit dossier onze belangrijkste entiteit. Deze entiteit zal een lijst bijhouden van alle dossiers. Fig. 20: Entiteit Dossier 31

34 De entiteit dossier moet zichtbaar zijn in de werkruimte van CRM. Sommige entiteiten moeten soms niet zichtbaar zijn voor iedereen en moeten dus enkel getoond worden in het instellingen venster of helemaal niet. Fig. 21: Gebieden entiteit zichtbaar is Ook kan er geconfigureerd worden of een entiteit moet kunnen gekoppeld worden aan een documentenbeheersysteem zoals bijvoorbeeld SharePoint. Als we de functie auditing of controlegeschiedenis aanvinken dan gaat het CRM-systeem ook automatisch alle wijzigingen die een record van de entiteit dossier heeft ondergaan bijhouden. Via de controlegeschiedenis houdt het systeem mooi bij welke aanpassingen er zijn gebeurd aan een dossier en welke gebruiker de aanpassingen heeft uitgevoerd. Fig. 22: Entiteit opties Een entiteit heeft ook een hoofdveld. Dit is een standaard veld dat altijd aanwezig zal zijn. Je kunt er niet veel aan aanpassen behalve de naam en of het al dan niet vereist is. Ook het type kan niet worden aangepast. Dit hoofdveld zal het veld zijn dat zichtbaar is bij het resultaat van een lookup veld. In het geval van de entiteit dossier is mijn hoofdveld het dossiernummer. Fig. 23: Entiteit hoofdveld Nadat we alle basisinstellingen van een entiteit hebben geconfigureerd kunnen we de entiteit opslaan. De prefix new toont aan dat deze entiteit om een aangepaste entiteit gaat. Deze prefix kan aangepast worden door naar Customizations of aanpassingen te gaan en te klikken op Publishers. Vervolgens kies je de publisher van de solution waar je in werkt en kan je daar de prefix aanpassen. Fig. 24: Aanpassen prefix publisher 32

35 De volgende stap is om de attributen of velden toe te voegen aan de entiteit. Standaard worden al een aantal standaard velden toegevoegd aan een entiteit zoals datum aangemaakt, aangemaakt door, etc. Een aangepast veld toevoegen ziet er hetzelfde uit als het aanpassen van een hoofdveld met het verschil dat we dit veld wel volledig kunnen aanpassen naar onze wensen. Fig. 25: Velden Dossier De entiteit dossier heeft heel wat velden dus zullen we beginnen bij het begin. Een dossier heeft altijd een naam nodig. Dit is het dossiernummer. Het dossiernummer is een gewoon tekst veld dat bestaat uit 20 karakters. Dit is tevens ook het hoofdveld dat we daarnet hebben besproken. Het dossiernummer wordt samengesteld op basis van een aantal parameters. Deze parameters zijn: het type van het dossier, het jaar van creatie van het dossier, een nummer dat oploopt en terug vanaf 0 begint bij een nieuw jaar en de initialen van de dossierbeheerder. Het veld type is een keuze veld met 2 opties. Een dossier kan ofwel een type A zijn (advies) of type C (contentieux). Dit is een verplicht veld dus zetten we Requirement level op Business Required. Ook moet het mogelijk zijn om op dat veld te kunnen zoeken. Auditing staat aangevinkt omdat we willen bijhouden wie of wanneer er iemand het type van een dossier heeft gewijzigd. Het type van het veld is een 2-keuze veld. Het woord zegt het zelf: er zijn maar 2 mogelijkheden die je zelf kan instellen. Fig. 26: veld Type dossier Het veld jaar creatie en nummer zijn respectievelijk een datum veld en een nummer veld. Deze zullen niet zichtbaar zijn en worden enkel bewaard in de achtergrond. Deze velden zijn nodig om het dossiernummer te vormen via een plug-in. 33

36 Het veld dossierbeheerder is een veld gebaseerd op een record van het type entiteit dossierbeheerder. Dit is een lookup veld. Ook dit veld is verplicht en er zal worden gecontroleerd op wijzigingen. Het type is een lookup. Dit wil zeggen dat we een record kunnen opzoeken van een bepaald type entiteit. In dit geval gaat het om een record van het type dossierbeheerder. Automatisch wordt voor ons ook al de relatie gelegd tussen de entiteit dossier en de entiteit dossierbeheerder. Uiteraard moet de entiteit dossierbeheerder al reeds aangemaakt zijn vooraleer we deze lookup kunnen aanmaken. Ik verwijs graag naar punt B waar de entiteit dossierbeheerder wordt aangemaakt. Fig. 27: veld Dossierbeheerder dossier Een dossier wordt ook pas geregistreerd als er een aanleiding is. Een aanleiding kan gaan van een telefoon, fax, , etc. Eerst had ik nog gekozen voor een option set maar het probleem van dit type is dat de lijst met mogelijkheden niet meer aangepast kan worden door de administratie van de Juridische Dienst als er bijvoorbeeld een extra keuze mogelijkheid toegevoegd moet worden aan die lijst (bv. Facebook bericht). Daarom heb ik dit een extra entiteit genaamd aanleiding voorzien. Via deze entiteit kan er gemakkelijk een extra aanleiding worden toegevoegd aan de lijst. En via het lookup veld aanleiding in de entiteit dossier kan dan snel een aanleiding uit die lijst worden geselecteerd. Fig. 28: veld Aanleiding dossier 34

37 Dossiers worden ook gecategoriseerd via hun onderwerp. Een dossier heeft altijd een hoofdonderwerp en kan een subonderwerp hebben. Een hoofdonderwerp kan bijvoorbeeld zijn invordering en een subonderwerp is dan bijvoorbeeld onderwijs. Een subonderwerp is gebaseerd op de selectie van het hoofdonderwerp. Omdat deze velden net als bij dossierbeheerder en aanleiding uit een aan te passen lijst moeten komen zijn ook deze velden van het type lookup. Ook is er een veld samenvatting. Dit is een tekstveld waar meerdere lijnen tekst in kunnen komen te staan. Het aantal karakters dat toegelaten is ook veel grotere dan een normaal tekstveld namelijk Er zijn nog een aantal datum velden zoals datum van de feiten, datum van de aanleiding, etc. die voor zichzelf spreken en die ik hier niet zal aanhalen. Na het aanmaken van de verschillende velden kunnen we nu het formulier opmaken. Het formulier opmaken gebeurt heel eenvoudig met de ingebouwde designer. Aan de rechterkant kunnen we alle velden zien die we hebben aangemaakt binnen de entiteit dossier. We kunnen een veld selecteren en verslepen naar een gewenste plaats op het formulier. Er kunnen witruimtes worden toegevoegd, extra tabbladen, web resources, etc. Ook kunnen er scripts worden toegevoegd aan een formulier maar hier ga ik later dieper op in (zie punt 3.2). Fig. 29: Design formulier Het dossiernummer en nummer bovenaan zijn beiden read-only velden. Deze mogen niet worden aangepast. Ook is ervoor gezorgd dat er in de lookup velden niet kan worden getypt om ongewenste waarden te voorkomen (zie fig. 30). Fig. 30: field behaviour lookup 35

38 Het lookup veld subonderwerp moet ook gebaseerd zijn op de geselecteerde waarden van het veld hoofdonderwerp. Dit passen we aan door te dubbelklikken op het veld of eenmaal te klikken op het veld en bovenaan in de ribbon te klikken op Change properties. De subgrid mag alleen maar de subonderwerpen tonen die in een hoofdonderwerp zitten (zie fig. 31). Fig. 31: subonderwerp gebaseerd op hoofdonderwerp B Entiteit dossierbeheerder De naam dossierbeheerder heeft niet veel verduidelijking meer nodig. Het is de persoon, meestal een jurist(e), die het dossier gaat beheren. Elk dossier heeft verplicht een dossierbeheerder toegewezen gekregen. De dossierbeheerders zijn allemaal werkzaam bij de Juridische Dienst en zijn geen externen. Deze entiteit zal een lijst bijhouden van alle dossierbeheerders. De entiteit zal enkel zichtbaar zijn bij de instellingen waar niet iedereen toegang toe heeft. Het hoofdveld heet initialen. Als er bij een dossier dus een dossierbeheerder wordt geselecteerd via het lookup veld dan zal het resultaat van de geselecteerde dossierbeheerder zijn initialen zijn. Fig. 32: resultaat lookup dossierbeheerder De initialen van een dossierbeheerder worden samengesteld op basis van de naam en de voornaam. Dit gebeurt via een plug-in die een actie uitvoert na het aanmaken van een nieuwe dossierbeheerder (zie punt 3.4). De entiteit dossierbeheerder bevat niet veel meer informatie dan enkel de naam en de voornaam van de dossierbeheerder. Eventueel ook extra informatie kan ingevuld worden maar deze is niet vereist. Fig. 33: lijst dossierbeheerder Entiteit aanleiding De entiteit aanleiding is een zeer eenvoudige entiteit om een lijst bij te houden van aanleidingen. Het heeft maar 1 veld en dat is het hoofdveld naam. Het is enkel zichtbaar onder de instellingen. Fig. 34: lijst aanleidingen 36

39 C Entiteit hoofdonderwerp en subonderwerp De entiteiten hoofdonderwerp en subonderwerp bestaan elk uit 2 velden: een veld naam (verplicht) en een veld omschrijving (niet verplicht). Een hoofdonderwerp heeft verschillende subonderwerpen en een subonderwerp kan behoren tot meerdere hoofdonderwerpen. Daarom ligt er een veel-op-veel relatie tussen beiden entiteiten. Deze kunnen eenvoudig gelegd worden door te klikken op N:N Relationships onder de entiteit hoofdonderwerp. Vervolgens klikken we op Nieuw en selecteren we de andere entiteit waar we mee een relatie willen leggen. In ons geval is dit de entiteit subonderwerp. Uiteindelijk slaan we dit op en hebben we een relatie gelegd tussen beide entiteiten. Op het formulier van een hoofdonderwerp plaatsen we een subgrid. Dit is een lijst van een entiteit die gerelateerd is met de entiteit van het formulier. Hier plaatsen we een subgrid van de entiteit subonderwerpen. Zo kunnen we als er een hoofdonderwerp wordt geopend snel zien welke subonderwerpen deze allemaal heeft. Om dit te doen klikken we bovenaan de ribbon op Insert en vervolgens op Subgrid. Vervolgens kunnen we de entiteit selecteren die we willen zien in deze subgrid. Fig. 35: Subgrid Hoofdonderwerp We doen ook het omgekeerde maar dan voor subonderwerpen zodat we kunnen zien tot welke hoofdonderwerpen een subonderwerp behoort. Het resultaat is een mooi en snel overzicht tussen de verschillende onderwerpen. Fig. 36: subgrid resultaat hoofdonderwerp 37

40 D Entiteit activator, partij en dienst Om vanuit Vesta contacten toe te voegen aan een bepaald dossier moeten deze contacten ook worden opgeslagen in het systeem. Daarom maken we 3 entiteiten aan voor de verschillende types. Alle 3 de entiteiten hebben als hoofdveld fullname. Dit is een combinatie van de naam en voornaam van een persoon of de naam van de organisatie. Deze entiteiten zijn ook enkel zichtbaar onder de instellingen. De entiteiten hebben naast de namen ook velden die de adresgegevens bij houden die uit Vesta worden gehaald. De entiteiten activator en partijen hebben ook extra velden zoals type en subtype. Een type bestaat uit 2 mogelijkheden: een persoon of een organisatie. Een subtype is dan afhankelijk van het type en kan meerdere mogelijkheden zijn: is het een privé of een professionele persoon, gaat het hier om een stadsdienst of een onderwijsinstelling, etc. Dit zijn gegevens die uit Vesta komen. Een contact of organisatie behoort ook tot een categorie. Deze categorieën komen uit een lijst van. Een categorie is bijvoorbeeld advocaat, gerechtsdeurwaarder, derden, enz. Fig. 37: formulier activator Het formulier ziet ervoor de 3 entiteiten identiek uit op uitzondering van een aantal velden. Via Javascript maak ik bepaalde velden niet zichtbaar gebaseerd op de waarde van de velden type (persoon/organisatie) en subtype (privé/professioneel). Verder in het document ga ik hier dieper op in (zie punt 3.3). Geen enkel veld is aanpasbaar. Dit zijn gegevens die uit Vesta komen en deze mogen niet aangepast worden. Enkel het veld categorie mag aangepast worden. Alle 3 de entiteiten worden gebruikt in het formulier dossier als een subgrid. Zo kan er per dossier een mooi overzicht worden getoond welke contacten of organisaties er gekoppeld zijn aan dat dossier. Ook leggen we bij de 3 entiteiten een N:N relatie met de entiteit dossier. 38

41 Fig. 38: subgrids activator/partij/dienst E Entiteit categorie Een contact of organisatie wordt toegewezen aan een categorie. Dit is een eenvoudige entiteit met als hoofdveld naam. Dit is ook meteen het enige veld. Fig. 39: lijst categorie F Entiteit Rechtbank + Rechtbank informatie Bij sommige dossiers moeten er rechtbankgegevens worden ingegeven. Omdat dit ook meerdere kunnen zijn per dossier is zal ook dit via een subgrid worden getoond op het formulier dossier. De entiteit rechtbank is de entiteit die de verschillende rechtbanken zal bijhouden. De naam, omschrijving en adresgegevens zijn velden die hiervoor gebruikt worden. De entiteit rechtbank informatie zal gebruikt worden om rechtbankgegevens toe te voegen aan een dossier. Rechtbank informatie bevat 3 velden: Een lookup veld voor het zoeken van een rechtbank, een veld uitspraak en een veld datum zitting. Beide entiteiten zijn alleen zichtbaar onder instellingen. 39

42 Fig. 40: rechtbank gegevens Aanpassen views Views voor entiteiten zijn aangepaste query s die data ophalen van een entiteit door gebruik te maken van specifieke filters. Ze kunnen ook bepaalde data op een specifieke manier weergeven. Er zijn verschillende soorten views: public; advanced find; quick find; lookup. De public view wordt meestal gebruikt om gewoon lijsten weer te geven van een bepaalde entiteit. Er kunnen meerdere public views zijn per entiteit. Bij de entiteit dossier is er bijvoorbeeld een view dat alle actieve dossiers weergeeft en een view dat alle afgesloten dossiers weergeeft. Ook zijn er views die de dossiers weergeven per dossierbeheerder. Fig. 41: public views De advanced find view zijn views die gebruikt worden bij een geavanceerde zoek op een entiteit. Een quick find view is een view die gebruikt wordt wanneer er een snelzoek gebeurd op een entiteit. Fig. 42: quick find view 40

43 Een lookup view wordt gebruikt bij een lookup veld. Fig. 43: lookup view Een view kan eenvoudig worden aangepast. Om een view aan te passen gaan we naar de entiteit waarop de view wordt toegepast. In ons voorbeeld de entiteit dossier. Onder de geselecteerde entiteit vinden we een aantal views terug. De meeste zijn standaard views en kunnen ook niet verwijderd worden. Fig. 44: views voor dossier De view actieve dossiers is de standaard view. Deze view toont alle dossiers die actief zijn. De view afgesloten dossiers toont alle dossiers waarvan de status op non-actief staat. Per view kan je instellen welke kolommen er als resultaat moeten worden weergegeven en hoe breed de kolommen moeten zijn. Je kunt ook instellen op welke kolom er moet gesorteerd worden. Als laatste is er de filter criteria. De filter criteria zijn argumenten die de resultaten filteren. Het enige verschil tussen de actieve dossiers view en de afgesloten dossiers view zijn de filter criteria. Fig. 45: filter criteria actieve dossiers Fig. 46: filter criteria afgesloten dossiers 41

44 De quick find view van dossiers zoekt op basis van de ingevulde parameter binnen de entiteit dossier of er een record is met deze eigenschappen. De velden waarop de quick find zoekt moeten wel zelf ingesteld worden. We kunnen deze aanpassen door de quick find view te openen en klikken op Add find columns. Daarna krijgen we een lijst met al onze velden van de entiteit dossier waarop we kunnen zoeken. Selecteer vervolgens de velden waarop moet worden gezocht. Als er een veld niet tussen staat maar toch in de entiteit zit, dan is de eigenschap Searchable niet geactiveerd op dat veld. Fig. 47: add find column 3.2 SharePoint integratie Aan een bepaald dossier moeten er kunnen documenten worden gekoppeld. Deze documenten moeten dus ergens kunnen worden opgeslagen. En hier komt SharePoint in het spel. In SharePoint kunnen er bibliotheken en folders worden gecreëerd voor het opslaan van documenten, s, bestanden, etc. Het voordeel van werken binnen een Microsoft omgeving is dat alles eenvoudig aan elkaar te koppelen is. SharePoint integreren met CRM is kinderspel. Eerst en vooral moet er een listcomponent worden geïnstalleerd op de SharePoint site. Deze is af te halen op de Microsoft site. De listcomponent zorgt ervoor dat we in onze CRM-applicatie de SharePoint documenten kunnen beheren met dezelfde look and feel als in SharePoint. Ook zorgt deze component ervoor dat automatisch de juiste folders worden aangemaakt voor de entiteiten en voor de records om documenten in op te slaan. Als de listcomponent is geïnstalleerd kunnen we in ons CRM-systeem onder instellingen kiezen voor Documentenbeheer. Als we dan klikken op Documentenbeheer instellingen, dan opent er een nieuw venster waar we de entiteiten kunnen selecteren die documenten moeten kunnen beheren. In ons geval is dit enkel voor de entiteit dossier. Bij URL vullen we de URL in van onze SharePoint site en klikken we op volgende. De site zal nu gevalideerd worden door CRM die controleert of de listcomponent wel degelijk is geïnstalleerd. Als de URL gevalideerd is kan CRM de juiste structuur aanmaken in de SharePoint site. Fig. 48: Sharepoint Integratie 42

45 3.3 Javascript in formulieren Formulieren in CRM zijn eigenlijk gewone HTML-pagina s. Deze kunnen aangepast worden met een CSS of met Javascript. Op sommige formulieren moeten er een aantal velden zichtbaar of verborgen zijn op basis van een bepaalde waarde van een veld. Formulieren programmeren zorgt ervoor dat we kunnen communiceren met onze entiteiten formulier door gebruik te maken van Javascript dat wordt uitgevoerd wanneer er een bepaald event geactiveerd wordt. Het voordeel van het gebruik van Javascript in formulieren is dat het onmiddellijk uitgevoerd wordt. Er moet geen data worden verstuurd naar de server of opgehaald worden en daarom geeft het de beste performantie in vele scenario s. Taken waarvoor veel Javascript gebruikt wordt in CRM zijn: data validatie; automatisatie; formattering. Om Javascript te gebruiken moeten we eerst een Javascript web resource toevoegen aan de solution. Hiervoor gaan we naar onze solution en openen we het web resources venster. Daar kunnen we een nieuwe web resource toevoegen. Bij het klikken op nieuw opent er een nieuw venster waar we de informatie over onze web resource kunnen ingeven. Het belangrijkste hier is het type van de web resource. Het type dat we gaan gebruiken voor onze Javascript is Script (JScript). We kunnen een bestaand Javascript bestand opladen of we kunnen ook via de ingebouwde tekst editor zelf een Javascript schrijven. Fig. 49: toevoegen web resource Javascript Eenmaal het Javascript bestand toegevoegd kunnen we alle methodes die in dit bestand zitten gaan gebruiken. We keren terug naar de formulier designer van onze entiteit dossier. Bovenaan in de ribbon kiezen we voor Form properties. Er opent een nieuw venster waar we verschillende eigenschappen van het formulier kunnen aanpassen. In het tabblad Events kunnen we ons Javascript bestand toevoegen aan het formulier door te klikken op Add Library. We krijgen vervolgens een lijst met al onze web resources te zien waaruit we ons Javascript bestand kunnen halen. Na het toevoegen van ons Javascript bestand aan de bibliotheek van het formulier dossier gaat er nog niet veel gebeuren. Eerst moeten we de methodes oproepen in een bepaalde actie op het formulier. De verschillende acties zijn: form: OnLoad 43

46 form: OnSave; tabs: TabStateChange; fields: OnChange. Bij elk van deze events kunnen we een methode toevoegen die moet worden uitgevoerd bij het activeren van dat event. Om een methode te koppelen aan een formulier event klikken we bij Event handlers op Add. Vervolgens kiezen ons Javascript bestand en geven we exacte naam in van de functie uit dat Javascript bestand. Fig. 50: add functie event handler Formulier dossier Het formulier dossier maakt gebruik van een aantal Javascript methodes. Bij het OnLoad event roep ik de functie EnableDisableOnLoadOnderwerp op. Deze functie kijkt bij het opstarten van het formulier of er een waarde is geselecteerd voor het veld hoofdonderwerp. Als dit niet het geval is, dan mag het veld subonderwerp niet bruikbaar zijn. Het veld subonderwerp is namelijk gebaseerd op het veld hoofdonderwerp en kan niet alleen bestaan. Er moet altijd eerst een hoofdonderwerp worden gekozen vooraleer er een subonderwerp wordt gekozen. Het Xrm.Page object voorziet een hiërarchie aan objecten die we kunnen gebruiken om te communiceren met CRM 2011 formulieren. De eerste lijn code haalt het veld new_dossierhoofdonderwerp op. Vervolgens kijken we of de waarde van het veld hoofdonderwerp gelijk is aan null, of met andere woorden, leeg is. Als het veld leeg is dan zetten we de eigenschap setdisabled van het veld new_dossiersubonderwerp op true. Als het hoofonderwerp niet leeg is, dan mag er wel een subonderwerp kunnen worden geselecteerd. Fig. 51: Javascript onderwerp OnLoad Dit wordt enkel uitgevoerd bij het OnLoad event van het formulier. Maar wat als nu het veld hoofdonderwerp veranderd wordt naar een lege waarde of een andere waarde. Dan klopt het veld subonderwerp niet meer want dat is gebaseerd op het vorige hoofonderwerp. Daarom moet er nog een extra methode komen die bij het OnChange event van het veld hoofdonderwerp de waarde van het subonderwerp reset. 44

47 In de eerste 2 lijnen code halen we de velden hoofonderwerp en subonderwerp op. Vervolgens kijken we of het veld hoofdonderwerp veranderd is naar een lege waarde. Als dit zo is, dan maken we de waarde van het veld subonderwerp leeg en zorgen we ervoor dat er geen subonderwerp kan gekozen worden zolang de waarde van het hoofdonderwerp leeg blijft. Als het hoofdonderwerp niet leeg is dan maken we ook de waarde van het subonderwerp leeg omdat dit niet meer overeenstemt met het hoofdonderwerp, maar we laten wel de mogelijkheid om een nieuw subonderwerp te kiezen omdat het hoofdonderwerp niet leeg is. Fig. 52: Javascript onderwerp OnChange Het veld dossiernummer is een veld dat samengesteld is uit een aantal parameters: type (1 digit) +. + jaar(4 digits) nummer(4 digits) + / + initialen dossierbeheerder(4digits), bv. C /CCLA; De parameters type en dossierbeheerder kunnen altijd na het aanmaken van een dossier worden gewijzigd. Als 1 van deze parameters wijzigt moet ook het dossiernummer wijzigen. Daarom wordt er bij het OnSave event van het formulier dossier een methode opgeroepen die altijd het dossiernummer aanpast naar de geselecteerde parameters type en dossierbeheerder. Ook als bijvoorbeeld het type of de dossierbeheerder niet wijzigt en er wordt op save geklikt dan zal het toch altijd het dossiernummer updaten maar het resultaat zal het zelfde zijn als het vorige dossiernummer. Een voorbeeld. We hebben een dossier met als dossiernummer C /MASE. Het type van het dossier is C en de dossierbeheerder zijn initialen zijn MASE. Als we het type van het dossier wijzigen naar A en op save klikken, dan zal het dossiernummer wijzigen naar A /MASE. Als we daarna ook nog eens de dossierbeheerder veranderen naar PIDE en opnieuw op save klikken dan gaat het dossiernummer wijzigen naar A /PIDE. Het is ook mogelijk om beiden tegelijkertijd te wijzigen. Fig. 53: Update dossiernummer OnSave form 45

48 Eerst halen we het huidige dossiernummer op. Vervolgens kijken we of het dossiernummer verschillend is van null. Als het dossiernummer leeg is, dan wil dit zeggen dat het hier om een nieuw dossier gaat dat nog moet worden aangemaakt. Een nieuw dossier krijgt zijn dossiernummer pas toegewezen als het is opgeslagen voor de eerste keer. Na dat het is opgeslagen wordt er via een plug-in een dossiernummer toegekend. Als het dossiernummer niet leeg is, dan halen we de waarden van het type en het dossiernummer op. Via een substring neem ik enkel het middenstuk van het dossiernummer ( /) omdat dit toch nooit verandert. Vervolgens plak ik de parameters van de nieuwe waarden aan het middenstuk op hun overeenkomstige plaats. De eigenschap setsubmitmode veranderen naar always is nodig zodat de nieuwe data opgeslagen wordt. Als laatste stap zetten we de waarde van het dossiernummer naar de nieuwe waarde Formulier activator en partij De entiteiten activator en partij zijn eigenlijk zo goed als identiek. Ze kunnen beiden records bevatten die een persoon of een organisatie kunnen zijn. Omdat die verschillende records elk andere velden moeten kunnen tonen gebruiken we ook hier een Javascript functie om een aantal velden zicht- of onzichtbaar te maken op basis van een aantal waarden uit andere velden. Een organisatie kan bijvoorbeeld geen geboortedatum of rijksregisternummer hebben. En een persoon met subtype privé moet geen veld organisatie hebben. In ons formulier gaan we werken met secties. Secties zijn een soort van containers die we kunnen beheren. We kunnen een container op onzichtbaar zetten en alle velden die zich in die container bevinden zullen dan onzichtbaar zijn. Eerst maken we een aantal secties aan in het tabblad Algemeen binnen de formulieren activator en partij. De eerste sectie is de sectie General. Deze sectie zal altijd getoond worden voor welk record dan ook. Hierin kunnen we de velden tonen die zowel gelden voor een persoon als voor een organisatie. De volgende sectie is Contact. In deze sectie steek ik alle gegevens die met een record persoon te maken hebben en niets met een organisatie. Een andere sectie is de sectie Adres. Deze sectie is voor alle records zichtbaar. We geven ook onze secties een naam zodat ze gemakkelijk kunnen worden aangesproken in code. Fig. 54: werken met secties Ik gebruik een andere Javascript bestand voor deze formulieren dus moet ik dit Javascript bestand ook weer toevoegen aan de bibliotheek van het formulier. In het OnLoad event roep ik de methode enabledisable op. Eerst haal ik de waarde van het type van de record op. Als het type gelijk is aan organisatie dan verbergen we de secties Contact en Organisatie. De sectie Organisatie wordt enkel gebruikt voor een record van het type 46

49 professionele persoon. Als het type een persoon is dan controleren we het subtype. Als het een privé persoon is dan verbergen we de sectie Organisatie. Is het een professionele persoon dan verbergen we het veld van het rijksregisternummer. Fig. 55: enabledisable activator/partij velden 3.4 Plug-ins Sommige velden in het CRM-systeem moeten automatisch worden ingevuld of moeten op basis van andere parameters worden samengesteld. Deze zaken kunnen worden opgelost door gebruik te maken van plug-ins. Een plug-in is een aangepast stukje logica (code) die kan geïntegreerd worden met CRM Ze behandelen events die geactiveerd zijn door CRM zoals het opslaan van een entiteit. Plug-ins zijn aangepaste klassen die gebruik maken van de IPlugin interface. Om een plug-in te schrijven voor CRM 2011 installeren we eerst de CRM Developer Toolkit. Na de installatie van de Toolkit kunnen in Visual Studio verbinden met onze CRM organisatie. Fig. 56: Visual studio verbinden CRM In het CRM explorer venster krijgen we dan onze solution te zien met al onze entiteiten. 47

50 Fig. 57: Entiteiten CRM Explorer Eerst maken we een nieuw Visual Studio project aan van het type Plug-in Library. We gaan een plug-in maken voor de entiteit dossier. We klappen het tab item entiteiten open en klikken rechtermuisknop op de entiteit dossier en kiezen voor create plug-in. Er opent een nieuw venster voor de eigenschappen te selecteren van de plug-in. We maken een plug-in die zal worden uitgevoerd nadat er een nieuw dossier is aangemaakt. Nadat het dossier is aangemaakt gaat de plugin via een aantal parameters het dossiernummer opstellen. Bij Message kiezen we voor Create. Run in Context wil zeggen bij welke gebruikers we de plug-in mogen uitvoeren. We kiezen voor alle gebruikers, Calling User. De waarde bij Pipeline Stage geeft aan wanneer de plug-in moet uitgevoerd worden. Er zijn 3 mogelijkheden: pre-validation; pre-operation; post-operation. Pre-validation gebeurt voor de hoofdoperatie. Plug-ins met deze eigenschap kunnen worden uitgevoerd buiten de database transactie. Pre-operation gebeurt ook voor de hoofdoperatie maar deze plug-in wordt wel uitgevoerd binnen de database transactie. Als laatste is er de postoperation. Deze plug-in wordt uitgevoerd na dat de hoofdoperatie is uitgevoerd en worden uitgevoerd binnen de database transactie. Onze plug-in mag pas worden uitgevoerd na dat alle data is opgeslagen in de database en kiezen dus voor post-operation. Vervolgens klikken we op OK. De CRM Developer Toolkit maakt voor ons al de klassen Plugin en PostDossierCreate aan. De klasse PostDossierCreate erft over van de klasse Plugin. Aan de klasse Plugin moeten we zelf niet komen. In de klasse PostDossierCreate komt de business logica waar we onze actie gaan uitvoeren. Fig. 58: create plug-in 48

51 In de ExecutePostDossierCreate methode, die automatisch werd aangemaakt, schrijven we onze functie die een bepaalde actie moet uitvoeren. Het eerste wat we doen is de context ophalen van de plug-in en van onze organisatie. Fig. 59: Ophalen context Via de crmsvcutil.exe tool heb ik ook een klasse gegenereerd dat alle data contexten, objecten en entiteiten ophaalt van mijn de organisatie. Dit stelt mij in staat om entiteiten makkelijker te declareren en is ook performanter. Dankzij de gegenereerde klasse kan ik entiteiten declareren in Early Bound. Via Early Boud is het makkelijker coderen omdat er Intellisense is voor alle entiteiten die Early Bound zijn. Ook is het daadwerkelijk sneller omdat de code niet meer moet worden geconverteerd naar het echte type. Early Bound new_dossier dossiers = new_dossier() sneller: geen conversie nodig intellisense Late Bound entity dossier = new entity( new_dossier ) trager: conversie naar juiste type geen intellisense Tabel 12: early bound vs late bound Via de code in fig. 59 halen we uit alle dossiers, waar het veld jaar creatie gelijk is aan de huidige dag en geordend op het nummer in dalende volgorde, de eerste record op. Het resultaat is als volgt: Dossier nummer 2 (dit is de record die we terug krijgen) Dossier nummer 1 Dossier nummer null Tabel 13: resultaat filter jaar creatie en nummer Het hoogste nummer staat bovenaan en is ook de record die we nemen. Dit is het laatste dossier dat is toegevoegd aan na het dossier dat deze plugin heeft geactiveerd. Het dossier met nummer null staat als laatst. Dit is het dossier dat net is toegevoegd en nog geen nummer heeft toegekend gekregen. Fig. 60: code ophalen laatste nummer 49

52 We behandelen de opgehaalde record als een lijst, ook al is het maar 1 record dat er zal in zitten. We controleren of de lijst een waarde bevat. Als de lijst leeg is dan wil dit zeggen dat er geen dossier gevonden is waar het jaar van creatie gelijk is aan het huidige jaar en waar het een nummer heeft toegekend gekregen. Als dit zo is, dan is het nieuw toegevoegde dossier het eerste dossier in een nieuw jaar, of zit er gewoon nog geen enkel dossier in het systeem. Het nummer van het nieuwe dossier zal dan 1 zijn. Als de lijst niet leeg is, dan gebruiken we het record dat we hebben opgehaald met het hoogste nummer. We nemen het nummer van dat record en tellen dat op met 1. Fig. 61: controle nummer Fig. 62: ophalen inputparameters De volgende stap is om de data op te halen van de record deze plug-in heeft geactiveerd en dat zojuist werd aangemaakt. Dit kunnen we ophalen via de InputParameters eigenschap. De InputParameters bevatten de data dat zich in het request bericht bevindt dat momenteel wordt uitgevoerd. Het Target is van het type Entity. Omdat ik weet dat het record waarop de operatie wordt uitgevoerd van het type new_dossier is, converteer ik de Target entiteit naar het type new_dossier. Hierna halen we de gegevens op van de dossierbeheerder. Omdat dossierbeheerder een referentie is naar een dossier moeten we een extra zoek doen naar die dossierbeheerder om de informatie zoals het veld initialen te kunnen ophalen. Fig. 63: ophalen dossierbeheerder De laatste stap is om het alle opgehaalde parameters samen te gooien en aan elkaar te plakken. Het type zit in de data van het Target. Het resultaat is dan uiteindelijk: Type. jaarcreatie-nummer/initialen beheerder A /MASE 50

53 Fig. 64: samenstellen dossiernummer Ik heb ook een plug-in ontwikkeld voor de entiteit dossierbeheerder. Deze plug-in gaat na dat er een nieuwe dossierbeheerder record is opgeslagen de eerste 2 letters van naam en voornaam nemen en deze samensmelten tot de initialen. Fig. 65: initialen dossierbeheerder Ook heb ik voorzien dat er automatisch een view wordt aangemaakt die enkel de dossiers toont die behoren aan die dossierbeheerder. Deze view wordt aangemaakt in dezelfde plug-in die de initialen samenstelt van de dossierbeheerder. Views bestaan eigenlijk uit 2 XML s: een XML voor de lay-out en een XML voor de query. De eerste stap is om de entiteit type code op te halen van de entiteit dossier. Dit is meta data van een entiteit. Dit nummer is nodig omdat de lay-out XML dit nummer gebruikt om na te gaan over welke entiteit het hier gaat. Elke entiteit heeft een uniek type code. Oorspronkelijk zette ik het nummer van de entiteit new_dossier er manueel in maar als ik de solution exporteerde naar een andere organisatie dan kreeg de entiteit new_dossier een ander type code en klopte de view niet meer. Fig. 66: ophalen entity type code De lay-out XML zorgt ervoor welke kolommen er moeten zichtbaar zijn. De belangrijkste onderdelen zijn object en de cel namen. Het object is het opgehaalde entiteit type code dat ik er via een parameter heb ingestoken. De cel namen moeten gelijk zijn aan de namen van de velden van de entiteit. Fig. 67: lay-out XML 51

54 De 2 de XML, de fetch XML, is de XML die de query verzorgt en dus de gewenste data gaat ophalen. De attributen die we gebruiken om te zoeken moeten net dezelfde naam hebben als in de entiteit. Fig. 68: attributen fetch XML We kunnen ook de resultaten sorteren. We sorteren de dossiers op datum van aanmaak en op nummer. Fig. 69: sorteer fetch XML Als laatste is er de filter criteria. Dit zijn parameters waarop moet gefilterd worden. Fig. 70: filter criteria fetch XML We filteren op de status van het dossier en op de dossierbeheerder. De view mag alleen dossiers tonen die actief zijn en enkel van de dossierbeheerder die we net hebben toegevoegd. De parameters van de dossierbeheerder haal ik uit de InputParameters Target. Ik filter dus op initialen van de dossierbeheerder als op de ID van de dossierbeheerder. Fig. 71: parameters dossierbeheerder De laatste stap is om deze view op te slaan. Een aangepaste view wordt ook wel een SavedQuery genoemd. We geven onze view een naam met de initialen van de dossierbeheerder in. De ReturnedTypeCode eigenschap is de naam van de entiteit die getoond zal worden in de view. Fig. 72: Opslaan SavedQuery 52

55 3.5 Vesta integratie De taak waar de meeste tijd is ingekropen is de integratie met Vesta. Het moest mogelijk zijn om vanuit het systeem een scherm te openen dat de gebruiker in staat stelt om te zoeken naar contacten of organisaties binnen Vesta en deze dan toe te voegen aan om uiteindelijk gekoppeld te worden aan een dossier. Ook de contacten en organisaties die al reeds eerder zijn opgehaald uit Vesta en zijn toegevoegd aan moeten worden getoond. Dus het moet ook mogelijk zijn om een contact te selecteren die er al reeds in zit. Een dossier formulier bevat 3 subgrids die contactgegevens kunnen bevatten. De eerst subgrid is Activator. Hierin komen de contactgegevens van een persoon of organisatie die ervoor gezorgd heeft dat dit dossier is aangemaakt. Een 2 de subgrid is Partij. In de subgrid Partij komen alle partijen die betrokken zijn bij het dossier. Dit kan gaan van organisaties tot advocaten tot derden. Een laatste subgrid is Dienst. Hier kunnen we bijvoorbeeld betrokken stadsdiensten aan toevoegen. Als een van deze subgrids op het formulier is geselecteerd, is er een mogelijkheid om via de knop op de ribbon, Voeg X toe, het zoekscherm te openen. Afhankelijk van de welke subgrid is geselecteerd, zal een parameter met de naam van de entiteit van die subgrid meegegeven worden. Deze parameter hebben we nodig om contacten op te zoeken in en om de juiste subgrid op het formulier dossier te hernieuwen. Vervolgens kan een contact worden opgezocht en worden toegevoegd aan die subgrid en is het ook onmiddellijk gekoppeld aan het dossier Start De eerste stap is om een nieuw Visual Studio project aan te maken. We kiezen hiervoor een Silverlight-applicatie. Vervolgens voeg ik 2 service references toe. De eerste is de Vesta service. We vullen het adres in waar de service zich bevindt, geven deze de naam VestaDataMaster en klikken op OK. Deze web service verbind ons met het Vesta systeem en is een SOAP web service. De volgende Service Reference is IOrganizationService web service. Deze web service voorziet ons van alle objecten en berichten die gebruikt worden in de Organization service van CRM en zorgt voor de verbinding met ons systeem. Dit is ook een SOAP web service. In ons CRMsysteem vinden we onder Ontwikkelaar Bronnen (Instellingen, Aanpassingen) verschillende Service Endpoints van onze organisatie. We voegen in ons Silverlight project de Organization Service toe en geven het de naam CrmSdk. Fig. 73: Sevice endpoints Er moeten ook een aantal extra klassen worden toegevoegd aan het project om gebruik te kunnen maken van de Organization Service in Silverlight. We voegen de SilverlightExtensionMethods klasse toe aan ons project. Deze is te vinden op MSDN. Vervolgens passen we het bestand Reference.cs aan van de Organization Service. Dit bestand wordt gegeneerd als er een Service Reference wordt toegevoegd. In het bestand vervangen we de regel System.Collections.Generic.KeyValuePair< met KeyValuePair<. Dit zal de referentie wijzigen van System.Collections.Generic.KeyValuePair naar de keyvaluepair beschreven in de nieuwe SilverlightExtensionMethods klasse. We voegen ook een klasse SilverlightUtility toe. Deze klasse haalt de informatie van de organisatie op zoals de URL van de organisatie, de URL van de organisatie service, de context van de organisatie enz. 53

56 3.5.2 Design Om zo weinig mogelijk klikacties nodig te hebben om een contact op te halen uit Vesta heb ik besloten om 1 venster te gebruiken met daarop een tab control. Op de Mainpage.xaml staat een tab control met 2 tab items: personen en organisaties. De reden hiervoor is omdat het anders te verwarrend zou zijn om alles op 1 plaats te tonen: een mix van personen en organisaties zou te veel verwarring met zich meebrengen. Fig. 74: mainpage.xaml Als het tab item personen is aangeklikt dan wordt de pagina Contacten.xaml getoond. Als het tab item organisaties is aangeklikt wordt er gesurft naar Organisatie.xaml. De pagina s personen en organisaties zijn gelijkaardig opgebouwd. Behalve de zoekvelden die verschillen zijn ze nagenoeg identiek. Om alle verschillende velden en resultaten op 1 pagina te krijgen maak ik gebruik van een accordion control. De control is een Silverlight uitbreiding die moet gedownload worden. De control bestaat uit 3 accordion items: Zoeken, Resultaten uit en resultaten uit Vesta. Fig. 75: tab control In het accordion item Zoeken zitten alle zoekvelden. Elk zoek veld heeft een binding. Via binding kunnen we eenvoudig de ingevulde parameter ophalen en gebruiken. Fig. 76 voorbeeld zoek veld In het accordion item Resultaten uit zit een datagrid die de resultaten zal weergeven die gevonden zijn binnen. Ook zit er een combobox in die de waarden 5, 10, 20 en 50 bevat. Deze waarden geven aan hoeveel items er op 1 pagina mogen verschijnen in de datagrid. 54

57 Fig. 77: datagrid xaml De datagrid is gebonden aan een PagedCollectionView. Dit element zorgt ervoor dat de items kunnen weergegeven worden op meerdere pagina s in een datagrid. Fig. 78: datagrid De datagrid is gebonden aan een PagedCollectionView. Dit element zorgt ervoor dat de items kunnen weergegeven worden op meerdere pagina s in een datagrid. De PagedCollectionView wordt opgevuld met een ObservableCollection van de klasse DisplayContact of DisplayOrganisatie die de resultaten bevat van de zoekopdracht. De kolommen van de datagrid zijn gebonden aan een eigenschap van die DisplayContact. Het geselecteerde item wordt via binding opgeslagen in het object Selected van het type DisplayContact of DisplayOrganisatie. Fig. 79: datagrid xaml Onderaan de datagrid plaatsen we ook een datapager control. Deze control stelt ons in staat om de resultaten weer te geven op meerdere pagina s. Zo kan de eindgebruiker vlot zoeken tussen de honderden resultaten door gebruik te maken van de pagina s en via de combobox aantal per pagina kan de eindgebruiker zelf kiezen hoeveel resultaten hij per pagina zichtbaar wil zien. 55

58 Fig. 80: datapager Als laatste is er ook een progressbar control. Deze control geeft de status van de zoekopdracht weer. Als een zoekopdracht nog niet is afgelopen dan zal de progressbar dit aangeven dat de zoekopdracht nog bezig is. Dit is gekoppeld aan een boolean die in de code-behind op true of op false wordt gezet naargelang de status van de zoekopdracht. Via een converter zetten we deze control zijn visibility op true of false. Fig. 81: progressbar xaml Onder het accordion item Resultaten uit Vesta zitten er 2 datagrids. De eerst datagrid zijn de resultaten uit Vesta. De 2 de datagrid toont alle adressen van de geselecteerde contact of organisatie uit de eerste datagrid. Zo kan de eindgebruiker onmiddellijk zien of een persoon meerdere adressen heeft en een ander adres selecteren om toe te voegen aan. Onderaan het scherm zijn er 3 knoppen en een combobox. Een knop om te annuleren, een knop om een nieuw contact toe te voegen in Vesta en een knop om de geselecteerde contact uit de resultaten lijst toe te voegen aan. Als er een contact niet in Vesta zit, dan kan de eindgebruiker via de knop Nieuw in Vesta een CRM-formulier uit Vesta openen om een nieuwe contactpersoon toe te voegen aan Vesta. De combobox bevat een lijst met categorieën die uit het systeem komen. Om een contact te kunnen toevoegen moet eerst een contact geselecteerd zijn uit een datagrid en er moet een categorie zijn geselecteerd. Fig. 82: knoppen scherm Klassen A DisplayContact en DisplayOrganisatie De DisplayContact klasse wordt gebruikt om de resultaten van de zoekopdracht naar personen en organisaties op te slaan die uit komen. De klasse erft over van INotifyPropertyChanged. Dit zorgt ervoor dat er een soort van melding is wanneer er een eigenschap van waarde is veranderd. Omdat we overerven van INotifyPropertyChanged moet er ook een PropertyChangedEventHandler zijn die het event wanneer er een waarde veranderd is afhandelt. 56

59 Fig. 83: klasse DisplayContact De klasse bestaat uit verschillende eigenschappen met verschillende types: Naam Id Naam Voornaam Geboortedatum Winlbv Adresstraat Adresnummer Adrespostcode Adresgemeente Type Type Guid String String DateTime String String String String String String Tabel 14: klasse DisplayContact eigenschappen De DisplayOrganisatie klasse wordt gebruikt om de resultaten van de zoekopdracht naar organisaties op te slaan. De klasse erft ook over van INotifyPropertyChanged. Naam Id Naam Adresstraat Adresnummer Adrespostcode Adresgemeente Type Guid String String String String string Tabel 15: klasse DisplayOrganisatie eigenschappen 57

60 B Klasse JsonContact en JsonOrganisatie Sommige zoekopdrachten uit Vesta kunnen soms tot 1000 records als resultaat terugsturen. De Vesta web service heeft gelukkig een methode om het resultaat als JSON terug te sturen. Het formaat van JSON ziet er als volgt uit: Fig. 84: resultaat json Om deze data te kunnen deserializeren naar een object moest het object er net hetzelfde uitzien als de JSON. De JSON geeft 4 velden terug. Total en Records hebben dezelfde waarde: het aantal records dat het resultaat bevat. Rows bevat de verzameling van resultaten. Dus in de klasse deelde ik dit op dezelfde manier in. Ik definieerde 3 string eigenschappen en een eigenschap dat bestond uit een verzameling objecten met als type Contact. De eigenschappen van de klasse Contact moeten allemaal net dezelfde naam als die uit de JSON hebben. Fig. 85: JSONContact De JsonOrganisaties zag er net hetzelfde uit behalve dat het daar een verzameling van Organisaties was in plaats van Contacten. C Klasse Addressen Er is ook een klasse voor de extra adressen op te slaan die behoren tot een persoon of organisatie. Een adres heeft altijd een bepaald type: een domicilieadres, een vestigingsadres, etc. Naam Id Adresstraat Adresnummer Adrespostcode Type Guid String String String 58

61 Adresgemeente TypeAdres String String Tabel 16: klasse addressen D Klasse Categorie In de klasse Categorie sla ik de categorieën op die afkomstig zijn van uit de entiteit Categorieën die we eerder hebben aangemaakt. Deze klasse bevat 2 eigenschappen: een ID van het type Guid en een naam van het type string. Fig. 86: klasse Categorie Code Zoals ik al eerder vermeld heb bestaat het zoekscherm uit 2 tabbladen: een voor de personen en een voor de organisaties. Dit zijn 2 afzonderlijk XAML pagina s en moeten dus ook elk afzonderlijk gecodeerd worden. Ik ga enkel de zoekfuncties voor de personen verduidelijken omdat de zoekfuncties van organisaties heel erg gelijkaardig zijn op een paar details na. A Zoeken binnen Vesta Het eerste wat we voorzien hebben van functionaliteit is het zoeken naar personen in Vesta en deze weergeven in een datagrid. De resultaten zullen worden opgeslagen in een ObservableCollection van het type Contact. Fig. 87: ObservableCollection 59

62 Ook vullen we de Security gegevens in die nodig zijn om gebruik te maken van de Vesta web service. Security is een referentie afkomstig van de Vesta web service. Fig. 88: Security Vesta De methode EncodeBase64 is een herbruikbare methode die een string omzet naar Base64. Fig. 89: Base64 converter Vervolgens creëren we onze zoekfunctie. Eerst maken we een nieuwe instantie aan van de Vesta client. De IsLoading variabele is de variabele die gebonden is aan de progressbar. Als deze op true springt dan gaat de progressbar zichtbaar worden voor de eindgebruiker en ziet die dat de zoekactie is begonnen. Vervolgens stellen we onze filters op. Dit zijn criteria waarop moeten worden gezocht in Vesta. Fig. 90: Zoekfunctie Via de ContructFilter methode vullen we de filters op. Deze methode geeft als resultaat een verzameling van FilterRules terug. Fig. 91: construct filter 60

63 In de ConstructFilter methode controleren we de waarde van de ingevulde zoekvelden die via binding gebonden zijn aan een object. Als de waarde van het zoekveld leeg is of enkel witruimtes bevat dan moet er niet worden gezocht op dit veld en voegen we geen nieuwe FilterRule toe. Als het veld daarentegen wel is ingevuld voegen we een nieuwe FilterRule toe. De FilterRule is ook een referentie van de Vesta web service. De FilterRule heeft 5 eigenschappen: field: het veld in Vesta waarin moet worden gezocht; op: equals of contains; data: de parameter; type: welke type is de parameter; linkedentity: Voor zoeken op velden met relaties. Als het zoekveld naam dus niet leeg is, dan gaan we in Vesta zoeken op het veld lastname waar de het veld lastname de data bevat uit het zoekveld. Via dezelfde manier zoeken we ook op voornaam, adresgegevens, etc. Om enkel professionele personen te vinden is er ook een checkbox voorzien. Deze kunnen we aanof uitklikken. Als de checkbox is aangevinkt dan zoekt de web service enkel op professionele personen. We gebruiken daarvoor volgende filter: Fig. 92: filter professionele personen Als de checkbox op true staat of met andere woorden is aangevinkt, dan mag de Veste web service enkel de personen terugsturen waar het veld ves_type gelijk is aan true. Het veld ves_type in Vesta is van het type TwoOption. Dit wil zeggen dat er maar 2 mogelijkheden kunnen zijn: false (privé persoon) of true (professionele persoon). Ook is het mogelijk om personen te zoeken die gekoppeld zijn aan een organisatie. Organisatie is een relatieveld binnen een personenrecord. Om op dit veld te kunnen zoeken maken we gebruik van de eigenschap LinkedEntity. Fig. 93: filter organisatie Om de waarde van de eigenschap LinkedEntity beter te begrijpen toon ik eerst hoe de Vesta web service omspringt met de LinkedEntity die het ontvangt van de client. 61

64 Fig. 94: Vesta service linkedentity De Vesta web service splitst de ontvangen string op basis van het ; karakter en vult deze dan in een variabele. Dus in ons geval is dit: entityfrom contact attributefrom Parentcustomer (vb accountid = 5) entityto account attributefrom Accountid (vb ID = 5) Tabel 17: LinkedEntity tabel De entityfrom is de naam van de hoofdentiteit. Het attributefrom is de naam van het attribuut of veld op de hoofdentiteit dat de relatie bevat met de andere entiteit. Dit is het ID van een record van een andere entiteit. EntityTo is de naam van de gerelateerde entiteit. Als laatste is het attributefrom de naam van het attribuut die zich op de gerelateerde entiteit bevindt. Als we de relatie hebben gedefinieerd kunnen we binnen die gerelateerde entiteit zoeken naar de naam van een organisatie en zal de Vesta web service enkel de personen terug sturen die gekoppeld zijn aan een organisatie met die naam. Fig. 95: uitvoeren Search Nadat we onze filters hebben gedefinieerd kunnen we de zoek starten. We initialiseren een nieuw event dat zal geactiveerd worden als de web service klaar is om de resultaten terug te sturen naar de client. Vervolgens starten we de echt zoek die 3 parameters vereist: de security credentials, de naam van de entiteit waar in moet gezocht worden en de filters. Als de Vesta web service klaar is met zoeken en de resultaten heeft dan gaat de service een antwoord terug sturen naar de client en gaat het event SearchContactenJsnoComplete geactiveerd worden. Fig. 96: antwoord Vesta web service In het event maken we eerst de verzameling van resultaten van een eventueel vorige zoekopdracht leeg zodat oude resultaten die niet meer relevant zijn verwijderd worden. Vervolgens 62

65 maken we gebruik van het framework JSON.Net om de ontvangen JSON om te zetten naar het juiste object. We stellen de waarde van de nu lege VestaList gelijk aan de verzameling van records die zich in de eigenschap Rows bevinden. Na deserialisatie ziet ons object JsonContact er als volgt uit: Fig. 97: resultaat deserializatie De eigenschap Rows bevat al onze data in een verzameling. Deze verzameling stellen we gelijk aan de lijst VestaList. De laatste stap is om de progressbar te doen laten verdwijnen aangezien onze zoekopdracht compleet is en om de VestaList in onze datagrid te krijgen. Fig. 98: disable progressbar en koppel vestalist Onze datagrid is gekoppeld aan een PagedCollectionView en niet rechtstreeks aan de VestaList. Deze stelt ons in staat om de resultaten te kunnen groeperen, filteren, sorteren en navigeren via pagina s. Fig. 99: PagedCollectionView eigenschap Het resultaat is dat we op vrij snelle manier duizenden contactpersonen kunnen ophalen uit Vesta. Fig. 100: resultaat Vesta 63

66 B Meerdere adressen uit Vesta Een contact heeft altijd een domicilieadres. Maar een contact kan ook meerdere adressen hebben. Deze moeten ook opgehaald worden en kunnen toegevoegd worden aan. De adressen worden in een datagrid meerdere adressen getoond die zich onder de opgehaalde contacten uit Vesta bevind. Als een contact geselecteerd word dan voeren we een actie uit die de andere adressen van die contact ophaalt en in de datagrid meerdere adressen opvult. Fig. 101: getalleadressen Omdat Silverlight soms moeilijk doet en het event SelectionChanged om welke reden dan ook toch uitvoert terwijl er geen selectie is gebeurd, heb ik een extra if-clausule gebruikt. De eerst ifclausule gaat na of alle contacten zijn geladen en ingevuld in de datagrid. Als dit zo is dan controleert hij of er wel degelijk een contact geselecteerd is in de datagrid. Als er een contact geselecteerd is dan mag de functie die de adressen ophaalt worden uitgevoerd. De adressen ophalen gebeurt op eenzelfde manier als een contact ophalen namelijk via filters. De adressen van een contact komen uit een andere entiteit namelijk ves_meeradressen. Een record uit die entiteit heeft een veld ves_persoonid dat gerelateerd is aan een contact. Fig. 102: filter adressen Op basis van het ID van de geselecteerde contact uit de datagrid halen we de adressen die gerelateerd zijn aan die contactpersoon. Fig. 103: resultaat adressen contact 64

67 C Zoeken binnen Contactpersonen die al een keer zijn opgehaald uit Vesta en zijn toegevoegd aan een dossier zitten vanaf dan ook opgeslagen in. Dus als er een contact moet worden toegevoegd aan een dossier, dan moeten deze ook uit de kunnen gehaald worden. Deze resultaten worden opgeslagen in een andere datagrid dan de resultaten uit Vesta. Bij het klikken op de knop zoeken gaat er simultaan gezocht worden naar resultaten binnen Vesta en. Eerst initialiseren we een nieuw object dat de verzameling van resultaten uit gaat bijhouden. Fig. 104: list Vervolgens stellen we een OrganizationRequest op. Dit is een request die verstuurd wordt naar de Organization Service om data op te halen of toe te voegen. De RequestName is RetrieveMultiple. Zo weet de service over welke request het gaat. We willen dus informatie ophalen. De request heeft een query nodig om te kunnen zoeken. Fig. 105: query juridoc De EntityName in onze query is de naam van de entiteit waarin we willen zoeken. De ColumnSet zijn de kolommen die we willen terugkrijgen als resultaat. Net als bij de Vesta web service moet er ook hier een verzameling van filters zijn om te kunnen zoeken op bepaalde velden. De code ziet er een beetje anders uit dan bij de Vesta web service maar het principe is hetzelfde. De AttributeName is de naam van het veld waarop moet gezocht worden. De Operator is de vergelijking die moet gebeuren (contains, like, equals, enz.). De value is de waarde die moet gezocht worden in het veld dat werd ingegeven bij AttributeName. 65

68 Fig. 106: filterexpression Nadat we onze request hebben gedefinieerd kunnen we deze sturen naar onze Organization Service. We zetten ook de progressbar op true. Fig. 107: BeginExecute De parameter getcontacten.getcontacten(selecedsubgrid, FilterParameters) is een functie die de request opstelt en dan terugstuurt. Er is ook een AsyncCallback. Dit event zal geactiveerd worden wanneer de Organization Service een antwoord met de resultaten terugstuurt naar de client. In het SearchContactenDone event ontvangen we het antwoord van de service en steken het in een variabele van het type OrganizationResponse en sluiten we de execute af. Uit de response kunnen we een EntityCollection halen dat de resultaten bevat. Dit is een ObservableCollection van het type Entity. Vervolgens gaan we de datagrid opvullen met de data. Fig. 108: Response In de PopulateGrid methode vullen we de datagrid op met de resultaten. We maken eerst de lijst met eventueel vorige resultaten leeg zodat er geen oude en niet relevante resultaten blijven hangen. Vervolgens overlopen we de collectie met resultaten en steken we elk item in een DisplayContact object. Via GetAttributeValue<object>( naam veld ) van Entity halen we een waarde uit een resultaten item. 66

69 Fig. 109: PopulateGrid De laatste stap is om het DisplayObject in de List te steken en deze List in het PagedCollectionView object steken dat gebonden is aan de datagrid die de resultaten uit toont. Fig. 110: pagedview juridoc D Contact toevoegen uit Vesta aan dossier Om een contact toe te voegen aan een dossier klikken we op een contact uit de datagrid. Er kan ook een ander adres worden geselecteerd in de datagrid meer adressen nadat er een contact is geselecteerd. De knop toevoegen zal dan beschikbaar worden gemaakt. Om een contact toe te voegen aan een dossier maken we een nieuwe request aan maar deze keer met als RequestName Create omdat we een nieuwe record aanmaken in. Het type van onze create is Entity. Bij LogicalName vullen we de naam in van de entiteit waar onze contactpersoon zal worden opgeslagen. Onze contactpersoon kan toegevoegd worden aan de entiteit new_activator, new_partij of new_dienst. Fig. 111: Request creatae juridoc De attributen zijn de waarden die we invullen bij de velden van een entiteit. De attributen worden opgesteld in de methode CreateAttributeCollection die een lijst met attributen terugstuurt. De AttributeCollection bestaat uit een verzameling van KeyValuePair objecten waar de key gelijk is aan de naam van het veld/attribuut en de value het waarde van het veld/attribuut. 67

70 Fig. 112: AttributeCollection Uiteindelijk sturen we de request door naar de service. De service zal een antwoord terug sturen als de entiteit is aangemaakt. Fig. 113: beginexecute Create Entity Het EntityCreated event zal worden geactiveerd als de service een antwoord terugstuurt naar de client met het bericht dat de nieuwe contactpersoon werd toegevoegd aan. In dit event gaan we de relatie leggen tussen het dossier en de zonet toegevoegde contactpersoon. Uit de ontvangen response in het EntityCreated event halen we het nieuwe unieke ID van de zonet aangemaakt record van de nieuwe contactpersoon. Fig. 114: Response Entitycreated We halen ook het ID op van het dossier waaraan een contactpersoon moet worden toegevoegd. Dit ID hebben we nodig om de relatie te leggen tussen de contactpersoon en het dossier. Via window.top.opener kunnen we Javascript functies opvragen die zich bevinden op de pagina dat ons zoekscherm heet geopend, in dit geval is dit een dossier formulier in CRM. Fig. 115: ophalen ID dossier Vervolgens maken we een EntityReferenceCollection aan waar we de naam van de entiteit waar onze contactpersoon aan is toegevoegd insteken alsook het ID van de contactpersoon. We initialiseren een nieuw Relationship object dat de zelfde SchemaName als de naam van de relatie tussen dossier en de entiteit van de contactpersoon (activator/partij/dienst). Uiteindelijk kunnen via het BeginAssociate event starten met het leggen van de relatie tussen de contactpersoon en het dossier. De parameters die moeten worden meegegeven zijn: naam hoofdentiteit; ID record hoofdentiteit; het object Relationship; de EntityReferenceCollection. Ook nu zal de service een antwoord terugsturen wanneer de relatie is geslaagd. Het event RelationComplete zal dit opvangen. 68

71 Fig. 116: BeginAssociate Als de relatie geslaagd is dan gaan we via een Javascript dat op ons dossier formulier staat de subgrid hernieuwen zodat de recent toegevoegde contactpersoon in de lijst komt te staan. Ook gaan we het zoekvenster automatisch laten sluiten. Fig. 117: Refresh subgrid en sluit venster De Javascript methode updatesubgrid staat op de HTML pagina die de Silverlight-applicatie host. In de script kijken we welke subgrid er is geselecteerd geweest op het formulier dossier dat het zoekvenster heeft geopend. Dit is een parameter die wordt doorgegeven bij het klikken op de knop Voeg X toe waar X staat voor de naam van de entiteit die wordt getoond in de subgrid (activator/partij/dossier). Fig. 118: Javascript Update Subgrid 3.6 Toevoegen nieuwe web resource Als ons Silverlight project klaar en gebuild is kunnen we deze als een web resource toevoegen aan onze solution. Omdat ons Silverlight project geopend moet worden in een nieuw venster moet ook de HTML-pagina die het Silverlight project host worden opgeladen. We moeten dus 2 bestanden toevoegen aan onze solution. Het eerste is een XAP-bestand. Dit is eigenlijk een soort van ZIPbestand dat alle componenten bevat om ons Silverlight project te kunnen uitvoeren. Het 2 de bestand is de HTML pagina waarop ons Silverlight project wordt gehost. We moeten zorgen dat de source op onze HTML pagina relatief is zodat de HTML pagina altijd het juiste Silverlight project toont in eenmaal opgeladen in onze solution. 69

72 Fig. 119: relatief pad HTML naar XAP Ook de naamgeving die we gebruiken bij het opladen van het XAP-bestand is belangrijk. Dit moet dezelfde naam hebben als de naam die we gebruiken in de source van de HTML-pagina. 3.7 Aanpassen ribbon Nu we ons zoekscherm hebben ontwikkeld kunnen we deze implementeren in onze CRM-omgeving. De knop om het zoekscherm te openen zal zichtbaar zijn in de ribbon bij het selecteren van een subgrid (activator/partij/dienst) op het formulier dossier. Dit is geen standaard knop en deze moeten we dus zelf in de ribbon zien te krijgen. De ribbon van CRM 2011 geeft ons een vertrouwd gevoel. Het doet ons denken aan de ribbon van alle andere Microsoft Office producten. De ribbon bevat alle kern knoppen die worden gebruikt om bepaalde acties uit te voeren op een record. We kunnen zelf aangemaakte knoppen toevoegen aan de ribbon om zo bij te dragen tot een betere user interface voor de eindgebruiker. Een ribbon kan aangepast worden per entiteit, per formulier, per subgrid, etc. Er zijn verschillende manieren om de ribbon aan te passen. Voor de echte programmeurs en mensen die graag voor een uitdaging staan kunnen ze de ribbon aanpassen in een XML-bestand. Maar er zijn gelukkig ook tools die het aanpassen van een ribbon een stuk gemakkelijker maken. Ik maakte gebruik van de Visual Ribbon Editor. Als je de tool opent moet je eerst verbinding maken met je CRM organisatie. Als je je organisatie hebt geselecteerd kan je via de knop open een entiteit selecteren die zich in jouw solution bevindt. De tool zal daarna jouw entiteit downloaden en kan je je ribbon beginnen aanpassen. Als de entiteit is gedownload kan je bovenaan het ribbon type selecteren. Je kan de ribbon aanpassen voor een formulier, een subgrid of voor op de homepagina. Ik moet 3 knoppen maken voor de 3 verschillende entiteiten (activator/partij/dienst). De 3 knoppen doen allemaal hetzelfde: ze openen het Silverlight zoekscherm. Het enige waar ze in verschillen is de parameter die meegeven die aangeeft over welke subgrid/entiteit (activator/partij/dienst) het gaat. Ik licht enkel het knop voor de subgrid activator toe omdat de overige 2 net op dezelfde manier zijn ontwikkelt. Fig. 120: nieuwe knop ribbon 70

73 Eerst en vooral openen we de Entity Ribbon van onze entiteit activator. De tool zal dan de ribbon van die entiteit ophalen. Vervolgens selecteren we als Ribbon Type Subgrid. Deze ribbon wordt enkel getoond als er een subgrid is geselecteerd. Via de knop New button maken we een nieuwe knop aan op de ribbon en noemen deze Toevoegen Activator. We kunnen ook een afbeelding met juiste afmetingen toevoegen aan de web resources van onze solution en via de juist URL kunnen we deze afbeelding gebruiken als icoon voor onze knop. Een knop heeft ook een aantal regels. Een regel die zegt wanneer de knop zichtbaar of onzichtbaar moet zijn (Display rule) en een regel die zegt wanneer er op een knop mag geklikt worden en wanneer niet (Enable Rule). We voegen een Enable Rule aan de knop toe. In deze regel zeggen we dat de knop pas kan gebruikt worden als de status van het formulier gelijk is aan Existing. Met andere woorden als er een nieuw dossier wordt aangemaakt, dan zal deze knop nog niet kunnen gebruikt worden omdat het dossier nog niet is opgeslagen. Pas als het dossier is opgeslagen en de status veranderd is naar Existing zal de knop actief worden. Fig. 121: Enable Rule ribbon knop De knop moet ook een bepaalde actie uitvoeren, namelijk ons Silverlight zoekvenster openen. Er kunnen 2 acties worden gekoppeld: een Javascript functie of een URL. Wij kiezen voor een URL. Via $webresouce leggen we een verwijzing naar de locatie van onze web resources in de solution. Vervolgens nemen we de naam van de HTML-pagina die ons Silverlight project host. De HTMLpagina zal in een nieuw venster worden geopend waar de toolbar en menubar zijn verdwenen. Wel moet het mogelijk zijn om het venster te kunnen vergroten of verkleinen. Fig. 122: action ribbon knop Als laatste geven we ook een parameter mee aan de HTML-pagina. Deze zal in de URL verwerkt worden en kunnen we ophalen via een querystring. Een HTML-pagina of een Silverlight project kunnen maar 1 aangepaste parameter ontvangen en de naam moet data zijn. De waarde van deze parameter is hier activator. Bij de knoppen van de andere subgrids zullen deze parameters respectievelijk partij en dienst zijn. Fig. 123: parameter knop 71

74 4 Voorbeeld gebruik Na alle ontwikkeling is de grootste basis van het nieuwe dossierbeheersysteem af. In dit onderdeel leg ik even uit hoe het nieuwe systeem in zijn werking gaat en wat de mogelijkheden zijn. Als we in de CRM-toepassing komen op een het dashboard dossier dat we hebben ingesteld als standaard. In het dashboard zit een subgrid van dossiers. Het is mogelijk om hier een andere view te selecteren: bijvoorbeeld ik wil enkel de dossiers die toegewezen zijn aan dossierbeheerder X zien. Fig. 124: dashboard dossier Om een nieuw dossier aan te maken klikken we op de subgrid dossiers. De ribbon zal dan verschillende actieknoppen tonen in verband met de entiteit dossier. We klikken op Nieuw Dossier. Er opent een nieuw leeg formulier waar we de verschillende gegevens kunnen invullen. Fig. 125: nieuw dossier De velden met een rode asterisk zijn verplicht. Het type van een dossier is A (advies) of C (contentieux). Om een dossierbeheerder toe te voegen aan het dossier klikken we op het vergrootglas naast het invulveld Beheerd door. Een vergrootglas wil zeggen dat de waarde van het veld moet worden opgezocht uit een andere lijst. Een dossierbeheerder komt uit de lijst van het type entiteit dossierbeheerder. Fig. 126: Selecteren Dossierbeheerder Hetzelfde principe voor het selecteren van een aanleiding, hoofonderwerp en subonderwerp. 72

75 We kunnen ook een korte samenvatting geven over het dossier. Hier kan een groter stuk tekst komen te staan. Fig. 127: samenvatting dossier Als alle verplichte velden zijn ingevuld kunnen we op opslaan klikken. U ziet dat het veld dossiernummer en nummer automatisch zijn ingevuld. Het dossiernummer is gebaseerd op het veld type en dossierbeheerder. Als u achteraf het dossier opent en het type of de dossierbeheerder wijzigt, dan zal ook het dossiernummer wijzigen. Voor wijziging type Na wijziging type Fig. 128: wijziging type Om een activator toe te voegen aan een dossier, selecteert u de subgrid activator zodat de acties op de ribbon veranderen. Vervolgens klikt u op de knop Toevoegen activator. Er opent een nieuw venster waar in u kan zoeken naar contactpersonen binnen of in Vesta. In de zoekvelden kan u kiezen welke op welke velden u wilt zoeken. Als ik op mijn eigen naam zoek Serbruyns Matthias dan krijg ik mijzelf als resultaat te zien in de resultaten uit Vesta. Fig. 129: Resultaat Vesta Mocht ik meerdere adressen hebben dan zouden deze in de tabel eronder weergegeven worden en zou een van die adressen kunnen geselecteerd worden. Ik selecteer mijn naam uit de lijst om deze toe te voegen aan het dossier. Vooraleer ik kan toevoegen moet er eerst een categorie worden geselecteerd voor de contact. Ik speel nu even voor advocaat en selecteer de categorie advocaat. De knop toevoegen is nu beschikbaar en ik kan de contact toevoegen. Het venster sluit automatisch en de subgrid is hernieuwd zodat de contact Serbruyns Matthias onmiddellijk zichtbaar is in de subgrid. Fig. 130 subgrid activator toegevoegd Dit principe is hetzelfde voor het toevoegen van een organisatie aan een dossier van zowel het type activator, partij als dienst. Aan een dossier moeten er ook rechtbankgegevens kunnen worden toegevoegd. We klikken hiervoor op de subgrid Rechtbank gegevens en vervolgens op de knop Nieuwe Rechtbank info. Er opent een nieuw CRM-formulier voor het invullen van de rechtbank gegevens. Het veld Rechtbank is de naam van de rechtbank die uit een lijst komt in. 73

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen. Handleiding Office+ Introductie Met de module Office+ gaat een lang gekoesterde wens voor vele gebruikers van Unit 4 Multivers in vervulling: eenvoudig koppelen van documenten in relatiebeheer of documentmanagement

Nadere informatie

Klachtenbeheer (Intranet)

Klachtenbeheer (Intranet) Klachtenbeheer (Intranet) Versie:1 1/17 1 INLEIDING...3 2 NAVIGATIE VAN DE APPLICATIE...3 3 FRONT-END (OP DE WEBSITE)...4 3.1 Het online melden van klachten... 4 3.2 Mijn meldingen... 5 4 BACK-END...6

Nadere informatie

IMAP-handleiding Bookinto

IMAP-handleiding Bookinto IMAP-handleiding Bookinto Olivier Nuyts 2Ti6 Ewout Spitaels 2Ti6 Departement Handelswetenschappen en Bedrijfskunde Bachelor Toegepaste Informatica 2 de jaar Academiejaar 2010-2011 Overzicht Inleiding Bookinto

Nadere informatie

JOBSITE Handleiding (19-01-2010)

JOBSITE Handleiding (19-01-2010) JOBSITE Handleiding (19-01-2010) 19/01/2010 2/22 Inhoudsopgave INHOUDSOPGAVE... 2 INLEIDING... 3 JOBSITE FUNCTIONALITEITEN... 4 JOBSITE: BEZOEKER ZONDER ACCOUNT... 5 HOMEPAGE... 5 BEZOEKERS ZONDER ACCOUNT

Nadere informatie

Offective > CRM > Vragenlijst

Offective > CRM > Vragenlijst Offective > CRM > Vragenlijst Onder het menu item CRM is een generieke vragenlijst module beschikbaar, hier kunt u zeer uitgebreide vragenlijst(en) maken, indien gewenst met afhankelijkheden. Om te beginnen

Nadere informatie

Zalendatabank Installatie- en gebruikershandleiding

Zalendatabank Installatie- en gebruikershandleiding Zalendatabank Installatie- en gebruikershandleiding de8 vzw Van Daelstraat 35-2140 Borgerhout T 03 270 33 33 F 03 235 89 78 info@de8.be Samenlevingsopbouw Antwerpen stad vzw Breughelstraat 31-33 - 2018

Nadere informatie

Kluwer Office. DMS Basic Medewerker. Software.kluwer.be

Kluwer Office. DMS Basic Medewerker. Software.kluwer.be Kluwer Office DMS Basic Medewerker Software.kluwer.be Contents 1 Document Management System... 4 1.1 Alure Desktop... 4 1.1.1 IPad... 4 1.1.2 IMail... 6 1.2 CRM... 8 1.2.1 Algemeen... 8 1.2.2 Padvinder...

Nadere informatie

HANDLEIDING POSTSTUKREGISTRATIE

HANDLEIDING POSTSTUKREGISTRATIE HANDLEIDING POSTSTUKREGISTRATIE Versie 3-04/10/2005 Dit document is de handleiding voor de poststukregistratie e2e nv pagina 1/20 1 Index 1 INDEX... 2 2 ROLLEN... 3 3 VERWERKER... 4 3.1 OVERZICHT... 4

Nadere informatie

1 Inleiding. 3 Handmatig... invoeren zaken basis 4 Verwerken... zaken 5 Afhandelen... van zaken. 7 Uitgebreidere... zaak opties

1 Inleiding. 3 Handmatig... invoeren zaken basis 4 Verwerken... zaken 5 Afhandelen... van zaken. 7 Uitgebreidere... zaak opties 2 Supportdesk Pro Introductie Inhoudsopgave I Supportdesk Pro 3 1 Inleiding... 3 2 Werkwijze... 3 II Zaken 4 1 Introductie... 4 2 Zaken beheren... 4 3 Handmatig... invoeren zaken basis 4 4 Verwerken...

Nadere informatie

Werking van de Office Connector, en het oplossen van fouten.

Werking van de Office Connector, en het oplossen van fouten. Werking van de Office Connector, en het oplossen van fouten. De Office Connector zorgt ervoor dat de Microsoft Officeomgeving gebruikt kan worden als ontwerp en genereeromgeving voor documenten waarbij

Nadere informatie

Mach3Framework 5.0 / Website

Mach3Framework 5.0 / Website Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...5 1.1 Ingelogd blijven...6 1.2 Wachtwoord vergeten...7 2 Applicatie keuzescherm...8 2.1 De beheeromgeving openen...9 3

Nadere informatie

OFFICE 365. Start Handleiding Medewerkers

OFFICE 365. Start Handleiding Medewerkers OFFICE 365 Start Handleiding Medewerkers Meer info: Naast deze handleiding is er zeer veel informatie reeds voorhanden op het internet of door op het vraagteken te klikken in de Office 365 omgeving. Ook

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Informatie & Databases

Informatie & Databases Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat

Nadere informatie

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen. Handleiding Scan+ Introductie Met Scan+ gaat een lang gekoesterde wens voor vele gebruikers van Unit 4 Multivers in vervulling: eenvoudig koppelen van documenten in relatiebeheer of documentmanagement

Nadere informatie

HANDLEIDING DMS Plugin Installatie, configuratie & werking

HANDLEIDING DMS Plugin Installatie, configuratie & werking HANDLEIDING DMS Plugin Installatie, configuratie & werking Dit document is de handleiding voor de installatie, configuratie en werking van de DMS Plugin. Versie 1-12/09/2005 Inhoudstafel 1 Installatie...

Nadere informatie

GEBRUIKERSHANDLEIDING OpenIMS DMS Microsoft Outlook integratie. Versie 1.1

GEBRUIKERSHANDLEIDING OpenIMS DMS Microsoft Outlook integratie. Versie 1.1 GEBRUIKERSHANDLEIDING OpenIMS DMS Microsoft Outlook integratie. Versie 1.1 1 Document status Datum Auteur Versie Status 12-06-2008 H.A.M. van Korven 0.1 Concept 06-11-2008 K. Kaptein 1.0 Concept 08-11-2008

Nadere informatie

Technische nota AbiFire Rapporten maken via ODBC

Technische nota AbiFire Rapporten maken via ODBC Technische nota AbiFire Rapporten maken via ODBC Laatste revisie: 23 januari 2018 Inhoudsopgave 1 Inleiding... 2 2 Systeeminstellingen in AbiFire... 3 2.1 Aanmaken extern profiel... 3 2.2 Toewijzing extern

Nadere informatie

In dit document wordt uitleg gegeven over de inrichting van formulieren binnen Trajectplanner voor

In dit document wordt uitleg gegeven over de inrichting van formulieren binnen Trajectplanner voor Formulieren In dit document wordt uitleg gegeven over de inrichting van formulieren binnen Trajectplanner voor de Functioneel beheerder. Ter verduidelijking zijn op relevante onderdelen eveneens schermvoorbeelden

Nadere informatie

CRM - Salesplanner - NL

CRM - Salesplanner - NL Handleiding PratoFlex CRM - Salesplanner - NL Efficiency through innovation Inhoudsopgave Voorwoord Salesplanner In de klantenfiche Bezoekplanning Filters Legende Automatisch gegeneerde bezoekplanningen

Nadere informatie

SwingOffice in een notendop

SwingOffice in een notendop SwingOffice in een notendop doelstelling: opvolging en bijsturing van berichten (per e-mail). 1. Inloggen in de Swing-omgeving Surf (gebruik Microsoft Internet Explorer) naar : http://swinglinecomputer/servico/default.aspx

Nadere informatie

HANDLEIDING DMS. Handleiding DMS. Dit document is de handleiding voor het DMS (Document Management Systeem) op drie verschillende niveau s:

HANDLEIDING DMS. Handleiding DMS. Dit document is de handleiding voor het DMS (Document Management Systeem) op drie verschillende niveau s: HANDLEIDING DMS Dit document is de handleiding voor het DMS (Document Management Systeem) op drie verschillende niveau s: Gebruiker Coördinator Administrator end2end solutions pagina 1 Op het DMS van Ieper

Nadere informatie

HANDLEIDING GEBRUIKERSBEHEER. Onderwijs en Vorming

HANDLEIDING GEBRUIKERSBEHEER. Onderwijs en Vorming HANDLEIDING GEBRUIKERSBEHEER Onderwijs en Vorming Gebruikersbeheer in Web IDM 1. Aanmelden in het gebruikersbeheerplatform Na het voltooien van het aanmeldproces (zie Aanmelden bij Mijn Onderwijs), kom

Nadere informatie

Organi BVBA 2009 - Tagor 3 Web : Efficiënt invorderen & opvolgen

Organi BVBA 2009 - Tagor 3 Web : Efficiënt invorderen & opvolgen I. Inloggen in de toepassing -------------------------------------------------------------------------------------------- 3 II. Basispagina Tagor 3 Web ---------------------------------------------------------------------------------------------

Nadere informatie

www.desocialekaart.be Fiches claimen en beheren als fichebeheerder

www.desocialekaart.be Fiches claimen en beheren als fichebeheerder Fiche claimen www.desocialekaart.be Fiches claimen en beheren als fichebeheerder Ben je nog geen fiche-eigenaar en wil je dit worden? Neem eerst een kijkje in het Dashboard van je profiel bij Mijn fiches

Nadere informatie

Versie 1.0. Gebruikershandleiding MND-applicatie

Versie 1.0. Gebruikershandleiding MND-applicatie Gebruikershandleiding MND-applicatie Wijzigingsbeheer Versie Datum Omschrijving Auteur(s) 0.1 5-3-2014 Initiële versie J. van Luijk 0.2 7-3-2014 Feedback EZ verwerkt J. van Luijk 0.3 11-3-2014 Feedback

Nadere informatie

Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers

Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers De website van het openbaar ministerie is momenteel (tijdelijk) te vinden op volgende intranetadres: http://10.241.132.229.

Nadere informatie

Handleiding DigiRecord.nl

Handleiding DigiRecord.nl Introductie... 1 Eerste keer inloggen... 1 Dossiersjablonen... 2 Map verwijderen... 3 Map aanmaken... 4 Dossierbeheer... 5 Dossier eigenaar... 7 Gebruikers... 7 Gebruiker... 8 Dossierbeheerder... 8 Beheerder...

Nadere informatie

OFFICE 365. Start Handleiding Leerlingen

OFFICE 365. Start Handleiding Leerlingen OFFICE 365 Start Handleiding Leerlingen Meer info: Naast deze handleiding is er zeer veel informatie reeds voorhanden op het internet of door op het vraagteken te klikken in de Office 365 omgeving. Ook

Nadere informatie

Table of contents 2 / 15

Table of contents 2 / 15 Office+ 1 / 15 Table of contents Introductie... 3 Installatie... 4 Installatie... 4 Licentie... 7 Werken met Office+... 8 Instellingen... 8 Office+ i.c.m. module Relatiebeheer... 9 Office+ i.c.m. module

Nadere informatie

HANDLEIDING IMPACTXRM MOBILE. IMPACTXRM NV Zuidleiestraat 12/1b 9880 Aalter 0032 (50)960070 info@impactxrm.com. Bijgewerkt 29/07/2015 Versie 1.2.

HANDLEIDING IMPACTXRM MOBILE. IMPACTXRM NV Zuidleiestraat 12/1b 9880 Aalter 0032 (50)960070 info@impactxrm.com. Bijgewerkt 29/07/2015 Versie 1.2. HANDLEIDING IMPACTXRM MOBILE IMPACTXRM NV Zuidleiestraat 12/1b 9880 Aalter 0032 (50)960070 info@impactxrm.com Bijgewerkt 29/07/2015 Versie 1.2.1 INHOUD INHOUD... 1 ALGEMEEN Filosofie... 2 INSTALLATIE...

Nadere informatie

MA!N Rapportages en Analyses

MA!N Rapportages en Analyses MA!N Rapportages en Analyses Auteur Versie CE-iT 1.2 Inhoud 1 Inleiding... 3 2 Microsoft Excel Pivot analyses... 4 2.1 Verbinding met database... 4 2.2 Data analyseren... 5 2.3 Analyses verversen... 6

Nadere informatie

Handleiding gebruik Citymail

Handleiding gebruik Citymail Handleiding gebruik Citymail Versie : 4.0.1 Jaar : 2014 Auteur : Citymail BV / Charly Traarbach Citymail BV Copyright 1 Citymail BV, Nederland 2014 Niets uit dit document mag worden vermenigvuldigd en/of

Nadere informatie

Inleiding... 3. 1. Inloggen... 4. 2. Generieke apps... 4. App Mijn goedkeuringen... 5. App Delegatie... 8. 3. Self Service... 9

Inleiding... 3. 1. Inloggen... 4. 2. Generieke apps... 4. App Mijn goedkeuringen... 5. App Delegatie... 8. 3. Self Service... 9 INHOUDSOPGAVE Inleiding... 3 1. Inloggen... 4 2. Generieke apps... 4 App Mijn goedkeuringen... 5 App Delegatie... 8 3. Self Service... 9 Basisgegevens medewerker wijzigen... 12 Aanvragen autorisatie...

Nadere informatie

Handleiding. CROW Kennisbank. Contentmanagement

Handleiding. CROW Kennisbank. Contentmanagement Handleiding CROW Kennisbank Contentmanagement Inhoudsopgave Inleiding... 2 Hoofdstuk 1 - Navigeren door de inhoudsopgaven... 3 1.1 Indeling inhoudsopgave wijzigen... 3 1.2 Selecteren van titels in de navigatie...

Nadere informatie

Beschrijving webmail Enterprise Hosting

Beschrijving webmail Enterprise Hosting Beschrijving webmail Enterprise Hosting In dit document is beschreven hoe e-mail accounts te beheren zijn via Enterprise Hosting webmail. Webmail is een manier om gebruik te maken van e-mail functionaliteit

Nadere informatie

Handleiding Office 365 IN EEN NOTENDOP ALLES OVER OFFICE 365 CARLO KONIJN CHI COMPUTERS HEERHUGOWAARD

Handleiding Office 365 IN EEN NOTENDOP ALLES OVER OFFICE 365 CARLO KONIJN CHI COMPUTERS HEERHUGOWAARD 2014 Handleiding Office 365 IN EEN NOTENDOP ALLES OVER OFFICE 365 CARLO KONIJN CHI COMPUTERS HEERHUGOWAARD Inhoud Inleiding... 2 Aanmelden bij office 365 via het portaal.... 2 Het portaal en gebruikers:...

Nadere informatie

Beheer van databanken

Beheer van databanken Beheer van databanken Wim De Proost Jan Jochems Pieter Van den Akkerveken Departement Handelswetenschappen en Bedrijfskunde Bachelor Informatica 3 de jaar Academiejaar 2011-2012 2 Inhoud INLEIDING... 3

Nadere informatie

Handleiding Webapplicatie Robin

Handleiding Webapplicatie Robin Handleiding Webapplicatie Robin (Versie 05) Inhoudstafel 1. Registratie van uw labo... 2 2. Persoonlijke account aanmaken... 4 3. Inloggen in uw labo account... 7 4. Wijziging labogegevens... 8 5. Inschrijven

Nadere informatie

Handleiding voor Zotero versie 2.0

Handleiding voor Zotero versie 2.0 Handleiding voor Zotero versie 2.0 Michiel Wolda De handleiding voor Zetero is geschreven voor de lezers van het boek Deskresearch: Informatie selecteren, beoordelen en verwerken: tweede editie (Van Veen

Nadere informatie

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT

Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Slimmer samenwerken met SharePoint Workflows voor SharePoint met forms en data K2 VOOR SHAREPOINT Workflows, forms, reports en data WAAROM KIEZEN VOOR K2? Of u nu workflows moet maken voor items in SharePoint

Nadere informatie

Eindgebruikershandleiding Jira

Eindgebruikershandleiding Jira Eindgebruikershandleiding Jira Datum: 19-11-2012 Auteur: ing. N. Jonathans Versie: 2.1 Green Valley heeft als missie software te ontwikkelen waardoor de burger en het bedrijfsleven nog prettiger en makkelijker

Nadere informatie

VERZENDLIJSTEN HANDLEIDING. OTYS Recruiting Technology

VERZENDLIJSTEN HANDLEIDING. OTYS Recruiting Technology VERZENDLIJSTEN HANDLEIDING OTYS Recruiting Technology OTYS RECRUITING TECHNOLOGY WWW.OTYS.NL 29-8-2017 Versie 1.0 2 INHOUD 1 Introductie... 4 1.1 Over verzendlijsten... 4 1.2 Doel van deze instructie...

Nadere informatie

Gebruikershandleiding voor de webapplicatie Energieaudit Grote Ondernemingen

Gebruikershandleiding voor de webapplicatie Energieaudit Grote Ondernemingen Gebruikershandleiding voor de webapplicatie Energieaudit Grote Ondernemingen Deze gebruikershandleiding helpt u bij het invoeren van de resultaten van een energieaudit in de webapplicatie energieaudit

Nadere informatie

Software Requirements Specification

Software Requirements Specification Software Requirements Specification PEN: Paper Exchange Network Software Engineering groep 1 (se1-1415) Academiejaar 2014-2015 Jens Nevens - Sander Lenaerts - Nassim Versbraegen Jo De Neve - Jasper Bevernage

Nadere informatie

Outlookkoppeling installeren

Outlookkoppeling installeren Outlookkoppeling installeren Voordat u de koppeling kunt installeren, moet outlook afgesloten zijn. Stappenplan Controleer of het bestand VbaProject.OTM aanwezig is. (zie 3.2) Controleer of de map X:\RADAR\PARAMETERS\

Nadere informatie

AUTOMATISERING. Act! WerkbonApp. De koppeling tussen het CRM systeem Act! en de Werkbon applicatie WerkbonApp.

AUTOMATISERING. Act! WerkbonApp. De koppeling tussen het CRM systeem Act! en de Werkbon applicatie WerkbonApp. Act! WerkbonApp De koppeling tussen het CRM systeem Act! en de Werkbon applicatie WerkbonApp. Act! Act! is een CRM softwarepakket waarmee u uw klanten en contacten kunt beheren. Het bevat alle functionaliteiten

Nadere informatie

Efficiënt invorderen & opvolgen

Efficiënt invorderen & opvolgen I. Inloggen in de toepassing -------------------------------------------------------------------------------------------- 3 II. Basispagina Tagor 3 Web ---------------------------------------------------------------------------------------------

Nadere informatie

Coligo conne ct. Gebruikershandleiding

Coligo conne ct. Gebruikershandleiding Coligo conne ct Gebruikershandleiding Content 1. Inleiding... 3 1.1 Introductie... 3 2. Installeren en in gebruik nemen van Coligo Connect... 3 2.1 Downloaden... 3 2.2 Installeren... 3 2.3 Inloggen...

Nadere informatie

Handleiding ADC archiefservice

Handleiding ADC archiefservice Handleiding ADC archiefservice Om u het archiveren van de documenten van uw kerk of classes te vergemakkelijken, heeft het ADC besloten om een e-depot in te richten voor het veilig opslaan van digitale

Nadere informatie

https://pvo-idbeheer.vlaanderen.be

https://pvo-idbeheer.vlaanderen.be HANDLEIDING Gebruikersbeheer voor intergemeentelijke entiteiten april 2015 De toegang tot het online rapporteringsinstrument van de Vlaamse Milieumaatschappij (VMM) verloopt via het gebruikersbeheerplatform

Nadere informatie

/ handleiding. /versie /05/2019

/ handleiding. /versie /05/2019 / handleiding HANDLEIDING E-LOKET BERICHTEN EN CONTACTEN /versie 1.0 27/05/2019 Inhoudstafel 1 Inleiding 3 2 De Contactenmodule 4 2.1 Mijn organisatiegegevens beheren 4 2.1.1 Organisatiegegevens beheren

Nadere informatie

Handleiding Famicontrol voor de kinderbijslagfondsen

Handleiding Famicontrol voor de kinderbijslagfondsen Handleiding Famicontrol voor de kinderbijslagfondsen Inhoudsopgave Inleiding... 2 Inloggen... 2 Het welkomstscherm... 3 De Menu balk... 3 Opvolgingsstatussen... 4 Een nieuwe aanvraag creëren... 5 Controle

Nadere informatie

Les 15 : updaten van gegevens in de database (deel2).

Les 15 : updaten van gegevens in de database (deel2). Les 15 : updaten van gegevens in de database (deel2). In de volgende reeks lessen zal alle vorige leerstof uitgebreid aan het bod komen. Zie ook de vorige lessen en documenten om informatie op te zoeken

Nadere informatie

BRICONweb voor de club

BRICONweb voor de club BRICONweb voor de club Starten met BW! 3 Aanmelden! 4 Registreren! 4 Club verantwoordelijke! 5 Bestaande club! 5 Nieuwe club aanmaken! 5 Aanmaken wedstrijd! 6 Betekenis icoontjes! 7 Inkorven! 8 Aantallen

Nadere informatie

Documentatie Handleiding Hunter-CRM Desktop v1.0

Documentatie Handleiding Hunter-CRM Desktop v1.0 Documentatie Handleiding v1.0 1 Voorwoord Hunter-Desktop is een product van Hunter-CRM. Onze CRM software is gemaakt met het oog op gemak. Deze documentatie bevat een overzicht van de meest gebruikte functionaliteiten

Nadere informatie

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren

Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Met een LightSwitch applicatie een OData service uit de Windows Azure Marketplace consumeren Om eens wat ervaring op te doen met de Windows Azure Marketplace heb ik een publieke en gratis databron gekozen

Nadere informatie

Registratieprocedure voor de webapplicatie Energieaudit Grote Ondernemingen

Registratieprocedure voor de webapplicatie Energieaudit Grote Ondernemingen Registratieprocedure voor de webapplicatie Energieaudit Grote Ondernemingen Deze gebruikershandleiding helpt u stap voor stap doorheen de procedure om uw vestiging te registreren in de webapplicatie en

Nadere informatie

Landelijk Indicatie Protocol (LIP)

Landelijk Indicatie Protocol (LIP) Handleiding Landelijk Indicatie Protocol programma pagina 1 of 18 Landelijk Indicatie Protocol (LIP) Welkom bij LIP Lip is ontstaan uit een toegevoegde module aan het kraamzorg administratie pakket van

Nadere informatie

SR.NET Prikklok Handleiding Versie 1.0

SR.NET Prikklok Handleiding Versie 1.0 SR.NET Prikklok Handleiding Versie 1.0 Copyright @ 1988-2014 * CVBA Seynaeve Rudi * Alle Rechten Voorbehouden SR.NET prikklok - INHOUDSOPGAVE 1. Inleiding 1.1 Systeemeisen...... 1.2 Voorbeeldconfiguraties......

Nadere informatie

Handleiding OnLine voor de Opdrachtgever Versie 3.1

Handleiding OnLine voor de Opdrachtgever Versie 3.1 Handleiding OnLine voor de Opdrachtgever Versie 3.1 Handleiding voor de Opdrachtgever EuroSystems B.V. Nieuwegein 2008, EuroSystems B.V., Nieuwegein Alle rechten voorbehouden. Niets uit deze uitgave mag

Nadere informatie

Microsoft Dynamics CRM 2011

Microsoft Dynamics CRM 2011 Data Quality Solutions Microsoft Dynamics CRM 2011 Datum: 12-4-2012 Versie 1.5 Versie 2.1 Datum: 01/06/2012 Inhoud 1. Inleiding... 3 2. KVK-integratie... 4 3. Update service... 5 4. Leadgenerator... 6

Nadere informatie

Handleiding MijnEigenDossier

Handleiding MijnEigenDossier Handleiding MijnEigenDossier Inleiding Voor organisaties met vrijwilligersvacatures Het Vrijwilligerspunt ondersteunt organisatie in het vinden en behouden van vrijwilligers. Belangrijke service van de

Nadere informatie

Module Scoda. Handleiding oktober 2012. 1 Module Scoda - Handleiding Inform BVBA

Module Scoda. Handleiding oktober 2012. 1 Module Scoda - Handleiding Inform BVBA Module Scoda Handleiding oktober 2012 1 Module Scoda - Handleiding Inform BVBA Inhoud 1. Doel van de module Scoda... 3 2. Schematisch Overzicht... 4 3. Het verkrijgen van CODA-bestanden... 5 4. Het downloaden

Nadere informatie

Debiteuren Handleiding

Debiteuren Handleiding Debiteuren Handleiding Pagina 1 Voorwoord. In deze debiteuren handleiding leest u hoe u gebruik kunt maken van de debiteurenmodule. Omdat de mogelijkheden en werkwijze vrijwel eindeloos zijn zullen wij

Nadere informatie

Handleiding Digitaal Aanvraagformulier

Handleiding Digitaal Aanvraagformulier Handleiding Digitaal Aanvraagformulier Deze handleiding wil een summier overzicht geven van de installatieprocedure van het digitaal aanvraagformulier. De handleiding is bedoeld voor de al wat ervaren

Nadere informatie

Inrichting Systeem: Locaties & Toegang

Inrichting Systeem: Locaties & Toegang Inrichting Systeem: Locaties & Toegang EasySecure International B.V. +31(0)88 0000 083 Info@EasySecure.nl Support.EasySecure.nl v2.0.11 22-09-2014 In deze handleidingen worden de volgende functies binnen

Nadere informatie

HANDLEIDING. Emjee ICT diensten Ticketsysteem

HANDLEIDING. Emjee ICT diensten Ticketsysteem HANDLEIDING Emjee ICT diensten Ticketsysteem Inhoud Snel aan de slag... 3 Wachtwoord opvragen... 3 Inloggen... 4 Ticket aanmaken... 4 Schermopbouw... 4 Inleiding... 5 Ticket maken of bellen?... 5 Inloggen...

Nadere informatie

HANDLEIDING ONEDRIVE IN OFFICE365

HANDLEIDING ONEDRIVE IN OFFICE365 HANDLEIDING ONEDRIVE IN OFFICE365 1 van 13 OGD ict-diensten Inhoud Wat is onedrive for Business?... 3 Werken met onedrive for Business... 4 Inloggen:... 4 Nieuwe bestanden aanmaken:... 4 Bestanden openen

Nadere informatie

Klantenzone in BRIO4YOU

Klantenzone in BRIO4YOU Quick User Guide Klantenzone in BRIO4YOU Inleiding De klantenzone geeft u de mogelijkheid om uw klanten online, via uw website, toegang te verlenen tot hun contracten, risico-objecten en schadedossiers.

Nadere informatie

Praktische handleiding Aanmaak van een account

Praktische handleiding Aanmaak van een account Praktische handleiding Aanmaak van een account Inhoud 1. Inleiding... 3 2. Start... 4 3. Nieuwe account aanmaken... 4 3.1. Invoeren van bedrijfsinformatie door gebruik van het ondernemingsnummer (KBO-nummer).

Nadere informatie

Milieuvergunningen in FMIS

Milieuvergunningen in FMIS Milieuvergunningen in FMIS 1. Algemeen Elk schooldomein dient verplicht over één of meerdere milieuvergunningen te beschikken. Deze vergunningen zijn gekoppeld aan een domein zelf of aan bepaalde installaties;

Nadere informatie

HANDLEIDING GEBRUIKERSBEHEER. Onderwijs en Vorming

HANDLEIDING GEBRUIKERSBEHEER. Onderwijs en Vorming HANDLEIDING GEBRUIKERSBEHEER Onderwijs en Vorming Gebruikersbeheer in WebIDM 1. Voorwaarden en benodigdheden Om toegang te hebben tot de website van het Gebruikersbeheer (WebIDM) moet je beschikken over

Nadere informatie

Opstarten van de GRATIS facturatiemodule

Opstarten van de GRATIS facturatiemodule Opstarten van de GRATIS facturatiemodule 1 Welkom in het gratis facturatieprogramma van WinBooks on Web Het gratis facturatieprogramma is ontworpen om u kennis te laten maken met de interessante functionaliteiten

Nadere informatie

Handleiding HBO GO V.2

Handleiding HBO GO V.2 Handleiding HBO GO V.2 Inhoudsopgave: Inhoudsopgave 2 Ophalen HBO GO Ipad applicatie in de App Store. 3 Ophalen HBO GO Android Tablet applicatie in de Google Play Store.. 4 HBO GO Registreren en Inloggen..

Nadere informatie

5. Documenten Wat kan ik met Documenten? 1. Over LEVIY. 5.1 Documenten terugvinden Uitleg over vinden van documenten.

5. Documenten Wat kan ik met Documenten? 1. Over LEVIY. 5.1 Documenten terugvinden Uitleg over vinden van documenten. Versie 1.0 23.03.2015 02 1. Over LEVIY Wat doet LEVIY? 08 5. Documenten Wat kan ik met Documenten? 2. Algemene definities Behandelen van terugkerende definities. 09 5.1 Documenten terugvinden Uitleg over

Nadere informatie

IMPULSFONDS VOOR HET MIGRANTENBELEID

IMPULSFONDS VOOR HET MIGRANTENBELEID IMPULSFONDS VOOR HET MIGRANTENBELEID HANDLEIDING VOOR DE WEBAPPLICATIE Op deze pagina s vindt u de nodige informatie om te werken met de webapplicatie van het Impulsfonds. Wij raden u aan om deze pagina

Nadere informatie

In deze handleiding wordt de werking van het extranet beschreven

In deze handleiding wordt de werking van het extranet beschreven In deze handleiding wordt de werking van het extranet beschreven Eerste keer inloggen... 1 Werken in extranet... 2 Mijn gegevens... 3 Uitloggen... 4 Boek rit... 4 Ritten... 8 Home... 10 Zoeken... 10 Wachtwoord

Nadere informatie

Overdaad schaadt Simple Screen Adaptation in SAP Business One

Overdaad schaadt Simple Screen Adaptation in SAP Business One Overdaad schaadt Simple Screen Adaptation in SAP Business One Vergroot gebruiksvriendelijkheid en productiviteit door een passende user interface per rol of functie Wat zijn uw ervaringen met SAP Business

Nadere informatie

1. Inleiding Instellingen Groepen Nawerktijd uitgaande oproepen in seconden Beheerdersrechten...

1. Inleiding Instellingen Groepen Nawerktijd uitgaande oproepen in seconden Beheerdersrechten... Inhoud 1. Inleiding... 3 2. Instellingen... 4 2.1 Groepen... 5 2.1.1 Nawerktijd uitgaande oproepen in seconden... 7 2.1.2 Beheerdersrechten... 7 2.1.3 Handmatige nawerktijd... 7 2.1.4 Chat... 7 2.1.5 Oproepgeschiedenis...

Nadere informatie

Handboek ZooEasy Online Contacten

Handboek ZooEasy Online Contacten Handboek ZooEasy Online Contacten Datum: juni 2012 Versie: 1.04 Inhoudsopgave 1. ONDERHOUD CONTACTEN... 3 1.1. INLEIDING... 3 1.1.1. KOPPELING BASISTABELLEN... 3 1.1.2. KOPPELING ROLLEN EN AUTORISATIES...

Nadere informatie

Gebruikers handleiding Brugge Printshop webshop

Gebruikers handleiding Brugge Printshop webshop Gebruikers handleiding Brugge Printshop webshop Gebruikers handleiding Brugge Printshop webshop... 1 Inleiding... 3 Inloggen... 4 Wachtwoord vergeten... 4 Gebruikersnaam vergeten... 5 Nog geen klant?...

Nadere informatie

Gebruikershandleiding. StUF Testplatform Versie 1.3.0

Gebruikershandleiding. StUF Testplatform Versie 1.3.0 Gebruikershandleiding StUF Testplatform Versie 1.3.0 Documentversie: 0.7 Datum 25 november 2014 Status In gebruik Inhoudsopgave 1 INLEIDING...3 2 GEBRUIK MAKEN VAN HET STUF TESTPLATFORM...4 2.1 INLOGGEN

Nadere informatie

Beheerdershandleiding ADC archiefservice

Beheerdershandleiding ADC archiefservice Beheerdershandleiding ADC archiefservice Om u het archiveren van de documenten van uw kerk of classes te vergemakkelijken, heeft het ADC besloten om een e-depot in te richten voor het veilig opslaan van

Nadere informatie

Start de applicatie op om naar het inlogscherm te gaan. Onthoudt mijn gegevens

Start de applicatie op om naar het inlogscherm te gaan. Onthoudt mijn gegevens iphone app - Users Users - iphone App Deze Paxton applicatie is gratis verkrijgbaar in de App Store. Deze applicatie is ontwikkeld om gebruikt te worden op elk ios apparaat versie 5.1 of hoger en is uitgevoerd

Nadere informatie

Zoekfunctionaliteiten - NL

Zoekfunctionaliteiten - NL Handleiding PratoFlex Zoekfunctionaliteiten - NL Efficiency through innovation Inhoud 1 Voorwoord 2 Standaard zoekfunctionaliteiten 2.1 Snelle zoek 2.2 Reversed matching 2.3 Uitgebreide zoek 2.3.1 Personen

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

Bewerkershandleiding ADC archiefservice

Bewerkershandleiding ADC archiefservice Bewerkershandleiding ADC archiefservice Om u het archiveren van de documenten van uw kerk of classes te vergemakkelijken, heeft het ADC besloten om een e-depot in te richten voor het veilig opslaan van

Nadere informatie

Handleiding Collecteportaal

Handleiding Collecteportaal Handleiding Collecteportaal Met CollectePortaal kunt u zelf de vrijwilligersgegevens bijhouden. Hierdoor heeft u de regie in eigen handen. Daarnaast bespaart u de Maag Lever Darm Stichting kostbare tijd.

Nadere informatie

Handleiding Opmaken fiche 281.10

Handleiding Opmaken fiche 281.10 Opmaken fiche 281.10 1. Inleiding... 3 2. Voorbereidingen... 4 3. Personeelsleden als leverancier in de boekhouding voorzien... 7 3.1. Manueel leveranciersfiches voor de personeelsleden aanmaken... 7 3.2.

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Mach3Framework 5.0 / Website

Mach3Framework 5.0 / Website Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...4 1.1 Ingelogd blijven...5 1.2 Wachtwoord vergeten...6 2 Applicatie keuzescherm...7 2.1 De beheeromgeving openen...8 3

Nadere informatie

Handleiding Coligo Connect installatie en gebruik

Handleiding Coligo Connect installatie en gebruik Handleiding Coligo Connect installatie en gebruik Version 1.0 Content 1. Inleiding... 3 1.1 Introductie... 3 2. Installeren en in gebruik nemen van Coligo Connect... 3 2.1 Downloaden... 3 2.2 Installeren...

Nadere informatie

Handleiding GBO Helpdesk voor aanmelders

Handleiding GBO Helpdesk voor aanmelders Inhoud 1 Inleiding... 2 2 In- en uitloggen... 3 2.1 Webadres GBO Helpdesk... 3 2.2 Inloggen... 3 2.3 Wachtwoord wijzigen... 4 2.4 Uitloggen... 4 3 Incidenten... 5 3.1 Incident aanmelden... 5 3.2 Bijlage

Nadere informatie

Inleiding... 3. Het e-mailadres... 3. Hoe werkt e-mail?... 3. Je emailadres registreren... 4. Aanmelden bij Outlook... 7. Schermonderdelen...

Inleiding... 3. Het e-mailadres... 3. Hoe werkt e-mail?... 3. Je emailadres registreren... 4. Aanmelden bij Outlook... 7. Schermonderdelen... E-MAIL INHOUD Inleiding... 3 Het e-mailadres... 3 Hoe werkt e-mail?... 3 Je emailadres registreren... 4 Aanmelden bij Outlook... 7 Schermonderdelen... 8 Mailen... 10 Een mail lezen... 10 Een mail versturen...

Nadere informatie

Cliënten handleiding PwC Client Portal

Cliënten handleiding PwC Client Portal Cliënten handleiding PwC Client Portal Mei 2011 (1) 1. Portal van de cliënt Deze beschrijving gaat ervan uit dat u beschikt over inloggegevens voor de portal en over de url van de portal website. Als u

Nadere informatie

Inhoud. Endnote X7 Handleiding Mediacentrum maart 2015 Page 2

Inhoud. Endnote X7 Handleiding Mediacentrum maart 2015 Page 2 Inhoud Over Endnote... 3 Endnote installeren... 4 Een library aanmaken... 5 Voordat je begint!... 6 Tussenvoegsels in namen... 6 Referenties invoegen in een Worddocument/Cite while you write... 7 Handmatig

Nadere informatie

Je nieuwe e-mailadres gebruiken Om je mail te lezen ga je naar de site: https://login.microsoftonline.com Je ziet dan onderstaand inlogscherm:

Je nieuwe e-mailadres gebruiken Om je mail te lezen ga je naar de site: https://login.microsoftonline.com Je ziet dan onderstaand inlogscherm: Je nieuwe e-mailadres gebruiken Om je mail te lezen ga je naar de site: https://login.microsoftonline.com Je ziet dan onderstaand inlogscherm: Log in met je e-mailadres en het wachtwoord dat je hebt gekregen.

Nadere informatie

DKO Beheerders. 5 maart WISA helpdesk

DKO Beheerders. 5 maart WISA helpdesk DKO Beheerders 5 maart 2012 WISA helpdesk Inhoudsopgave 1 DKO Beheerders 2 1.1 Taken na update WISA-programma...................... 2 1.1.1 Aanmelden als administrator...................... 2 1.1.2 Nieuwe

Nadere informatie