Verslag afstudeerstage

Maat: px
Weergave met pagina beginnen:

Download "Verslag afstudeerstage"

Transcriptie

1 Verslag afstudeerstage White Label Hosting Jeroen Peters December 2008 Student Mens & Informatica Stenden Hogeschool

2 Voorwoord Dit verslag heb ik geschreven in het kader van mijn afstudeerstage bij de ontwikkelafdeling van YourHosting B.V. te Zwolle. Deze afstudeerstage is het laatste traject van de opleiding Mens & Informatie die ik momenteel volg aan de Stenden Hogeschool te Emmen. Het doel van het verslag is om mijn afstudeerbegeleiders van zowel het stagebedrijf als Stenden Hogeschool en eventueel andere geïnteresseerden te informeren over de uitkomsten van mijn afstudeerstage. YourHosting is een jonge, snel groeiende organisatie die zich vooral richt op het aanbieden van webhosting en de daarbij behorende diensten. YourHosting zorgt er voor dat hun klanten de mogelijkheid hebben een website op het internet te plaatsen en dat deze altijd bereikbaar is. Op mijn afdeling, development (ontwikkeling), zijn de programmeurs werkzaam. Deze afdeling zorgt voor de technische realisatie van ondersteunende middelen voor zowel de klant als de eigen organisatie. Het verslag is geschreven voor lezers die meer dan gemiddelde kennis hebben van de computer in het algemeen. Ook wordt er van de lezer verwacht dat hij of zij enige ervaring heeft met ontwikkeltalen die gebruikt worden om applicaties voor het internet te maken. Er kunnen termen gebruikt worden die u wellicht niet bekend voorkomen. Deze termen zijn opgenomen in de begrippenlijst achterin dit verslag. Tenslotte wil ik vermelden dat dit verslag niet tot stand was gekomen zonder het ter beschikking stellen van de afstudeerplaats door YourHosting, de begeleiding en sturing van Peter Langenkamp, Wouter Houweling en Raymond Blankestijn. Ook wil ik natuurlijk al mijn collega s bij YourHosting bedanken voor de leuke tijd die ik gehad heb op de afdeling en bij de bedrijfsuitjes. Jeroen Peters, opdrachtnemer jeroen.peters@student.stenden.com Document geschiedenis Om na te gaan aan wat voor wijzigingen dit document onderhevig is geweest, is onderstaande versietabel opgenomen. Versie Datum Auteur Omschrijving Jeroen Peters Indeling vastgesteld Jeroen Peters Conceptversie Jeroen Peters Wijzigingen gedaan a.d.h.v. aanwijzingen YourHosting Jeroen Peters Wijzigingen gedaan a.d.h.v. aanwijzingen school Jeroen Peters Toevoegingen voorwoord en Engelse samenvatting 1

3 Summary For the final semester of my study I did an internship to be able to graduate from Stenden University. Before I chose the company I wanted to contact for an internship I attended some career events, subscribed to websites which provided listings of internships and I did some research for companies myself. After some comparing I decided to contact YourHosting. The communication was pleasant and we set up an appointment to see what possibilities there were for an internship. The appointment was a success and we picked a project I could work on, it was called the White Label Hosting project. This project met the internship requirements, Stenden University approved and I could start my internship. The goal of the White Label Hosting project was to create a set of applications which could be used by YourHosting or a reseller to start a new hosting company. This hosting company needs an online shop to sell webhosting packages, domain names and webhosting related products. This shop has to be brandeable, so the owner of the shop is able to give the shop its own identity. To manage the shop, the client and the products, a control panel was developed. This panel will be hosted on a dedicated machine to contain all the client data, configurations and shop settings. We called this panel the Whitelabel Middleware Layer (WML from now on). Apart from this control panel, that is only for the resellers, an extra panel is provided for the clients of the reseller. This panel is called the Hosting Manager, where clients can manage their addresses, databases, subdomains and more. The Hosting Manager already existed and only needed a few changes. The WML and the shop on the other hand had to be developed from scratch. Therefore YourHosting wanted to develop an application framework. By building a framework, valuable time could be saved when developing new applications. During the internship and the development of the framework and online shop I researched the options and possibilities that other similar software provide. Goal of this research was to discover what functionality is necessary to provide adequate tools to support the resellers. This research was rather useful, it showed some functionality and options our own software lacked, so we could improve it. During a team meeting we realized that there was no time left for me to develop actual payment methods in the shop, so this was dropped and left to be developed later by another employee. Apart from this drawback and some minor issues, the development of the shop and the framework went well. We worked with a versioning tool, which allows a group of people to work on one project at the same time. I learned a lot from developing at YourHosting. Not only my programming skills have improved, but also my capabilities to work together with new people, to communicate and to document. I also learned a new skill, supporting and managing a small group of people. This I learned when my project manager went on vacation and left me in charge. Also, developing on a Linux machine was extremely useful, this way I could expand my understanding of the Linux operating system and server configurations. It also provides a testing environment that is almost the same as the production environment. That is why I recommended YourHosting to develop with Linux regularly. 2

4 Inhoudsopgave Voorwoord... 1 Document geschiedenis... 1 Summary Algemene inleiding Keuze YourHosting Het ontstaan van de afstudeeropracht Het beoogde eindproduct De onderdelen Ontwerp communicatie tussen verschillende onderdelen Framework De webwinkel Whitelabel Middleware Layer Hosting Manager Werksituatie Definities Onderzoek naar andere hosting-shop oplossingen Vergelijkbare pakketten Doel van het onderzoek Bestuderen van de pakketten WHMCS Advanced Webhost Billing System Parallels Plesk Billing LPanel Uitkomsten Opvallende extra mogelijkheden Mensen belonen voor het aanbrengen van klanten Downloads box importeren naar helpdesk Kalender/Reminder Prepaid tegoed log Conclusie

5 3. Werken op de afdeling development Ontwikkeltalen en standaarden Object georiënteerd programmeren in PHP MySQL SOAP JavaScript Programmeerstijlen Teamleden Ontwikkelen Afdelingsbrede hulpmiddelen SVN Code reviews Jira FishEye Wiki Documentatie Eigen framework Begeleiden / ondersteunen Tegengekomen problemen Meertalingheid ondersteunen Geautomatiseerde workstation/server installatie versturen vanuit het framework Debug informatie Resultaat Requirements Ontwikkeling Framework Mijn aandeel Database functies Layout Andere functies MVC Webwinkel Bestellen van een domein en webhosting pakket Your Account Beheermogelijkheden Overige WML Klantbeheer Webhosting pakketten beheer

6 4.6.3 Producten beheer Domeinnaam extensie beheer Overige Begeleiding / Ondersteuning Planning Conclusie Doelstellingen Opgedane en verbeterde vaardigheden Samenwerken Zelfstandig werken Communiceren Programmeren Begeleiding Suggesties Begrippenlijst Literatuurlijst Bijlage A Originele afstudeeropdracht Bijlage B Afstudeermelding Bijlage C Overzicht framework

7 1. Algemene inleiding In deze algemene inleiding zal de keus voor YourHosting als afstudeerbedrijf uiteengezet worden. Hierin wordt ook het proces van contact tot afstudeeropdracht behandeld. In de daarop volgende paragraaf zal de afstudeeropdracht worden beschreven, evenals het beoogde eindproduct en de eisen die daar aan gesteld zijn. 1.1 Keuze YourHosting De zoektocht naar een geschikt afstudeerbedrijf begon voor mij al in september Dit was weliswaar erg vroeg, maar dit heeft me goed kunnen laten oriënteren binnen de IT-branche. De branche waar ik graag werkzaam zou willen zijn tijdens mijn afstudeerstage was webdevelopment. Met deze eis in mijn achterhoofd heb ik gezocht naar recensies van stagebedrijven, gebruik gemaakt van een stage bemiddelingsbureau en heb ik een aantal van de carrière- en studentenbeurzen bezocht. Uiteindelijk zijn er van vele bedrijven een paar overgebleven. Van YourHosting kreeg ik een lijstje met drie opdrachten die van afstudeerniveau waren. Naar aanleiding van dit lijstje ben ik dan ook langsgegaan bij YourHosting en heb daar een prettig overleg over de opdrachten gehad. Ook heb ik veel over het bedrijf (en zusterbedrijven) geleerd. De indrukken die ik tijdens het contact en het bezoek had opgedaan, alsmede de positieve media aandacht die het bedrijf kreeg en nog steeds krijgt, deden me besluiten YourHosting als stagebedrijf te kiezen. 1.2 Het ontstaan van de afstudeeropracht Zoals de naam al doet vermoeden is YourHosting voornamelijk een webhosting provider. YourHosting heeft ook een aantal zusterbedrijven die zich onder meer specialiseren in low-budget webhosting en de registratie van domeinnamen. YourHosting zelf biedt een aantal vaste webhosting pakketten aan die beschikbaar zijn voor bedrijven en particulieren. Zoals andere webhosting providers biedt YourHosting ook een mogelijkheid voor de zogenaamde reseller hosting aan. Hierbij neemt een reseller (klant van YourHosting) hosting af die bedoeld is voor wederverkoop. De reseller kan de hosting dus onder zijn eigen naam verkopen. Hiervoor waren echter nog niet veel voorzieningen getroffen. YourHosting wil ook haar resellers graag goed van dienst zijn en om die reden is het White Label Hosting project in het leven geroepen. Het idee achter dit project is dat er snel en gemakkelijk een nieuw webhosting bedrijf gestart kan worden. Dit kan gedaan worden door een reseller, maar ook door YourHosting zelf om bijvoorbeeld een nieuw merk in de markt te zetten. 6

8 1.3 Het beoogde eindproduct Het gehele project kent in feite vier eindproducten die moeten worden opgeleverd, te weten: Framework Webwinkel Beheerpaneel voor de reseller Beheerpaneel voor de klant Het project is te groot om uit te kunnen voeren in de vastgestelde stageperiode (80 werkdagen). Het product dat tijdens mijn afstudeerstage gemaakt moest worden is de webwinkel, die kan communiceren met het beheerpaneel voor de reseller. Ook het framework moest al een solide basis vormen voor een complete applicatie aan het einde van mijn afstudeerstage, zodat de webwinkel goed kan functioneren. Een framework is vaak onderhevig aan veranderingen in de technologie/programmeertaal en bijvoorbeeld verbeteringen qua performance. Er kon daarom nog niet snel gesteld worden dat het framework klaar moest zijn De onderdelen Er worden dus vier producten opgeleverd. Allereerst is er natuurlijk het framework, dat de basis gaat vormen voor deze en toekomstige applicaties. Gaandeweg het ontwikkelen hebben de drie andere onderdelen allemaal een (Engelse) naam gekregen. De webwinkel wordt vaak kortweg shop genoemd, simpelweg omdat vanuit hier alle verkopen plaats vinden. Het beheergedeelte voor de reseller heeft de naam Whitelabel Middleware Layer (WML) meegekregen. Een toepasselijke naam, want dit component zit in het midden van twee andere componenten. Het WML biedt de reseller de mogelijkheid om bijvoorbeeld zijn klanten te beheren, nieuwe webhosting pakketten samen te stellen, informatie over de server te raadplegen en dergelijke. Het laatste product is het beheergedeelte voor de klant zelf, de Hosting Manager. Hier kan de klant bijvoorbeeld nieuwe e- mailadressen en subdomeinen aanmaken. Hiervoor moet eerst wel een webhosting pakket zijn gemaakt door de reseller Ontwerp communicatie tussen verschillende onderdelen Als YourHosting een nieuwe reseller accepteert zal er voor deze reseller een nieuwe (virtuele) server opgezet worden. Op de WML wordt er een account gemaakt voor de reseller, waarna de reseller zelf ook kan inloggen op de WML. Op de WML kan de reseller instellen welke webhosting pakketten, typen domeinnamen en producten tegen welke prijs verkocht kunnen worden. Als er bijvoorbeeld een webhosting pakket besteld wordt, wordt deze aangemaakt op de server van deze reseller. Op de server wordt ook een kopie van de webwinkel en de Hosting Manager geïnstalleerd met de accountgegevens van de reseller. Op deze manier kan de webwinkel de gegevens zoals klantinformatie, beschikbare webhosting pakketten en domeinnamen vanuit de WML inladen. Bij een nieuwe klantregistratie of het plaatsen van een bestelling worden er juist gegevens naar de WML verzonden. Ook de Hosting Manager haalt een aantal gegevens op bij de WML. Als er nog een reseller geaccepteerd zou worden door YourHosting kan er eenvoudig nog een nieuwe (virtuele) server opgezet worden. Voor de nieuwe reseller wordt ook een WML account 7

9 aangemaakt, waarvan de gegevens worden ingesteld in de webwinkel van de reseller. Ook hier weer worden de producten van de klanten aangemaakt op de server van de reseller, maar de instellingen voor de webwinkel en de klantgegevens komen weer van de WML. De WML is dus de centrale plaats waar alle klantinformatie, webhosting pakket specificaties en meer belangrijke gegeven worden bewaard. In onderstaand figuur is te zien hoe twee verschillende servers van twee verschillende resellers benodigde gegevens op kunnen halen en versturen van en naar de WML. Figuur 1.1 Twee reseller servers gebruiken de WML als informatie- en opslagbron. De webwinkel leest en schrijft gegevens, de Hosting Manager leest alleen gegevens vanuit de WML Framework De Hosting Manager is al eens geschreven voor YourHosting en zusterbedrijf StartHosting. Deze hoeft dus niet opnieuw ontwikkeld te worden, deze kan worden uitgebreid. De webwinkel en de WML dienen wel helemaal vanaf de grond af aan ontwikkeld te worden. YourHosting is bezig zijn ontwikkelafdeling nog verder te professionaliseren en in het kader hiervan zal er voor deze applicaties een framework geschreven worden. Het is geen optie om een bestaand framework te gebruiken omdat het moet worden afgestemd op de serverconfiguratie binnen YourHosting. Het doel is om een snel, efficiënt maar ook veilig framework te schrijven dat direct goed gedocumenteerd wordt. Bij later gebruik van het framework ontstaat er dan goed onderhoudbare code die tevens beschermd wordt met de impliciete beveiliging van het framework, een erg belangrijk kenmerk. Ook kunnen al (op het framework) gebouwde componenten worden hergebruikt in een andere applicatie. 8

10 Het mede ontwikkelen van dit framework werd ook deel van mijn afstudeeropdracht. Door gebruik te maken van het framework voor de webwinkel en de WML wordt ervoor gewaakt dat de code van beide applicaties er hetzelfde uitziet qua structuur. Als er nieuwe teamleden moeten werken aan het project kunnen zij zich snel inleven in de code van de applicaties De webwinkel De webwinkel is het eigenlijke deel van mijn afstudeeropdracht. Via de webwinkel kan de reseller zijn verkopen doen. De webwinkel is qua inhoud en vormgeving volledig aanpasbaar, zodat er maximale vrijheid is voor de reseller om zich te onderscheiden van andere hostingpartijen. Deze vrijheid bestaat uit het zelf configureren van webhosting pakketten, types domeinnamen, extra producten, maar ook uit het veranderen van kleuren, logo s, etc. Op deze manier kan de reseller zelf een merk neerzetten. Naast het aanpasbaar zijn moet de webwinkel natuurlijk een aantal functies bevatten om de verkoop ook daadwerkelijk te kunnen laten plaatsvinden. De webwinkel moet gebouwd worden op het framework, beschreven in de vorige paragraaf. Hierin schuilt het echte werk. Er moet een hulpmiddel gemaakt worden waarmee domeinen kunnen worden gecontroleerd op beschikbaarheid. Op basis van deze beschikbaarheid moet een actie kunnen worden gedaan, registreren of verhuizen. Hierna kan er per pakket een domeinnaam gekozen worden welke aan het virtuele winkelmandje zal worden toegevoegd. Ook moet de webwinkel een klantenregistratie systeem bevatten. De klant kan zijn bestelling pas afronden als er wordt ingelogd of geregistreerd. In het klantensysteem moeten de gegevens van de klant te wijzigen zijn, een overzicht van alle accounts worden getoond en een bestelgeschiedenis. Al deze gegevens moeten worden getransporteerd met het protocol SOAP. Ook moeten er een paar kleine beheermethodes in de webwinkel zelf zijn geïmplementeerd, zoals het plaatsen van nieuwsberichten, het wijzigen van het logo, wijzigen van het kleurenthema en het plaatsen van kleine blokjes informatie (widgets). Uiteraard moet de code van dit alles gescheiden zijn in functionele code en layout-code. Omdat de applicaties op het framework gebouwd wordt, wordt hier automatisch al voor gezorgd. Figuur 1.2 Contactgegevens pagina van de webwinkel 9

11 1.3.5 Whitelabel Middleware Layer De Whitelabel Middleware Layer, vanaf nu WML, is geen onderdeel van de formele afstudeeropdracht. Ook deze applicatie zal moeten worden gebouwd op het eigen ontwikkelde framework. De WML biedt aan de resellers de mogelijkheid om zijn klanten te beheren, webhosting pakketten te maken, producten te definiëren, types domeinnamen instellen, prijzen bepalen en informatie van een server bekijken. Het is de bedoeling dat elke reseller kan inloggen op het WML en vanaf die centrale plek het aanbod van zijn webwinkel kan wijzigen Hosting Manager De Hosting Manager is het beheerpaneel voor de klanten van de reseller. Ook dit paneel is geen onderdeel van mijn afstudeeropdracht, maar verdient ook de nadere toelichting. In de Hosting Manager kunnen de klanten nieuwe adressen, subdomeinen, databases en dergelijke toevoegen en beheren. De Hosting Manager geeft ook beheer over wat technischere zaken zoals het doorsturen van het domein. YourHosting heeft de Hosting Manager in eigen beheer ontwikkeld, zo is precies bekend hoe het pakket in elkaar zit en kan er bij problemen snel worden opgetreden. Ook sluit het perfect aan bij de diensten en producten die YourHosting levert aan haar klanten. Om die redenen zal de Hosting Manager ook in het White Label Hosting project (her)gebruikt worden. De Hosting Manager zal wel een (SOAP)-koppeling krijgen met de WML. Op die manier kunnen de belangrijk(st)e accountgegevens (zowel bijvoorbeeld inloggegevens en pakketspecificaties) worden gedeeld tussen de twee platformen. 1.4 Werksituatie YourHosting bestaat in zijn totaliteit uit iets minder dan 40 werknemers, verspreid over 4 afdelingen en management. Deze afdelingen zijn administratie, development, helpdesk en sales. Alle ontwikkelwerkzaamheden die van technische aard zijn worden bij YourHosting gedaan op de afdeling development. Deze afdeling bestaat momenteel uit 5 vaste werknemers en 3 stagiairs. Iedereen heeft een vaste werkplek met een eigen telefoon, computer en wat kantoorbenodigdheden. Op de afdeling kan eventueel worden vergaderd, maar het is ook geen probleem om voor vragen of overleg bij elkaar langs te lopen. Binnen het gehele bedrijf heerst er een informele sfeer die bijdraagt aan korte communicatielijnen. In mijn afstudeerperiode heb ik gewerkt op een vaste werkplek binnen de afdeling development. 1.5 Definities In dit verslag worden een aantal termen gebruikt die onduidelijk, verwarrend of helemaal bekend zijn. Een aantal termen wordt kort uitgelegd in de tekst, meestal beknopt. Mocht een uitleg ontbreken of onduidelijk zijn kan de term worden opgezocht in de begrippenlijst, welke zich achterin het verslag bevindt. 10

12 2. Onderzoek naar andere hosting-shop oplossingen Zoals eerder in het rapport te lezen was, is het doel van het White Label Hosting project voornamelijk om de resellers van YourHosting een hulpmiddel te bieden. Hiermee zet de reseller simpel en snel een webwinkel op, kunnen accounts gemaakt en beheerd worden voor de klanten en krijgen de klanten controle over hun gekozen domein en webhosting pakket. Het product wordt dus ontwikkeld om een hulpmiddel te zijn die het leven van de reseller gemakkelijker zal maken. Het pakket is gemaakt naar de YourHosting standaarden. Hierdoor kunnen de resellers efficiënt en servicegericht te werk gaan. 2.1 Vergelijkbare pakketten Natuurlijk zijn er op de (internationale) hostingmarkt meerdere pakketten verschenen die ook als doel hebben om resellers gemakkelijk een eigen webwinkel te laten opzetten. Ieder bedrijf dat een dergelijk pakket heeft ontwikkeld, heeft een andere visie aangaande het implementeren van een dergelijk pakket. Door deze verschillende implementaties en doelstellingen verschillen deze pakketten vaak toch heel erg van elkaar. Uiteraard is in elk pakket een mogelijkheid om een domein vast te leggen, maar daar houdt het niet op. Na een korte zoektocht op internet en het raadplegen van bronnen binnen YourHosting bleef er een lijstje over met vier grote spelers op de markt, te weten: WHM Complete Solutions Advanced Webhosting Billing System Parallels Plesk Billing LPanel 2.2 Doel van het onderzoek Het doel van dit onderzoek is om er achter te komen welke functies echt onontbeerlijk zijn vooraleer een reseller aan de slag kan met het pakket en klanten kan gaan werven. Een ander doel van het onderzoek is om boven tafel te krijgen welke functies er voor de klanten van de reseller beschikbaar moeten zijn zodat de klantervaring aan de technische kant goed verloopt. Het is natuurlijk wel zo dat de reseller zelf de klantervaring voor het grootste gedeelte moet bepalen door bijvoorbeeld zijn servicegraad, maar de technische uitvoering in het pakket mag dit niet in de weg staan. Ook zal worden gelet op de extra opties die de pakketten te bieden hebben en het nut ervan. Het onderzoek zal dus antwoord verschaffen op de volgende vragen: 1. Welke mogelijkheden moet een reseller administratie pakket hebben zodat het als volwaardig gezien kan worden? 2. Welke mogelijkheden moeten worden aangeboden aan de klanten van de reseller? 3. Welke opties worden, naast het nodige, nog meer geboden door de onderzochte pakketten? Door het bestuderen van de geselecteerde pakketten en het verwerken van de uitkomsten zullen bovenstaande vragen worden beantwoord. 11

13 2.3 Bestuderen van de pakketten Nadat het lijstje met vergelijkbare pakketten bekend was, heb ik van elk pakket de demonstratieversie uitvoerig bestudeerd. Dit houdt in dat ik niet alleen de mogelijkheden heb uitgeprobeerd, maar vooral ook gekeken heb naar welke functies en mogelijkheden bij de verschillende pakketten in het oog springen en hoe deze zijn uitgewerkt. Per pakket wordt er een klein stukje historie beschreven, de bevindingen en indrukken van het beheer- en klantengedeelte. Eventueel andere opmerkingen worden ook beschreven. Ook zal er van elk pakket een schermafbeelding te zien zijn WHMCS WHM Complete Solution (WHMCS), is begonnen in 2004 als een mini shop dat kan samenwerken met WebHost Manager, waar de letters WHM weer van af te leiden zijn. WHMCS is begonnen als een uitbreiding voor cpanel, een hosting beheerpaneel van een derde partij. Doordat de vraag naar ondersteuning van meerdere beheerpanelen toenam werd WHMCS steeds groter en uitgebreider. Momenteel kan het samenwerken met 15 van deze panelen, 10 domein registratie bedrijven (registrars) en een aantal van de grootste betalingsverwerkers. WHMCS biedt een zogeheten Client Area, een Admin Area en een Mobile Edition. De Client Area is vanzelfsprekend het klantengedeelte, deze is erg goed uitgewerkt door het team achter WHMCS. Het betreft een webwinkel en een accountgedeelte. In het winkelgedeelte kunnen vanzelfsprekend domeinen en pakketten gekocht worden. In het accountgedeelte kunnen facturen, downloads, helpdesk, veelgestelde vragen en de bestelhistorie worden bekeken. In de Admin Area kunnen wat instellingen voor de webwinkel worden beheerd, maar ook het beheren van klanten, servers en de FAQ hoort hierbij. Leuke extra is de Mobile Edition, zodat beheerders onderweg met een versimpelde Admin Area kleine handelingen kunnen uitvoeren. Figuur 2.1 Het dashboard van WHMCS 12

14 2.3.2 Advanced Webhost Billing System Het Advanced Webhost Billing System (AWBS) draait inmiddels al weer 7 jaar mee op de markt en is derhalve ook erg uitgebreid. Ook dit systeem heeft geen eigen beheerpaneel voor de hosting zelf, maar werkt samen met ieder bekend controlepaneel op de markt. AWBS biedt wel een eigen webwinkel aan voor de klanten van de resellers maar deze oogt erg rommelig. De stappen en de acties die genomen konden worden om tot een bestelling te komen waren niet logisch ingedeeld en soms was het helemaal niet duidelijk wat de bedoeling was. Dit kan gelegen hebben aan de demo site, een werkelijke implementatie zou er wellicht anders uit kunnen zien. Het beheerscherm van AWBS zelf, Admin Area geheten, biedt allerlei opties om alle aspecten van het reseller-zijn te kunnen beheren. De mogelijkheden zijn eindeloos, helaas geeft de Admin Area die indruk ook. Op het dashboard en het vertrouwde menu na (netjes ingedeeld in categorieën) geeft de Admin Area een rommelige indruk. Omdat er zoveel opties zijn is het gemakkelijk om de weg kwijt te raken. Door de soms onduidelijke afkortingen en icoontjes is het voor een beginner niet gemakkelijk om te starten met dit pakket. Een gevorderde gebruiker zal AWBS juist wel een aantrekkelijk pakket vinden omdat instellingen tot op detailniveau aan te passen zijn, mits het hosting beheerpaneel dit ondersteund. Figuur 2.2 Het dashboard van AWBS 13

15 2.3.3 Parallels Plesk Billing Parellels Plesk Billing is een net overgenomen product. Het product was eerst bekend als ModernBill. Parallels is het moederbedrijf van beheerpaneel Plesk, en heeft de naam veranderd. Zoals ook bij WHMCS is er ondersteuning voor alle bekende beheerpanelen, hoewel de naam anders doet vermoeden. De kracht van dit product zit in de eenvoud. Het ziet er uit als een verkennervenster uit Windows XP. Vanuit daar zijn de opties te beheren. Deze opties zijn overzichtelijk ingedeeld en gemakkelijk te vinden in de Billing-Admin, het beheerscherm voor de reseller. De klanten van de reseller kunnen inloggen op het Billing-Client gedeelte. Ook hier kan de bestel historie bekeken worden, kunnen er vragen aan de helpdesk worden gesteld en kan de klant een overzicht van zijn domeinen en pakketten bekijken. Er is zelfs een mogelijkheid tot het upgraden van de pakketten. Het ontbreekt echter aan een echte webwinkel in dit pakket. Er zijn wel stukken code voorhanden die te integreren zijn in een bestaand systeem. Voorbeelden hiervan zijn een formulier om te kijken of een domein nog vrij is en ook een voorbeeld van een winkelwagen, waarin gekozen domeinen verzameld worden. Helaas is het voor de reseller dus altijd noodzakelijk om eerst te programmeren voordat er een werkende shop beschikbaar is om de hosting activiteiten echt mee te starten. Figuur 2.3 Het dashboard van Parallels Plesk Billing 14

16 2.3.4 LPanel Ook LPanel draait al een tijdje mee als reseller hulpmiddel. Het nadeel van LPanel is dat het slechts ondersteuning biedt voor het beheerpaneel cpanel. Resellers moeten dus ook een cpanel licentie hebben willen ze gebruik kunnen maken van LPanel. Het is dus een groot nadeel dat er in feite dubbele licentiekosten moeten worden betaald, omdat de optie om een gratis control panel te gebruiken is uitgesloten. Buiten dat zit er ook geen webwinkel bij het LPanel pakket. Wel beloofd de maker ons dat het integreren van het virtuele winkelmandje geen groot probleem hoeft te zijn en dat er desgewenst ook een FAQ-page kan worden gemaakt. Wel maakt LPanel deze oneffenheden goed in het de LPanel Admin, het beheerscherm van LPanel zelf. De LPanel Admin heeft een overzichtelijk dashboard, waar direct te zien is wat de aandachtspunten zijn binnen het systeem. Ook het registreren en beheren van domeinnamen gaat vrij gemakkelijk. Maar ook hier gaat weer op dat er slechts gebruik kan worden gemaakt van één registrar. Voor de rest biedt dit pakket ook weer een heleboel opties, maar in tegenstelling tot andere pakketten weet het het overzicht te bewaren, waardoor de gebruikersvriendelijkheid weer verbeterd. Ook de mogelijkheid om alle personeel (handig als er bijvoorbeeld mensen alleen helpdesk zijn) in te delen in afdelingen met bepaalde rechten. Verder is het nog mogelijk om aankondigingen te versturen naar de LPanel Client Area. Dit is het gedeelte waar de klanten van de reseller in kunnen loggen. Deze heeft verder geen bijzondere functionaliteit. De klanten kunnen overzichten van persoonlijke gegevens, domeinen en helpdesk vragen bekijken. LPanel lijkt dus vooral geschikt voor mensen die een voorkeur hebben voor cpanel en wel zelf een winkel kunnen en willen ontwikkelen. Daarna is het beheer erg gemakkelijk door de gebruiksvriendelijkheid van de LPanel Admin Area. Figuur 2.4 Het dashboard van LPanel 15

17 2.4 Uitkomsten Na alle pakketten te hebben bestudeerd is één van de meest opvallende bevindingen dat bij elk pakket een apart hosting beheerpaneel moet worden geïnstalleerd. Dit hoeft geen nadeel te zijn, als er maar keuzevrijheid is. In de meeste gevallen kan namelijk gekozen worden voor een gratis hosting beheerpaneel, zodat de reseller niet gedwongen wordt om een extra licentie te kopen. Wat nog meer opviel is dat niet alle pakketten een kant-en-klare webwinkel meeleveren. Voordat een reseller dan aan de slag kan met zijn eigen webwinkel moet er wel tijd en geld geïnvesteerd worden. Dat is niet in alle gevallen wenselijk. Ook kan het voorkomen dat een nieuwe reseller zelf geen technische achtergrond heeft. In dat geval is zelf ontwikkelen geen mogelijkheid. Tijdens het onderzoek is duidelijk geworden welke mogelijkheden de meeste pakketten bieden en die onontbeerlijk zijn voor een reseller om te beginnen als hosting bedrijf. Deze mogelijkheden zijn opgedeeld in twee categorieën, back-end mogelijkheden en front-end mogelijkheden. De eerste categorie bevat de mogelijkheden die alleen voor de reseller zelf toegankelijk zijn en betrekking hebben op het beheer van de domeinen, klanten, facturen en dergelijke. De twee categorie bevat de mogelijkheden die de klanten moeten krijgen om bijvoorbeeld hun gegevens te kunnen wijzigen of waarmee ze ondersteuning kunnen vragen. Voor beide categorieën is er een tabel opgesteld waarin de relevante mogelijkheden zijn opgesteld. In dezelfde tabel is aangegeven welke pakketten de betreffende mogelijkheid ook daadwerkelijk ondersteunen. In verband met het overzicht is ervoor gekozen beide tabellen op de volgende pagina weer te geven, zodat de tabellen niet gesplitst hoeven te worden. 16

18 Back-end mogelijkheden WHMCS AWBS Plesk Billing LPanel Instellen van een eigen registrar Instellen welke TLDs verkocht kunnen worden Mogelijkheid om meerdere servers te gebruiken Mogelijkheid tot configuratie eigen hosting pakketten Alle klantgerelateerde gegevens in overzichtsscherm Mogelijkheid tot handmatig facturen maken Betalingsmogelijkheden activeren en configureren Overzichtelijk beginscherm, nuttige informatie Helpdesk systeem op basis van tickets Vrije keuze voor hosting beheer paneel naar alle klanten sturen Frequently Asked Questions database Genereren van rapporten (bv: aantal nieuwe klanten) Korting geven d.m.v. van kortingscodes Aanpassen website gegevens Aanpassen van de website layout Meerdere gebruikers voor het beheer Front-end mogelijkheden WHMCS AWBS Plesk Billing LPanel Codes om integratie met resellerpaneel te realiseren Controleren op beschikbaarheid domeinnaam Meerdere producten tegelijk bestellen (winkelmand) Meegeleverde complete webwinkel Webwinkel: Aanpassen uiterlijk Webwinkel: Ondersteuning voor meertaligheid Webwinkel: Beveiligd klantgedeelte Webwinkel: Ondersteuning vragen vanuit klantgedeelte * Webwinkel: Bestelgeschiedenis en facturen opvragen * Webwinkel: Direct online facturen betalen Webwinkel: Klantgegevens wijzigen * Plesk Billing heeft geen webwinkel, wel een interface waar klanten facturen kunnen bekijken en contact op kunnen nemen met de helpdesk. 17

19 2.5 Opvallende extra mogelijkheden Tijdens het testen en bestuderen van de pakketten lag de nadruk op het vinden van de essentiële mogelijkheden voor een pakket als het White Label Hosting project. Hoewel dit goed gelukt is zijn er tijdens het onderzoek ook een aantal andere functies naar voren gekomen. Deze functies zijn weliswaar niet essentieel, maar ze zijn zeker wel het vermelden waard Mensen belonen voor het aanbrengen van klanten In de pakketten WHMCS en LPanel is een mogelijkheid opgenomen om te werken met zogeheten affiliates. Hiermee wordt het de reseller mogelijk gemaakt om mensen te belonen per aangebrachte klant. De affiliate promoot dus de producten en/of diensten van de reseller waarvoor hij een vergoeding krijgt als er een verkoop plaats vindt Downloads In het pakket WHMCS is er een mogelijkheid om ook downloads aan te bieden aan de klanten. Hiermee kan de reseller een stukje extra service verlenen door bijvoorbeeld FTP programma s, browsers en programma s om websites mee te bouwen aan te bieden. De klanten kunnen dan direct aan de slag met hun webhosting pakket box importeren naar helpdesk Nog een functie die WHMCS biedt is het importeren van de mails in een specifieke mailbox naar de helpdesk afdeling in het pakket. Zo is er maar één plek waar alle vragen binnenkomen. Het is een erg handige functie, toch zal het gebruik afhangen van de persoonlijke voorkeur van de reseller Kalender/Reminder Een functie die vaker voorkwam in steeds een iets andere vorm was de mogelijkheid om als reseller herinneringen in te stellen op bepaalde gebeurtenissen en/of datums. Elk pakket heeft wel een andere invulling hieraan gegeven maar dat dit een handige functie is mag duidelijk zijn Prepaid tegoed In twee van de pakketten, Plesk Billing en AWBS, is het mogelijk om klanten een tegoed te geven. Zo kunnen ze bijvoorbeeld 100 storten en dat gedurende een jaar uitgeven. Zo kan de klant prepaid een aantal producten en/of diensten afnemen bij de reseller. Zo kunnen de producten direct geactiveerd worden en kan de klant er sneller mee aan de slag log In het pakket AWBS is het mogelijk om te zien welke automatisch gegenereerde verstuurd zijn naar welke klant. Het kan handig zijn om dit te weten, bijvoorbeeld als een klant hier een vraag over heeft. Doordat deze s automatisch gegenereerd worden weet de reseller meestal helemaal niet dat er een verzonden is en waarover deze gaat. Dankzij deze handige functie krijgt de reseller inzicht in de communicatiegeschiedenis met de klant en kan deze er accuraat op inspelen. 18

20 2.6 Conclusie De vier grote pakketten zijn redelijk aan elkaar gewaagd qua beheermogelijkheden. Toch steekt WHMCS er met kop en schouders boven uit. WHMCS heeft alle beheerfuncties aan boord die geclassificeerd zijn als noodzakelijk. Ook wordt er een complete webwinkel meegeleverd, welke erg uitgebreid is. Als er een pakket als voorbeeld voor het White Label Hosting project gekozen moet worden, zal dat dus WHMCS zijn. Toch zijn de andere pakketten ook goed, de uitwerking van de functies verschilt per pakket en de ene uitwerking is nou eenmaal gebruiksvriendelijker dan de andere. Maar het gaat in dit onderzoek niet om de uitwerking. De doelstelling van het onderzoek is bereikt. Er is in beeld gebracht welke mogelijkheden voor de resellers en voor zijn klanten er geboden moeten worden in het White Label Hosting project en welke functies opvallen bij concurrerende pakketten. Op het moment van schrijven is het Het White Label Hosting project nog niet uitgezet op de markt. Ook is het pakket natuurlijk nog erg jong, maar heeft al wel een hele hoop van de benodigde mogelijkheden aan boord. Ook zitten er al functies in die geen van de bestudeerde pakketten te bieden had. Deze functies spitsen zich voornamelijk toe op het verbeteren van de aanpasbaarheid en gebruiksvriendelijkheid van de webwinkel. Ook zitten er een aantal functies in die de resellers kunnen helpen bij het verkopen, zoals het geven van domeinsuggesties, wat in alle andere pakketten ontbreekt. Samen met de essentiële functies die nog zullen worden ingebouwd zal het White Label Hosting pakket, als het klaar is, zich kunnen meten met de andere vier pakketten. Figuur 2.5 Beginpagina van de webwinkel Figuur 2.6 Logboekpagina in de WML 19

21 3. Werken op de afdeling development Zoals al eerder aangegeven in dit document heb ik tijdens mijn afstudeerperiode op de afdeling development gewerkt. De development afdeling is de laatste jaren sterk gegroeid. Tijdens deze groei zijn er ook standaarden werden geïntroduceerd. Ook het gebruik van verschillende hulpmiddelen heeft bijgedragen aan verdere professionalisering van de afdeling. 3.1 Ontwikkeltalen en standaarden Het White Label Hosting project is grotendeels ontwikkeld met de ondersteuning van programmeertaal PHP, databaseplatform MySQL, transportprotocol SOAP en gegevensdrager XML. Voor zover mogelijk wordt er met de laatste stabiele versies van deze talen gewerkt Object georiënteerd programmeren in PHP De taal PHP is een populaire taal om webpagina s en applicaties mee te maken. Dit komt onder andere doordat de taal open source is, er hoeven geen dure licenties voor worden aangeschaft. Verder is de taal erg flexibel, breed en draait tegenwoordig op bijna welke webserver. Ondanks dat veel applicaties alsnog geschreven zijn volgens de standaarden van PHP4, ontwikkelt YourHosting vanaf het White Label Hosting project exclusief in PHP5. Deze versie van PHP ondersteunt het zogenaamd Object Georiënteerd programmeren. Dit is een nette en overzichtelijke manier van programmeren. Zo kunnen kleine stukken programma gemaakt worden (dit wordt een class genoemd) en aan elkaar worden gekoppeld. Omdat elke class een eigen functie heeft blijft de gehele applicatie overzichtelijk, niet alleen omdat de logica op één plek zit maar ook omdat het steeds hergebruikt kan worden. Zo wordt het dupliceren van code voorkomen, wat een hoop werkbesparing oplevert bij aanpassingen. Ook kunnen deze classes worden uitgebreid door een uitbreiding te schrijven. Zo kan een class die normaliter alleen een namenlijst uitprint kan door zon uitbreiding bijvoorbeeld ook telefoonnummers in de lijst zetten. Binnen de afdeling development moet er op deze manier geprogrammeerd worden zodat (delen van) applicaties duidelijk zijn en dus gemakkelijk hergebruikt kunnen worden in bijvoorbeeld anderen projecten of door andere programmeurs MySQL MySQL is een veelgebruikt database platform. Het voordeel van MySQL is dat het goed wordt onderhouden door zijn ontwikkelaar en net als PHP open source is. MySQL heeft zijn populariteit niet alleen te danken aan dat het gratis is, maar ook aan de verwerkingssnelheid en mogelijkheden. MySQL is ook aangeland bij versie 5 en is momenteel bijna net zo geavanceerd als de dure alternatieven. In het White Label Hosting project gebruiken we niet al deze geavanceerde opties maar is de keus voor MySQL gebaseerd op zijn snelheid en brede ondersteuning. Ook MySQL draait tegenwoordig op vrijwel alle webservers. Om de database te gebruiken moet de Structured Query Language (SQL) gebruikt worden. Dit is een instructietaal om gegevens in een database op te halen en te manipuleren. Ook bij het gebruik van deze taal heeft de afdeling development een aantal opmaakregels opgesteld zodat de instructies die aan de database gegeven worden duidelijk en gemakkelijk te begrijpen blijven. 20

22 3.1.3 SOAP Het transporteren van gegevens tussen bijvoorbeeld de webwinkel de WML gebeurd op de afdeling development al enige tijd met behulp van SOAP. De afkorting SOAP stond voor Simple Object Access Protocol, maar deze afkorting werd enigszins misleidend bevonden door de beheerder van het protocol. Eén van de voordelen is dat het gemakkelijk uitwisselbaar is. Als er gegevens verstuurd worden door een applicatie gemaakt in PHP, kan bijvoorbeeld een Java- of C-applicatie deze gegevens toch gemakkelijk gebruiken. Een ander voordeel is dat transport over verschillende andere protocollen gedaan kan worden. Meestal, en ook binnen YourHosting, worden de gegevens getransporteerd over het internetprotocol http, waar we ook internetpagina s mee opvragen. Dit heeft als bijkomstig voordeel dat het niet geblokkeerd wordt door een firewall, die soms andere protocollen wel blokkeert JavaScript Bij het ontwikkelen van webapplicaties is het gebruik van JavaScript erg prettig. JavaScript is een scripttaal die wordt uitgevoerd terwijl de bezoeker een webpagina bezoekt en/of gebruikt. Met JavaScript zijn we in staat om voor het versturen van bijvoorbeeld een adres te kijken of deze wel geldig is. Dat kunnen we aan de gebruiker laten weten zodat deze niet voor onaangename verrassingen komt te staan zoals het opnieuw moeten invoeren van een heel formulier door één kleine fout. JavaScript werkt helaas niet in alle browsers op dezelfde manier. Gelukkig is er een JavaScript library, genaamd jquery, dat dit en vele andere veelgebruikte functies voor zijn rekening neemt. Hierdoor hoeft geen rekening gehouden te worden met compatibiliteit voor de verschillende JavaScript implementaties, zolang de functies via jquery aangesproken worden. Ook is jquery een handig hulpmiddel bij het implementeren van AJAX, omdat het gegevens kan verzenden en ophalen in XML Programmeerstijlen Om de code netjes, leesbaar en efficiënt te houden is er een style guide opgezet in de Wiki. Hierin wordt voorgeschreven hoe er geprogrammeerd dient te worden binnen het project. Om het overzicht te bewaren wordt er natuurlijk in geneste code, zodat duidelijk te zien is hoe de code is opgebouwd. Ook zijn er andere principes die de efficiëntie en leesbaarheid verhogen en de kans op fouten verkleinen. Om het overzicht te bewaren begint de lijst met principes uit de style guide op de volgende pagina. 21

23 GEBRUIK ZO MIN MOGELIJK ELSE Een if-else constructie die over meer dan 1 pagina staat is per definitie onleesbaar, en werkt ook vreemde fouten in de hand. Deze fouten kunnen soms pas laat zichtbaar zijn, omdat een else vaak een fout conditie afhandelt! Door te testen op fouten (negatief testen) kan er per fout een duidelijke melding worden weergegeven en kan het script bij deze fout gestopt worden. Zo hoeft er geen verdere verwerktijd worden verspild als het programma al weet dat er een fout is opgetreden. MAAK SOMS GEBRUIK VAN TIJDELIJKE VARIABELEN Soms verhoogt het gebruik van een paar extra variabelen gebruiken de leesbaarheid enorm. Soms zijn aaneenschakelingen van code zo lang dat het (bijna) onleesbaar is geworden. Door deze lange code op te splitsen in 2 of 3 delen wordt de leesbaarheid enorm verhoogd. N.B.: De meeste codeverwerkers doen net zo lang of langer over het verwerken van de lange code, dan over het verwerken van dezelfde code in meerdere delen. In het laatste geval zijn er namelijk kleinere delen die sneller verwerkt worden. NIET TEVEEL CONDITIES IN ÉÉN IF-STATEMENT Vaak worden, als er meerdere variabelen getest moeten worden, alle variabelen in één keer gecontroleerd. Dit is niet nodig, door elke te controleren variabele in zijn eigen if-statement te zetten wordt niet alleen de code overzichtelijker, maar kan ook bekeken worden op welke variabele de controle faalt. Bijkomend voordeel is dat de verwerker onderwater bijna dezelfde code gebruikt (omdat alle variabelen wel gecontroleerd moeten worden), dus het niet eens minder efficiënt. LEESBAARHEID Net als bij PHP wordt ook bij het gebruik van de gegevensdrager XML en de opmaaktalen HTML en CSS worden bepaalde standaarden aangehouden. Bij deze drie talen is het verstandig genest te programmeren om overzichtelijk te houden welke data op welke plek staat en waar het toe behoort. Genest programmeren houdt in dat er structuur in alle instructies wordt gebracht door inspringen van code dat bij elkaar hoort tabs (lege ruimtes). 22

24 3.2 Teamleden Tijdens mijn afstudeeropdracht kwamen er gaandeweg meer mensen in het White Label Hosting project. Het project begon met twee teamleden, namelijk mijn projectleider Wouter Houweling en mij. Na een paar weken kwam het eerste lid erbij, aan het einde van mijn afstudeer periode waren er vijf mensen die het grootste gedeelte van hun werkweek besteedden aan het White Label Hosting project. Ook waren er twee leden die af en toe wat werkzaamheden uitvoerden voor het project. In de tabel op volgende pagina staat een overzicht van projectleden en hun voornaamste werkzaamheden. Naam Wouter Houweling Jeroen Peters Ramy Talal Marino Bos Joris Horsman Wiebren Braakman Marcel Bremer Voornaamste werkzaamheden Projectleider, ontwikkeling WhiteLabel Middleware Layer en framework, ondersteuning geven Ontwikkeling webwinkel, ondersteuning geven, ontwikkelen framework Ontwerpen layout, ontwikkeling widget systeem, thema-editor, nieuws Ontwikkeling suggesties Uitbouwen database model, ondersteunende functies voor WML Advies over en het aanmaken van virtuele reseller server Advies, feedback en ondersteuning Het project loopt dus over vrijwel de hele afdeling en heeft er voor gezorgd dat alle nieuwe projectleden/werknemers kennis kregen van de ontwikkelstandaarden binnen de afdeling en met elkaar leerden samenwerken. Ook waren er op deze manier veel bijdragen aan het framework in de vorm van ideeën en concrete code. 3.3 Ontwikkelen Het werken aan mijn afstudeeropdracht heb ik hoofdzakelijk gedaan onder Linux. Linux is een alternatief voor Windows dat momenteel alleen nog veel gebruikt wordt op (web)servers omdat het een bewezen stabiel besturingssysteem is. Sinds de komst van een aantal grafische omgevingen wint Linux (ook al is het nog erg langzaam) aan populariteit op desktop computers. De populaire Linux distributie Ubuntu is ook op de afdeling development rijkelijk vertegenwoordigd. Er zijn een heleboel goede programma s beschikbaar voor Linux om mee te kunnen ontwikkelen. Mijn persoonlijke voorkeur gaat overigens uit naar het vrij nieuwe programma Geany. Geany heeft ondersteuning voor meerdere programmeer- en scripttalen. Aan de hand van kleuren kan snel gezien worden of er gewerkt wordt met een functie, variabele of class. Ook kan Geany teksten afmaken, dit is ook wel bekend als auto-completion. Dat is handig bij lange functienamen of variabelen. Dit voorkomt een hoop tikfouten en dus extra werk. Ook indexeert Geany welke classes, functies en variabelen in het bestand zitten waar op dat moment in gewerkt wordt en op welke regel deze staan. Met een klik wordt de cursus op de betreffende regel gezet. Verder heeft het programma verschillende slimme instellingen en is er ook nog eens ondersteuning voor plug-ins die 23

25 het programma kunnen uitbreiden. Geany is voor het ontwikkelen van het White Label Hosting project dan ook een perfect hulpprogramma. Figuur 3.1 Het door mij gebruikte ontwikkelprogramma Geany Voor het werken met de database heb ik uiteraard het bekende pakket phpmyadmin gebruikt. Dit pakket is al jaren dé standaard voor database bewerken. Er kan via phpmyadmin worden ingelogd als gebruiker die zich aanmeld op het database platform. Vanaf dan kunnen de verschillende databases, tabellen en inhoud worden bekeken en bewerkt. Het handige van phpmyadmin is dat het pakket web gebaseerd is, er hoeft dus geen extra software geïnstalleerd worden op de eigen computer. Figuur 3.2 De WML database, geopend in phpmyadmin 24

26 Het grote voordeel aan werken met Linux is dat de serverconfiguratie perfect kan worden nagebootst. De webserver, PHP, MySQL en alle andere vereiste onderdelen kunnen gewoon worden geïnstalleerd en geconfigureerd zoals dat ook zou zijn gebeurd op de webserver zelf. Op deze manier kunnen de wijzigingen die door de programmeur gemaakt zijn in de bestanden direct worden getest. Hierdoor worden nare verrassingen voorkomen als andere programmeurs met de code aan de slag willen. Het beheer van de computer kan het gemakkelijkst met de console/terminal, het bekende zwarte venster waar commando s kunnen worden gegeven. Hoewel het op het eerste gezicht niet zo lijkt, is het werken met de console aangenaam maar vooral snel. Het intikken van commando s gaat namelijk sneller dan bijvoorbeeld met de muis naar de juiste map navigeren, een bestand te openen en een instelling aan te passen. Het is dus wel nodig om de commando s te kennen voordat de console echt sneller werkt. Figuur 3.3 Een klassiek voorbeeld van een terminal 25

27 3.4 Afdelingsbrede hulpmiddelen Naast de hulpmiddelen op de persoonlijke werkplek zijn er ook afdelingsbrede hulpmiddelen die door iedereen gebruikt dienen te worden. In deze paragraaf zullen deze hulpmiddelen beschreven worden SVN De afkorting SVN staat voor Subversion. Doordat er meestal met meerdere mensen tegelijkertijd aan een project wordt gewerkt, is het handig om de bestanden op te kunnen slaan in een centrale plek. Met Subversion wordt dit mogelijk gemaakt door een projectmap aan te maken, deze wordt ook wel repository genoemd. In het White Label project heette de repository whitelabel_hosting. Door een check-out te doen kan een programmeur deze projectmap naar zijn eigen computer downloaden. De programmeur kan dan bijvoorbeeld een nieuwe functie in het project maken en deze dan weer uploaden. Dit uploaden wordt committen genoemd. Een andere programmeur kan zijn repository daarna weer updaten zodat ook hij de nieuwe functie heeft. Zo ontstaan er vrij weinig conflicten in bestanden waar twee mensen aan werken. Ontstaat er wel een conflict, dan geeft Subversion dit netjes aan en kunnen alle wijzigingen worden bekeken. De programmeur kan het conflict dan oplossen en weer committen. Het is ook mogelijk om een bestand dat een conflict veroorzaakt weer terug te zetten naar de vorige versie. Subversion bewaard namelijk alle versies van de bestanden die gecommit worden Code reviews Hoewel het geen hulpmiddel is in de vorm van een applicatie of machine, zijn code reviews een krachtige manier om kwaliteitsverbetering te bevorderen. De code die op de SVN gecommit wordt, wordt bekeken door iemand anders (in het geval van dit project was dat Wouter, de projectleider) en werd er feedback gegeven aan de ontwikkelaar. Vaak zijn dit tips en suggesties om de code overzichtelijker en leesbaarder te houden, of om een stuk code efficiënter vorm te geven. Op deze manier kan de ontwikkelaar zichzelf en dus ook de code verbeteren. Het doen van code reviews is een relatief gezien goedkope investering, gezien het alternatief, dat vaak het langdurig zoeken naar oplossen voor bugs is Jira Binnen de afdeling krijgt iedereen taken toegewezen via Jira. Jira is een ticketing systeem, waarin voor elke activiteit die op de development afdeling gedaan kan worden een ticket kan worden aangemaakt. Deze tickets kunnen bijvoorbeeld bedoeld zijn voor een nieuw project of een nieuwe functie in een bestaand project. Ook softwarefouten en verbeteringen kunnen worden ingevoerd. Een ticket bestaat doorgaans uit een beschrijving van een taak, het type taak, de status van de taak, een persoon die de taak moet uitvoeren, het project waaraan het ticket behoort en eventueel een deadline. 26

28 Jira kan ook samenwerken met Subversion. Elk nieuw ticket dat wordt aangemaakt in Jira krijgt een eigen ticketnummer. Bij het committen van nieuwe code dient er altijd een ticketnummer te worden ingevoerd met een beschrijving van de wijzigingen. Jira kan dan in Subversion zien of er aan de ticket gewerkt wordt en in welke bestanden dit gebeurd. Onder elk ticket wordt dan een samenvatting geplaatst van de wijzigingen die gedaan zijn ten behoeve van het betreffende ticket. Ook wordt de ingevoerde beschrijving bij het ticket geplaatst als opmerking. Figuur 3.4 Een overzicht van alle aan mij toegewezen tickets die nog niet zijn opgelost Jira biedt veel mogelijkheden voor het beheren en inzichtelijk maken van deze tickets. De afdelingscoördinator kan van een project bijvoorbeeld alle tickets opvragen en zo direct zien hoe een project er voor staat qua planning of implementaties. Ook kan bekeken worden of de belasting op één werknemer misschien niet te hoog is, dan kunnen er eventueel nog tickets aan een andere werknemer worden toegewezen. 27

29 3.4.4 FishEye Ook FishEye houdt Subversion in de gaten. Van elk project kan nauwkeurig worden bekeken welke programmeur welke bestanden heeft gecommit en welke wijzigingen hij gedaan heeft. Dit alles kan gedaan worden via een webinterface, dat is wat het pakket zo behulpzaam maakt. Omdat dit in een grafisch overzicht getoond wordt is het erg overzichtelijk. FishEye kan alle opgeslagen versies met elkaar vergelijken en geeft met behulp van kleuren aan welke regels code erbij gekomen zijn of welke regels code in de tussentijd zijn verwijderd. Als FishEye ziet dat er een beschrijving met een ticketnummer is ingevoerd, wordt automatisch een linkje gemaakt waarmee men naar Jira gaat. Daar kan weer worden bekeken wat er in gebeurd is met het ticket is gebeurd. Figuur 3.5 Voorbeeld van FishEye, groene code is nieuw, rode code is verwijderd in de nieuwe versie Wiki Dankzij de grote bekendheid van Wikipedia.org is de populariteit van de zogenaamde Wiki s gegroeid. Op de afdeling development van YourHosting wordt er ook veelvuldig gebruik gemaakt van Wiki s. Voor het White Label Hosting project hadden we een eigen Wiki waar niet alleen informatie over het gebruik van het framework was opgesteld, maar ook de planning, het projectplan en dergelijke. Het voordeel hiervan is dat alle informatie die bij een project hoort gemakkelijk voor iedereen toegankelijk wordt. Ook het zelf kunnen aanmaken van pagina s is erg handig. Voor het framework zijn er verschillende pagina s aan documentatie geschreven door verschillende personen. Na het verbeteren of implementeren van een (nieuwe) functie van het framework kon de bijbehorende documentatie gemakkelijk worden opgeslagen in de Wiki. 28

30 3.4.6 Documentatie Het is een gegeven dat documentatie in de automatiseringsbranche vaak tekort schiet. Bij YourHosting wordt het belangrijk gevonden dat er goed wordt gedocumenteerd. Dit is met de professionalisering van de afdeling grotendeels al verbeterd, maar er was nog wel ruimte voor verbetering. Ook hier weer wordt er vanaf het White Label Hosting project uitvoerig gedocumenteerd in de code. Dit is niet alleen nodig omdat de webwinkel ontwikkeld werd, maar tegelijkertijd ook een framework. Als deze niet gedocumenteerd is, is het niet nuttig om deze te ontwikkelen. Het is namelijk juist belangrijk dat ook nieuwe werknemers of latere deelnemers aan een project er snel mee aan de slag kunnen. Documentatie is daar een groot hulpmiddel bij, vooral in de code, omdat de documentatie dan direct staat waar het nodig is. Maar ook is het belangrijk om, in het geval van het framework, de documentatie op te slaan in de Wiki of een apart document dat het hele framework behandeld Eigen framework Een belangrijke bijkomstigheid bij de ontwikkeling van het White Label Hosting project is dat er ook een eigen framework wordt geschreven. Dit moet later ingezet kunnen worden bij andere projecten om de ontwikkeling sneller te laten verlopen. Het is daarom noodzakelijk dat alle functies generiek gehouden worden zodat ze altijd inzetbaar zijn. In het volgende hoofdstuk zal uitgebreid ingegaan worden op de functies die het framework heeft gekregen. 3.5 Begeleiden / ondersteunen Voor mij was het werken op de development afdeling niet alleen het ontwikkelen van de webwinkel. Omdat Wouter, de projectleider, ook andere werkzaamheden had kreeg ik ook de taak om mijn twee medestagiairs te begeleiden. Beide MBO stagiaires deden pas een poosje na de start mee aan het project. In het begin heb ik veel aandacht besteed aan het zorgvuldig invullen van de Wiki en het uitleg geven over de applicatie om ook de medestagiairs inzicht in het framework en de applicatie te verschaffen. Als er grote veranderingen optraden was er vaak een overleg tussen de projectleider en mij, waarna ik de opgedane informatie moest doorgeven aan de andere stagiairs. Net als mij kregen ook de medestagiairs opdrachten toegewezen. Eventuele vragen daarover heb ik beantwoord. Ook heb ik regelmatig meegekeken bij het opsporen van fouten en advies gegeven over hoe de code er het mooiste uit kan zien. 3.6 Tegengekomen problemen Bij het ontwikkelen van de webwinkel en het opzetten van het framework hebben zich, hoe kan het ook anders, een aantal problemen voorgedaan. Deze paragraaf bespreekt de problemen en de oplossingen die gevonden werden Meertalingheid ondersteunen Bij de ontwikkeling van het framework was het de bedoeling om meertaligheid direct vanaf het begin in te bouwen. Hiervoor wordt gebruik gemaakt van een programma dat gettext heet. Aan de hand van taalbestanden die op de webserver staan kan deze de geïnstalleerde talen ondersteunen. 29

31 Wat er ook geprobeerd werd, zelfs volgens de officiële installatie en implementatie instructies, gettext leek niet te werken. Op de site van de ontwikkelaars kon er geen oplossing gevonden worden. Veel zoekwerk en nog meer Linux commando s later kwam de oplossing, Ubuntu (de gebruikte Linux distributie) gaf wel aan dat de talen beschikbaar waren voor gettext, maar deze waren nog niet geactiveerd. Dit was schijnbaar een foutje in de distributie, want in de nieuwe versie die in november is verschenen wordt er wel weer volop taalondersteuning aangeboden Geautomatiseerde workstation/server installatie Iedere keer als er een nieuwe medewerker op de afdeling kwam of als er een nieuw lid het projectteam kwam versterken werd er een computer ingericht. De computer werd ingericht op zo n manier dat er op gewerkt kon worden en dat deze kon dienen als server. Om een computer hiervoor geschikt te maken, met de systeemeisen voor het White Label Hosting project is de installatie van verschillende programma s noodzakelijk. Ook moesten er een aantal configuratie bestanden en instellingen gedaan worden over het gehele systeem. Omdat de taak steeds meer voorkomender werd hebben Marino en ik hiervoor een script gemaakt. Nadat de kale versie van Linux is geïnstalleerd kan het script van de Wiki worden gehaald en uitgevoerd. Daarna worden alle vereiste programma s geïnstalleerd en de juiste configuratie toegepast. Hierna verschijnt de instructie voor het importeren van de Subversion repository op het scherm en kan er direct gewerkt worden zonder dat een systeem herstart benodigd is versturen vanuit het framework Op een gegeven moment was het zover dat de webwinkel voor het eerst een moest kunnen versturen. Hiervoor was er nog geen ondersteuning ingebouwd in het framework. Het was niet praktisch om de s handmatig in de code te programmeren. Na wat overleg heb ik een functie in het framework gebouwd waarmee s verstuurd kunnen worden. Deze s ondersteunen onder meer de meertaligheid en platte tekst / HTML indeling. Om de verstuurde s er ook aantrekkelijk uit te laten zien kan er gebruikt worden gemaakt van de HTML indeling, zo kunnen de s netjes worden opgemaakt. Helaas kan niet iedereen s lezen in de HTML indeling en wordt dan vaak alleen platte tekst (de HTML code weergegeven) in plaats van het bericht waar het eigenlijk om gaat. Om dit tegen te gaan is er gebruik gemaakt van de PHP extensies Mail en Mail_Mime. Door slim gebruik te maken van de extensies is het nu mogelijk om s via het framework te versturen die altijd te lezen zijn door de ontvanger. Kan de ontvanger geen HTML s lezen, dan wordt puur de tekst getoond (dus geen HTML code, alleen het bericht). Heeft de ontvanger wel ondersteuning voor het lezen van s die in HTML zijn opgemaakt, dan zal deze versie worden getoond. Een nadeel is dat de s iets groter zijn omdat er naast de gebruikelijke HTML versie ook een versie met platte tekst meegestuurd wordt. Het kunnen ondersteunen van twee formaten is echter zo n groot voordeel dat we dit ene nadeel accepteren. Doordat er gebruik wordt gemaakt van de PHP extensies Mail en Mail_Mime is het eventueel mogelijk om later ook bijlagen te kunnen versturen bij de s. 30

32 3.6.4 Debug informatie Tijdens het ontwikkelen van de applicaties en het framework zelf kwamen er, uiteraard, geregeld een aantal bugs aan het licht. Hiervoor zijn er debugging opties toegevoegd aan het framework. Debugging betekent eigenlijk het oplossen van bugs. Vaak is het handig om informatie die gebruikt is tijdens het proces dat een webpagina genereert terug te kunnen zien. Natuurlijk werden de foutmeldingen die PHP aangaf wel gelezen, maar ontbrak het daarbij aan informatie om de bug op te kunnen lossen. Het framework verzamelt nu alle informatie bij het opbouwen van een pagina en laat deze, mits gewenst, zien op het scherm. Bij debugging is er nu zelfs al informatie over welke functie werd aangeroepen door welke andere functie, in welke class zich deze bevindt, op welke regel deze in een bestand staat en welke parameters er werden meegegeven. Bij de aanroepen van MySQL commando s is nog meer informatie te zien zoals de SQL instructie zelf, de variabelen die gebruikt zijn en de tijd die benodigd was om de instructie uit te voeren. Bij het uitvoeren van een SOAP aanvraag wordt ook extra informatie getoond, evenals de meldingen die het systeem zelf geeft en niet geschikt zijn voor de gebruiker, maar wel voor de ontwikkelaar. 31

33 4. Resultaat In dit hoofdstuk zullen grotendeels de behaalde resultaten worden behandeld. Voordat deze behandeld worden zullen eerst de requirements aan bod komen die van toepassing zijn op de webwinkel. 4.1 Requirements De te ontwikkelen webwinkel moet aan een aantal eisen moeten voldoen, de zogenaamde requirements. Het moet natuurlijk gebouwd worden met als basis het eigen framework. Ook zijn er nog een aantal andere requirements gesteld, te weten: Elke te verkopen webwinkel moet op zichzelf kunnen staan Elke webwinkel moet een beheerder hebben Er moeten eigen pakketten kunnen worden verkocht Er moeten eigen producten kunnen worden verkocht Er moeten eigen types domeinnamen kunnen worden verkocht De prijzen hiervoor moeten door de beheerder bepaald kunnen worden Het bestelproces moet in de vorm van een wizard zijn: o Domain o Hostingpakket o Prijsberekening o Betaling De webwinkel moet gekoppeld zijn met een middenlaag (soort CRM systeem) Bestaande klanten moeten een wederaankoop kunnen doen De webwinkel moet qua uiterlijk aanpasbaar zijn De webwinkel moet de mogelijkheid hebben nieuwsberichten te plaatsen De bezoeker moet contact op kunnen nemen zonder klant te worden Er moeten overzichten bekeken kunnen worden van pakketten en types domeinnaam De webwinkel moet ondersteuning bieden voor meertaligheid Functionele en layout code moet gescheiden worden 4.2 Ontwikkeling Tijdens de ontwikkeling van de webwinkel is er gewerkt met de hulpmiddelen beschreven in het vorige hoofdstuk. Er werd dus gewerkt met tickets in Jira, waar mijn taken in beschreven stonden. De meeste tickets stonden dan ook voor één grote functie in de webwinkel. Als er weer een gedeelte af was werd deze opgeslagen in Subversion zodat dat deel veilig bewaard bleef. Dit gedeelte kon eventueel gedocumenteerd worden in de Wiki als dat nodig was. Voor het framework is dit op dezelfde manier gebeurd. 32

34 Het ontwikkelingsproces van de webwinkel was, net als die van het framework, iteratief. Dit houdt in dat er niet slechts één keer een volledig product werd opgeleverd zoals vaak gebeurd aan het einde van een afstudeerstage. Er werden nu tussentijds steeds betere versies van de webwinkel opgeleverd. Zo was het ook mogelijk om een vroeg stadium demo s te geven aan de afdeling om alvast feedback te krijgen op het werk dat tot zover gedaan was. 4.3 Framework Het ontwikkelen van het framework was een zware maar leuke klus, het hele projectteam heeft meegeholpen. Mijn projectbegeleider heeft het meeste code bijgedragen aan het framework, vooral in de basis. Toch zijn er ook substantiële delen toegevoegd door de overige projectleden. Doordat er verschillende mensen meewerkten en deze ook verschillende functies hadden in het project is het framework erg compleet geworden. Alle denkbare functies zitten erin, van database beveiliging tot het managen van de layout. Het framework is opgebouwd naar het Model-View-Controller patroon, welke momenteel erg populair is bij verschillende frameworks. In paragraaf 4.4 staat een omschrijving van het MVC patroon Mijn aandeel Voordat ik kon beginnen aan het ontwikkelen van de shop heb ik ook een bijdrage geleverd aan het framework, ik het ondersteuning voor het Portable Database Object (PDO) geïmplementeerd. Dit betekent dat het framework niet alleen met MySQL overweg zou kunnen, maar met alle bekende database platformen. PDO bevat een handige functie welke data kan controleren. Ook hier heb ik ondersteuning voor ingebouwd en alle data die gewisseld wordt met de database wordt nu gefilterd en controleert zodat er geen vreemde code-injecties in de database komen. Omdat er meerdere instanties van de webwinkel op het framework moesten kunnen draaien heb ik ook de basis gelegd voor een configuratie die aan de hand van het domein bepaald welke instellingen er geladen worden. Tijdens het ontwikkelen van de shop was een functie vereist. Deze was nog niet aanwezig in het framework, dus dat moest worden nog worden ontwikkeld. Na enige puzzelen heb ik een functie ontwikkeld die mail kan versturen via de views, dit laatste was een vereiste. Doordat er gebruikt gemaakt wordt van de views is het mogelijk om ook de vertalingen direct op te nemen in de s. Een andere handig functie is dat de zowel in platte tekst als in HTML-formaat verstuurd worden. Op die manier kan de mail altijd gelezen worden door de ontvanger, ongeacht het programma dat de ontvanger gebruikt om s te lezen. 33

35 Verder heb ik een aantal functies voor het gebruik met formulieren gebouwd en de verificatie van de gebruikersgegevens verbeterd. Zowel de verificatie die gebeurd op de webpagina zelf en de verificatie die gebeurd als de data daadwerkelijk naar de server wordt gestuurd. Ook de eerste aanzet van de SOAP beveiliging heb ik gezet. Elke reseller krijgt een eigen communicatie sleutel. Deze moet worden ingesteld in de webwinkel zodat de centrale server aan de hand van deze sleutel weet welke reseller data stuurt en ophaalt. Deze communicatiesleutel is dus een vereiste. Ik heb ervoor gezorgd dat er een functie kwam die deze sleutel vereiste aan het begin van de SOAP aanvraag. Omdat er nog ruimte was voor verbetering heeft Wouter, mijn projectbegeleider, deze functie later nog uitgebouwd Database functies Het werken met de database kan zelfs op verschillende niveaus. Er kunnen handmatig queries gemaakt worden of deze kunnen automatisch gegenereerd worden door het opgeven van een aantal parameters. De derde laag is zogenaamde UModel, dat ervoor zorgt dat tabellen gemakkelijk gekoppeld kunnen worden door relaties bekend te maken aan het UModel. Zo kan van elke tabel in de database een UModel object gemaakt worden. Door het aanspreken van dat object kan er snel data ingevoerd, gelezen, bewerkt of verwijderd worden. Indien er relaties aangegeven zijn kunnen van deze relatie (meestal een koppelveld dat refereert naar een andere tabel) op dezelfde manier aangesproken worden Layout Voor het samenstellen van de layout van de applicatie gebruikt het framework de populaire engine Smarty, welke uitgebreide ondersteuning heeft voor de vertalingen die worden gebruikt in het framework. Smarty leest de templates uit, die gewoon opgemaakt worden in HTML, en vervangt waar nodig speciale tags door bijvoorbeeld een tabel met gegevens. Op deze manier worden mensen die de layout van een applicatie maken, en niet thuis zijn in programmeertalen, vrijwel niet in de weg gezeten door programmacode Andere functies Het framework bevat verder functies voor authenticatie, aparte gegevensopslag per sessie, ondersteuning voor AJAX, vertalingen, verificatie en beveiliging van ingevoerde gebruikersgegevens, statusmeldingen, een uitgebreide debug functie voor de ontwikkelaars en ondersteuning voor het maken van de navigatie voor de site. 34

36 4.4 MVC Het framework (en daarmee de applicaties die gebruik maken van het framework) maakt gebruikt van het MVC principe. De afkorting MVC staat voor Model, View, Controller. Dit is een mooie manier om het overzicht over een applicatie te bewaren. Eenvoudigweg zouden we kunnen zeggen dat in een model alle databewerkingen gedaan worden, de view alleen de layoutcode bevat, en de controller ervoor zorgt dat de juist functie de gevraagde data op het scherm zet. Figuur 4.1 MVC Model door betterexplained.com In figuur 4.1 is te zien hoe het MVC principe werkt in het geval van de webwinkel. Eerst komt er een bezoeker die het adres van de webwinkel intikt in de browser. De browser stuurt een aanvraag naar de webserver waar de webwinkel staat. De webserver stuurt de aanvraag door naar de controller via een route. De controller haalt de benodigde data op uit het model en daarna haalt het de layoutcode op. De controller verwerkt de data in de layout, welke teruggestuurd wordt naar de browser van de gebruiker, via de webserver. 4.5 Webwinkel De webwinkel is voor het eind van mijn afstudeerperiode afgerond met de afgesproken functies. De volgende subparagrafen zullen de hoofdfuncties van de webwinkel beschrijven, verduidelijkt met schermafbeeldingen. De taal die in de schermafbeeldingen gebruikt is zal veelal Engels zijn, omdat er nog geen volledige vertaling gedaan was ten tijde van het schrijven. Figuur 4.2 De beginpagina van de webwinkel 35

37 4.5.1 Bestellen van een domein en webhosting pakket Het belangrijkste voor de webwinkel is natuurlijk de bestelmogelijkheid. De bezoeker wordt via de beginpagina naar de webwinkel gelokt. Eenmaal in de webwinkel aangekomen kan de bezoeker de gewenste domeinnaam opgeven en direct (laten) controleren op beschikbaarheid. Er kan worden gecontroleerd of een domein met een specifieke extensie beschikbaar is (bijvoorbeeld alleen.nl) of alle beschikbare extensies (zoals.com,.net, etc) ineens. Per extensie zal er dan een beschikbaarheidcontrole uitgevoerd worden. Er zijn twee mogelijke uitkomsten, de domeinnaam kan al bezet zijn of de domeinnaam kan vrij zijn voor registratie. Bij het vrij zijn van een domein wordt er slechts een optie gegeven om de gekozen domeinnaam te registreren. Als de bezoeker hiervoor kiest wordt deze in het virtuele winkelmandje geplaatst en kan de bezoeker verdergaan met zijn bestelling. Eventueel kan de klant nogmaals een beschikbaarheidcontrole uitvoeren als hij/zij nog een domeinnaam wil bestellen. Als een domeinnaam niet vrij is kan de bezoeker kiezen om de domeinnaam te verhuizen indien hij/zij al de eigenaar is de geselecteerde domeinnaam. Ook wordt er nog een andere optie gegeven, het geven van suggesties. o Kiest de bezoeker voor het verhuizen van een domeinnaam dan dient hij/zij eerst te bevestigen dat de domeinnaam niet in het bezit van iemand anders is. Is dit wel het geval kan de domeinnaam niet worden verhuisd. Als de bezoeker zeker weet dat hij/zij eigenaar is van het domein kan dit bevestigd worden. Daarna zal de domeinnaam net als bij het registratieproces worden toegevoegd aan de winkelmand en kan de bezoeker de volgende stap in het bestelproces starten. o Klikt de bezoeker op de suggestieknop, dan genereert de webwinkel aan de hand van de gegeven domeinnaam een suggestie en controleert deze direct op beschikbaarheid. Indien beschikbaar wordt deze aan de bezoeker getoond. Het aantal suggesties is aan te passen door de beheerder van de webwinkel. Elke gegeven suggestie kan ook in de winkelmand geplaatst kan worden ter registratie, waarna de bezoeker het bestelproces kan vervolgen. 36

38 Figuur 4.3 De beschikbaarheidcontrole voor domein "mijnverslag" met verschillende domeinnaam extensies Als er één of meerdere domeinnamen gekozen zijn en het virtuele winkelmandje niet meer leeg is, kan er worden verdergegaan naar de pakketselectie. In deze stap kan er per domein een webhosting pakket geselecteerd worden. Per domein zal de regelprijs (domeinnaam + webhosting pakket) voorgerekend worden, evenals de totaalprijs. Zo heeft de bezoeker direct en indruk van de kosten en kan hij/zij eventueel direct veranderingen in de bestelling maken als dat gewenst is. Figuur 4.4 Het selecteren van een pakket, waarbij de totaalprijs al wordt voorgerekend 37

39 Na het selecteren van webhosting pakketten is het aan de bezoeker om in te loggen of te registreren. Als de bezoeker al een klant is kan hij/zij inloggen en direct verdergaan met het afronden van de bestelling. Is de bezoeker nog geen klant moet hij/zij eerst het registratieproces voltooien dat bestaat uit het invullen van de klantgegevens en het klikken op een zogenaamde activeringslink in een . Deze laatste stap is verplicht om misbruik van het systeem zoveel mogelijk tegen proberen te gaan, het betreft ook slechts een eenmalige actie. Als de klant eenmaal is geactiveerd kan deze inloggen. Na het inloggen spreken we niet meer van een bezoeker maar van een klant. Figuur 4.5 De klant krijgt een over het activeren van zijn/haar account Bij het inloggen wordt de bestelling eerst opgeslagen in het klantenprofiel van de klant. Mocht de bestelling onverhoopt niet goed verlopen dan kan de klant deze later eventueel weer oppakken. Na het inloggen wordt er een overzicht getoond van de bestelling. Zo zijn, voordat er overgegaan wordt naar de betaling, alle gegevens nogmaals inzichtelijk. Hiermee moet voorkomen worden dat domeinnamen typefouten bevatten of dat domeinnamen op bijvoorbeeld de verkeerde naam worden geregistreerd. Als de klant zeker weet dat alle gegevens correct zijn en wil betalen kiest hij/zij voor één van de beschikbare betaalmethoden. Deze zullen instelbaar zijn door de webwinkel beheerder. Omdat de stageopdracht het implementeren van een concrete betaalmethode niet voorschreef zal de bestelling direct geplaatst worden als de klant de Algemene Voorwaarden heeft geaccepteerd. De bestelling wordt doorgestuurd naar de centrale server, de WML, en kan vanaf daar door de reseller verwerkt worden. 38

40 Figuur 4.6 Overzicht van de te betalen bestelling Figuur 4.7 met de bevestiging van de bestelling Your Account Om de klant ook na de bestelling te blijven bedienen is het Your Account gedeelte in het leven geroepen. Your Account zorgt ervoor dat de klant alle informatie die bij zijn gebruikersprofiel (account) hoort kan inzien en/of wijzigen. 39

41 Als een klant een vorige bestelling niet heeft afgerond, die wel bewaard is gebleven in het klantenprofiel zal er een melding getoond worden nadat een klant heeft ingelogd. Deze melding bevat de domeinnamen die de klant had geselecteerd en twee keuzes. Er kan worden gekozen voor het hervatten van het bestelproces of voor het verwijderen van de domeinnamen uit het klantprofiel. Figuur 4.8 De klant wordt gewezen op "vergeten" domeinnamen Voor bijvoorbeeld het melden van storingen, communicatie over de gekochte domeinen en/of webhosting pakketten maar ook het attent maken op een commerciële actie is het van groot belang om over de meest recente informatie van een klant te beschikken. De klant krijgt daarom uiteraard de mogelijkheid om ten alle tijden zijn persoonlijke gegevens te wijzigen. Deze wijzigingen kunnen eventueel doorgegeven worden aan de domeinregistratie service om ook die informatie up-to-date te houden. Dit is belangrijk voor het eigenaarschap van het bedrijf, dat moet altijd zorgvuldig ingesteld zijn. Alle gedane bestellingen worden in het besteloverzicht getoond. Hier kan men zien welke artikelen op welke datum besteld zijn. Ook is er de mogelijkheid om de status van de bestelling te bekijken. 40

42 Voor het beheren van een domeinnaam of een webhosting pakket zijn inloggegevens nodig. Met deze inloggegevens kan er worden ingelogd op de Hosting Manager. Als een klant meerdere domeinnamen heeft gekocht wordt het lastig om al deze inloggegevens te onthouden. Voor het gemak van de klant worden de inloggegevens dan ook in een overzicht getoond binnen het Your Accounts gedeelte. Hier kunnen alle domeinnamen, gekozen webhosting pakketten, eventueel extra producten en de inloggegevens getoond. Ook is er een knop waarmee de klant automatisch kan inloggen op de Hosting Manager, vanwaar alle instellingen voor de producten gedaan kunnen worden. Figuur 4.9 Overzicht van Your Accounts, waar alle inlog informatie bewaard wordt Beheermogelijkheden Het is voor de reseller mogelijk om vanuit de WML een hele hoop instellingen (beschikbare domeinnaam extensies, specificaties webhosting pakketten e.d.) te veranderen. Echter, op de shop zelf kunnen er ook een aantal aanpassingen worden doorgevoerd. Als een beheerder zich inlogt op de webwinkel krijgt hij de beschikking over een aantal extra opties die klanten niet te zien krijgen. Met deze opties kan hij nieuwsberichten plaatsen, de kleuren en het logo aanpassen en zogenaamde widgets beheren en plaatsen. 41

Handleiding Reseller Controle Paneel

Handleiding Reseller Controle Paneel Handleiding Reseller Controle Paneel Inloggen Om in te loggen in het Controle Paneel kunt u de gebruikersnaam en wachtwoord gebruiken welke u van ons heeft ontvangen. Nieuw is dat u ook met uw social media

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Hosting. Aan de slag. WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland. w: www.wefact.nl e: helpdesk@wefact.nl

Hosting. Aan de slag. WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland. w: www.wefact.nl e: helpdesk@wefact.nl Hosting Aan de slag WeFact B.V. Kuiper 7a 5521 DG Eersel Nederland w: www.wefact.nl e: helpdesk@wefact.nl 1. Installatie WeFact Hosting installeren In ons e-mail bericht heeft u inloggegevens ontvangen

Nadere informatie

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april 2009. Versie 2.1.0

Technisch ontwerp. Projectteam 6. Project Web Essentials 02 april 2009. Versie 2.1.0 Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 02 april 2009 Versie 2.1.0 Teamleden: Armin

Nadere informatie

WordPress Website. Bouw zelf je WordPress Website. www.supersnelonline.nl Maarten Hendrix. Maarten Hendrix

WordPress Website. Bouw zelf je WordPress Website. www.supersnelonline.nl Maarten Hendrix. Maarten Hendrix WordPress Website Bouw zelf je WordPress Website Maarten Hendrix Maarten Hendrix 2 Inhoudsopgave WordPress inleiding... 5 Wat is WordPress?... 5 Wat is het verschil tussen WordPress.org en WordPress.com?...

Nadere informatie

ZÉLF JE WORDPRESS WEBSITE MAKEN?

ZÉLF JE WORDPRESS WEBSITE MAKEN? WordPress installeren ZÉLF JE WORDPRESS WEBSITE MAKEN? WordPress Academy Nederland helpt je op weg met onze Basiscursus INHOUD P1 P2 P3 P4 P5 P6 P7 P8 P9 P 10 Wat is WordPress? Voordat je écht kan beginnen

Nadere informatie

Handleiding RealHosting Controle Paneel

Handleiding RealHosting Controle Paneel Handleiding RealHosting Controle Paneel Inloggen. Om in te loggen in het Controle Paneel kunt u de gebruikersnaam en wachtwoord gebruiken welke u van ons heeft ontvangen. Nieuw is dat u ook met uw social

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

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407

Project plan. Erwin Hannaart Sander Tegelaar 61849 62407 Project plan Erwin Hannaart Sander Tegelaar 61849 62407 I4C2 I4C1 1 Inhoudsopgave Doel en doelgroep van het project... 3 Beschrijving van het project... 4 Benodigde materialen... 5 Te verwachten resultaten,

Nadere informatie

De verschillen tussen Plesk en DirectAdmin

De verschillen tussen Plesk en DirectAdmin De verschillen tussen Plesk en DirectAdmin Plesk en DirectAdmin zijn beide een webinterface. Een webpagina waarop je kan inloggen om instellingen te doen voor je website en e-mailboxen. De functionaliteit

Nadere informatie

Handleiding: Whitelabel Customersite

Handleiding: Whitelabel Customersite ARGEWEB B.V. Handleiding: Whitelabel Customersite Controlportal.nl Argeweb Support 8-1-2009 Handleiding voor het gebruik maken van de Whitelabel Customersite op controlportal.nl, door Resellers van Argeweb.

Nadere informatie

Xampp Web Development omgeving opzetten onder Windows.

Xampp Web Development omgeving opzetten onder Windows. Xampp Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 3. Installatie Xampp... 3 1.1 Installatie Xampp Launcher... 7 1.2 Controle geïnstalleerde bestanden...

Nadere informatie

XAMPP Web Development omgeving opzetten onder Windows.

XAMPP Web Development omgeving opzetten onder Windows. XAMPP Web Development omgeving opzetten onder Windows. Inhoudsopgave 1. Lees dit eerst... 2 2. Inleiding... 2 1 Xampp downloaden... 2 2 Installatie Xampp 1.7.4 op externe harddisk... 3 3 XAMPP herconfiguren...

Nadere informatie

Opdrachtformulering (pagina 3 van 7)

Opdrachtformulering (pagina 3 van 7) Afstudeerovereenkomst van Tim Wils Bijlage 1 Opdrachtformulering (pagina 3 van 7) Dit project betreft een eigen framework (soort API) waarmee relatief gemakkelijk en in korte tijd eindproducten opgezet

Nadere informatie

Leerlingenhandleiding Beginnen met FlexBase

Leerlingenhandleiding Beginnen met FlexBase Leerlingenhandleiding Beginnen met FlexBase FlexBase is het leermiddelenarrangement voor het bakkersonderwijs in Nederland, waarbij zowel papieren als digitale leermiddelen worden gebruikt. Deze handleiding

Nadere informatie

Handleiding Plesk. Eddy De Bock

Handleiding Plesk. Eddy De Bock Handleiding Plesk Eddy De Bock 1 1 STARTPAGINA Hier krijgt u een samenvattend overzicht van de functies die Plesk u biedt. 2 GEBRUIKERS Hier kan u gebruikers aanmaken, verwijderen en beheren. Onder Gebruikersrollen

Nadere informatie

Cursus Onderwijs en ICT. bloggen met Wordpress

Cursus Onderwijs en ICT. bloggen met Wordpress Cursus Onderwijs en ICT Deel 21 (versie 1.0 NL 27-04-2011) bloggen met Wordpress door Serge de Beer Inleiding Zelf ben ik niet zo n blogger. Niet dat ik het niet heb geprobeerd trouwens. Al regelmatig

Nadere informatie

Howto Subversion. 1. Subversion structuur en uitleg

Howto Subversion. 1. Subversion structuur en uitleg 1. Subversion structuur en uitleg Op de Adwise VDS server staan de repositories die gebruikt kunnen worden. Een subversion repository bevat alle projecten gerelateerd aan de betreffende repository. Adwise

Nadere informatie

5/5 Red Carpet. 5/5.1 Inleiding

5/5 Red Carpet. 5/5.1 Inleiding Management Services 5/5 Red Carpet 5/5.1 Inleiding Met de overname van Ximian is Novell ook eigenaar geworden van de Red Carpet-technologie. Hoewel het aannemelijk is dat het hier een tijdelijke oplossing

Nadere informatie

WordPress-website maken in 1 dag Installatiehandleiding WordPress

WordPress-website maken in 1 dag Installatiehandleiding WordPress WordPress-website maken in 1 dag Installatiehandleiding WordPress Jaap Vink Inleiding Voordat je kunt beginnen met het maken van je website met WordPress moet je eerst WordPress installeren. Dat kan op

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

Content Management Systeem Specifieke modules van het Steenstra CMS 2011

Content Management Systeem Specifieke modules van het Steenstra CMS 2011 Content Management Systeem Specifieke modules van het Steenstra CMS 2011 2. Overzicht en specificering van additionele modules Naast de basis implementatie is het Steenstra CMS systeem uit te breiden met

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

Elektronisch factureren

Elektronisch factureren Elektronisch factureren Inleiding Elektronisch Factureren in RADAR is mogelijk vanaf versie 4.0. Deze module wordt niet standaard meegeleverd met de RADAR Update maar is te bestellen via de afdeling verkoop

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 28, 2014 Inhoudsopgave 1 Achtergronden 1 2 Probleemstelling & Doelstelling 2 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Opmerkingen kan je mailen naar: A. Kouters: A. Steijlen: Versie Datum Opmerkingen

Opmerkingen kan je mailen naar: A. Kouters: A. Steijlen: Versie Datum Opmerkingen Deze handleiding is met de nodige zorg samengesteld. Het kan echter voorkomen dat sommige zaken niet goed of onduidelijk zijn beschreven. Mocht je iets tegenkomen wat niet of slecht is beschreven horen

Nadere informatie

De voordelen van Drupal

De voordelen van Drupal Drupal is een open source Content Management System (CMS). Daarnaast kun je Drupal zien als een framework, dit betekent dat je modules (oftewel mini-applicaties) kunt implementeren in je installatie van

Nadere informatie

MultiSafepay handleiding

MultiSafepay handleiding MultiSafepay handleiding Compatibiliteit: Pakket Versie Shopmodule Versie Geschikt CS-Cart plugin 1.6.0 CS-Cart 3.0.4 v CS-Cart plugin 1.6.0 CS-Cart 3.0.6 v MultiSafepay Payment plug-in voor CS-Cart http://www.multisafepay.com

Nadere informatie

VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09

VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09 VERSLAG BICS INSTRUCTIIEFIILMPJES VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09 Inhoudsopgave Gebruik BICS..blz. 3 Onderzoek naar korte instructiefilms...blz. 3 Onderzoek naar screenrecorders.blz.

Nadere informatie

HANDLEIDING TOOLS4EVER ISUPPORT ONLINE WEBOMGEVING

HANDLEIDING TOOLS4EVER ISUPPORT ONLINE WEBOMGEVING HANDLEIDING TOOLS4EVER ISUPPORT ONLINE WEBOMGEVING Inhoudsopgave 1. Belangrijkste spelregels... 3 2. Contact met tools4ever international support... 4 isupport webomgeving... 4 Eerste maal inloggen...

Nadere informatie

Aan de slag met WordPress

Aan de slag met WordPress Aan de slag met WordPress De complete handleiding om eenvoudig een website online te zetten! In slechts enkele stappen, het is heel makkelijk! Copyright 2004-2013 Antagonist B.V. 1 Inhoudsopgave De complete

Nadere informatie

Beschrijving functioneel en technisch design van de website

Beschrijving functioneel en technisch design van de website Bespreking Punten: Beschrijving functioneel en technisch design van de website Nr. Punt 1 Student 2 Bedrijf 3 Algemene lay out 4 Technologieën 5 Webruimte en datatrafiek 1. Student Registratie Bij de registratie

Nadere informatie

Inhoud Inleiding... 1 Aanbevelingen... 3 Belangrijke instellingen... 4 Zo gebruikt u het systeem... 7 Meer kennis... 15

Inhoud Inleiding... 1 Aanbevelingen... 3 Belangrijke instellingen... 4 Zo gebruikt u het systeem... 7 Meer kennis... 15 Dit is een introductie over het gebruik van het additionele product Mamut Enterprise Klant- en Partner Web. Het gebruik van het systeem wordt beschreven aan de hand van het fictieve voorbeeld van de firma

Nadere informatie

1. Startpagina 1. 2. Gebruikers 1. 3. Mail 2

1. Startpagina 1. 2. Gebruikers 1. 3. Mail 2 Inhoudsopgave 1. Startpagina 1 2. Gebruikers 1 3. Mail 2 3.1 Een nieuwe e-mailbox aanmaken 2 3.2 Een e-mailalias aanmaken 2 3.3 Een e-mailbox/e-mailalias verwijderen 2 3.4 E-mail doorsturen en naar een

Nadere informatie

INSTALLATIE EXCHANGE CONNECTOR

INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR 0 0 HANDLEIDING INSTALLATIE EXCHANGE CONNECTOR INSTALLATIE EXCHANGE CONNECTOR HANDLEIDING datum: 10-08-2018 1 Inleiding... 1 2

Nadere informatie

Werkwijze Licenties Use2Day

Werkwijze Licenties Use2Day Werkwijze Licenties Use2Day Versie: 1.1 Laatste wijziging: 23 december 2008 Website: www.use2day.nl Informatie: Info@Use2Day.nl Copyright: 2008 Use2Day Inhoudsopgave 1 Versiehistorie... 3 2 Algemeen...

Nadere informatie

Koppeling met een database

Koppeling met een database PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt

Nadere informatie

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op 1 Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP.... 8 Joomla installeren op XAMPP... 15 Handige links... 16 2 Disclaimer Bij de samenstelling

Nadere informatie

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB Connect Social Business Plan van Aanpak voor mijn stage bij ConnectSB Joey Kaan September 21, 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren..................

Nadere informatie

Getting started guide

Getting started guide Getting started guide Getting started Guide Gefeliciteerd met uw hosting bij echristenen. Wij zijn blij u te mogen verwelkomen als klant. Deze Getting started Guide helpt u op weg bij het hosten van uw

Nadere informatie

Installatiehandleiding Business Assistent

Installatiehandleiding Business Assistent Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken

Nadere informatie

Handleiding Migratie. Bronboek Professional

Handleiding Migratie. Bronboek Professional Handleiding Migratie Bronboek Professional Laatste wijziging: 25/02/2015 Inhoudsopgave Controles en acties vooraf pag. 1 Installatie en configuratie Microsoft SQL met de Bronboek Helpdesk Tool pag. 3 Migratie

Nadere informatie

Web Presence Builder. Inhoud

Web Presence Builder. Inhoud Web Presence Builder Inhoud Inhoud... 1 Wat is Web Presence Builder?... 2 Het categoriescherm... 2 De eerste stappen naar een eigen website... 3 Onderwerp selecteren en website naam aanpassen... 3 Vooraf

Nadere informatie

Korte uitleg gebruik Jira als bevindingregistratie systeem

Korte uitleg gebruik Jira als bevindingregistratie systeem MEMO Korte uitleg gebruik Jira als bevindingregistratie systeem Aan : Jira gebruikers Datum : 26 juli 2010 Van : Sogeti Jira beheer Versie : 1.1 INLEIDING Deze verkorte uitleg van het gebruik van Jira

Nadere informatie

HANDLEIDING Installatie TESTS 2012

HANDLEIDING Installatie TESTS 2012 HANDLEIDING Installatie TESTS 2012 INHOUDSOPGAVE: Algemeen:... 2 Installatie instructies voor stand-alone computer.. 2 Uitsluitend voor netwerk-installatie.. 6 Client installatie deel 1... 6 Deel 2 netwerkinstallatie:

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

VERENIGINGSWIJZER.NL FINAL DOCUMENT

VERENIGINGSWIJZER.NL FINAL DOCUMENT Vrije Universiteit Amsterdam Faculteit der Exacte Wetenschappen Project Multimedia Peter van Ulden Studentnr. 1494759 VERENIGINGSWIJZER.NL FINAL DOCUMENT INHOUDSOPGAVE 1 Inleiding...3 2 Aanpak & Techniek...4

Nadere informatie

Alfresco Document Management

Alfresco Document Management Pagina 1 van 6 Alfresco Document Management Efficiënter kunnen (samen)werken, altijd en overal kunnen beschikken over de benodigde informatie en geen zorgen hoeven maken over IT en back-up? Lagere kosten

Nadere informatie

uziconnect Installatiehandleiding

uziconnect Installatiehandleiding uziconnect Installatiehandleiding VANAD Enovation is een handelsnaam van ENOVATION B.V. Alle rechten voorbehouden. Niets uit deze uitgave mag worden openbaar gemaakt of verveelvoudigd, opgeslagen in een

Nadere informatie

Handleiding Service plans, Customers en Subscriptions aanmaken in Plesk 11

Handleiding Service plans, Customers en Subscriptions aanmaken in Plesk 11 Handleiding Service plans, Customers en Subscriptions aanmaken in Plesk 11 Deze handleiding beschrijft de stappen die je dient te nemen binnen je resellerpakket om een nieuwe klant aan te maken met een

Nadere informatie

Prijslijst 2015. Algemeen. Reparaties. Installaties. Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,-

Prijslijst 2015. Algemeen. Reparaties. Installaties. Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,- Prijslijst 2015 Algemeen Voorrijkosten binnen gemeente Bedum: 5,- Voorrijkosten buiten gemeente Bedum: 20,- Advisering: 10,- per uur. Reparaties Onderzoekskosten: 10,- Reparatiekosten: 10,- Installaties

Nadere informatie

Handleiding DirectAdmin

Handleiding DirectAdmin Handleiding DirectAdmin Heeft uw hostingpakket het control panel DirectAdmin dan leest u in deze sectie hoe u uw pakket kunt beheren. Dat doet u via : http://www.uwdomein.nl:2222. 1 Inloggen Voordat u

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

MyDHL+ Van Non-Corporate naar Corporate

MyDHL+ Van Non-Corporate naar Corporate MyDHL+ Van Non-Corporate naar Corporate Van Non-Corporate naar Corporate In MyDHL+ is het mogelijk om meerdere gebruikers aan uw set-up toe te voegen. Wanneer er bijvoorbeeld meerdere collega s van dezelfde

Nadere informatie

SURFconext Cookbook. Het koppelen van Alfresco aan SURFconext. Versie: 1.0. Datum: 8 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet.

SURFconext Cookbook. Het koppelen van Alfresco aan SURFconext. Versie: 1.0. Datum: 8 december 2013. 030-2 305 305 admin@surfnet.nl www.surfnet. SURFconext Cookbook Het koppelen van Alfresco aan SURFconext Auteur(s): Frank Niesten Versie: 1.0 Datum: 8 december 2013 Radboudkwartier 273 3511 CK Utrecht Postbus 19035 3501 DA Utrecht 030-2 305 305

Nadere informatie

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet. Het installeren van WordPress Nu je een volledig werkende virtuele server hebt is het tijd om er een applicatie op te installeren. We beginnen met de blogtool WordPress. De database De eerste stap is het

Nadere informatie

Handleiding Magento - Yuki

Handleiding Magento - Yuki Handleiding Magento - Yuki www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Yuki. De koppeling zorgt dat voor facturen in Magento automatisch een factuur of

Nadere informatie

PHP-OPDRACHT SITE BOUWEN

PHP-OPDRACHT SITE BOUWEN PHP-OPDRACHT SITE BOUWEN PERIODE 4 LEERJAAR 1 Opleiding: Duur: Applicatieontwikkelaar 1 onderwijsperiode (4-8 weken) Voorkennis: Basiscursus PHP 5.4 Victor Peters (978 90 125 8499 9) Basiscursus XHTML,

Nadere informatie

Gebruikershandleiding E-Zorg Remote Access.

Gebruikershandleiding E-Zorg Remote Access. Gebruikershandleiding E-Zorg Remote Access. Inhoud 1) Inleiding Pagina 2 2) Het token Pagina 2 3) De eerste keer inloggen Pagina 2 4) Terminal Sessions Pagina 5 5) Gebruik vanaf Apple of Linux systemen

Nadere informatie

Installatiehandleiding. Facto minifmis

Installatiehandleiding. Facto minifmis Installatiehandleiding Facto minifmis 1. Installatie Facto MiniFMIS 1.1 Achtergrond Facto MiniFMIS biedt facilitaire organisaties een eenvoudige en gebruikersvriendelijke hulpmiddel bij het uitvoeren van

Nadere informatie

Planbord installatie instructies

Planbord installatie instructies Planbord installatie instructies Uit Comprise Wiki Inhoud 1 Basis installatie 1.1 Installeren 1.1.1 Microsoft Data Access Components 1.2 De eerste keer starten 2 Veelgestelde vragen 2.1 "Network resource

Nadere informatie

Instructies Windows Live Mail Pagina 1

Instructies Windows Live Mail Pagina 1 Instructies Windows Live Mail Pagina 1 Instructies Windows Live Mail Deze handleiding gaat er vanuit dat u al een e-mail account geconfigureerd heeft in Windows Live Mail en we laten zien hoe u de SMTP

Nadere informatie

WordPress in het Kort

WordPress in het Kort WordPress in het Kort Een website maken met Wordpress. In minder dan één uur online! Inclusief installatie van een thema en plugins Alle rechten 2013, Rudy Brinkman, BrinkhostDotCom, http://www.brinkhost.nl

Nadere informatie

Standaard Asta Powerproject Client Versie 12 Installatiedocument v1

Standaard Asta Powerproject Client Versie 12 Installatiedocument v1 Standaard Asta Powerproject Client Versie 12 Installatiedocument v1 4 september 2012 Voor vragen of problemen kunt u contact opnemen via telefoonnummer 030-2729976. Of e-mail naar support@powerproject.nl.

Nadere informatie

1.9.6 Release Notes Verbeteringen en uitbreidingen

1.9.6 Release Notes Verbeteringen en uitbreidingen 1.9.6 Release Notes Verbeteringen en uitbreidingen Februari 2014 Release Versie Item Versie Datum SiteOpMobi Platform (Inclusief SiteOpMobi Service, Control Panel, APIs) 1.9.6 19 februari 2014 2 Inhoudsoverzicht

Nadere informatie

MyDHL+ ProView activeren in MyDHL+

MyDHL+ ProView activeren in MyDHL+ MyDHL+ ProView activeren in MyDHL+ ProView activeren in MyDHL+ In MyDHL+ is het mogelijk om van uw zendingen, die op uw accountnummer zijn aangemaakt, de status te zien. Daarnaast is het ook mogelijk om

Nadere informatie

Connect Social Business

Connect Social Business Connect Social Business Joey Kaan September 2014 Inhoudsopgave 1 Achtergronden 4 2 Probleemstelling & Doelstelling 5 2.1 Leren Professioneel Functioneren.................. 5 2.2 Facebook API leren door

Nadere informatie

MultiSafepay Payment plugin voor VirtueMart Copyright (C) 2011 multisafepay.com INLEIDING

MultiSafepay Payment plugin voor VirtueMart  Copyright (C) 2011 multisafepay.com INLEIDING MultiSafepay Payment plugin voor VirtueMart http://www.multisafepay.com Copyright (C) 2011 multisafepay.com INLEIDING Bedankt voor het downloaden van de MultiSafepay VirtueMart 2.0 plugin. In deze handleiding

Nadere informatie

Denit Handleiding Service plans, Customers en Subscriptions aanmaken in Plesk 11

Denit Handleiding Service plans, Customers en Subscriptions aanmaken in Plesk 11 Denit Handleiding Service plans, Customers en Subscriptions aanmaken in Plesk 11 Deze handleiding beschrijft de stappen die u dient te nemen binnen uw resellerpakket om een nieuwe klant aan te maken met

Nadere informatie

Handleiding Magento - Factuursturen

Handleiding Magento - Factuursturen Handleiding Magento - Factuursturen www.webwinkelfacturen.nl Samenvatting Dit is de handleiding voor de koppeling van Magento naar Factuursturen. De koppeling zorgt dat voor facturen in Magento automatisch

Nadere informatie

Wij de werkzaamheden u het resultaat!

Wij de werkzaamheden u het resultaat! Entersite Design Wij de werkzaamheden u het resultaat! Entersite Design Bloemenlaan 21 2292 DA Wateringen Tel: 0174-220365 Emailadres: info@entersite.nl Internet: www.entersite.nl Inleiding Vele bedrijven

Nadere informatie

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze Over PHP 1.1 Inleiding In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze programmeertaal? En hoe is het ontstaan? Ook leer je welke editors je kunt gebruiken om PHP-scripts te maken en hoe je eenvoudig

Nadere informatie

Dienstbeschrijving Managed Mobile

Dienstbeschrijving Managed Mobile Dienstbeschrijving Managed Mobile Inhoud Dienstbeschrijving Managed Mobile... 1 1. Inleiding... 3 1.1 Introductie... Fout! Bladwijzer niet gedefinieerd. 1.2 Positionering dienst Managed Mobile... 3 1.3

Nadere informatie

Verificatiemethoden voor gebruikers in ELMS 1.1

Verificatiemethoden voor gebruikers in ELMS 1.1 Verificatiemethoden voor gebruikers in ELMS 1.1 2012-12-21 Kivuto Solutions Inc. [VERTROUWELIJK] INHOUDSOPGAVE OVERZICHT...1 VERIFICATIEMETHODEN...2 Geïntegreerde gebruikersverificatie (IUV)...2 Shibboleth

Nadere informatie

Webhosting Online Beginnen met Joomla v1.0

Webhosting Online Beginnen met Joomla v1.0 Webhosting Online Beginnen met Joomla v1.0 1 Inleiding KPN stelt met een abonnement op Webhosting Online Linux gratis het content management systeem Joomla voor u beschikbaar. Dit populaire programma om

Nadere informatie

Dienstbeschrijving IP One Managed Mobile

Dienstbeschrijving IP One Managed Mobile Dienstbeschrijving IP One Managed Mobile Auteur: Marketing Datum: 01-09-2014 Versie: 2.0 Aantal bladen: 11 Nummer: 1029 2 P a g i n a Inhoud 1. Inleiding... 3 1.1 Positionering dienst Managed Mobile...

Nadere informatie

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase Mobiel Datanose Op dit moment is mobiel datanose niet goed gedaan; je krijgt gewoon de site te zien zoals je het te zien krijgt op pc's of laptops. Maar vaak heb je het probleem dat je op je mobiel moet

Nadere informatie

Easyhosting Handleiding Service plans, Customers en Subscriptions aanmaken binnen Plesk 12 voor resellers

Easyhosting Handleiding Service plans, Customers en Subscriptions aanmaken binnen Plesk 12 voor resellers Easyhosting Handleiding Service plans, Customers en Subscriptions aanmaken binnen Plesk 12 voor resellers Deze handleiding beschrijft de stappen die u dient te nemen om binnen uw resellerpakket een nieuwe

Nadere informatie

Is APEX a worthy substitute for Oracle Forms?

Is APEX a worthy substitute for Oracle Forms? your oracle solu+ons partner Is APEX a worthy substitute for Oracle Forms? APEX for mission critical applications: the Groupm business-case By Ronny Boeykens & Stijn Van Raes iadvise o Opgericht in 2004

Nadere informatie

Inhoudsopgave. versie 0.8

Inhoudsopgave. versie 0.8 JOOMLA! INSTALLATIE HANDLEIDING versie 0.8 Inhoudsopgave Stappenplan...3 Inrichten database...4 Configuratiecentrum cpanel...4 Aanmaken van een database gebruiker...5 Aanmaken van een database...6 Gebruiker

Nadere informatie

Installatiehandleiding Business Assistent

Installatiehandleiding Business Assistent Installatiehandleiding Business Assistent Wijzigingsgeschiedenis Versie Datum Omschrijving Status 0.1 25-09-2014 Eerste opzet van het installatie Concept document. 1.0 04-11-2014 Geen: Commercieel maken

Nadere informatie

uziconnect Installatiehandleiding

uziconnect Installatiehandleiding uziconnect Installatiehandleiding VANAD Enovation is een handelsnaam van ENOVATION B.V. Alle rechten voorbehouden. Niets uit deze uitgave mag worden openbaar gemaakt of verveelvoudigd, opgeslagen in een

Nadere informatie

Mamut Business Software. Introductie. Mamut Enterprise Klant- en Partner Web

Mamut Business Software. Introductie. Mamut Enterprise Klant- en Partner Web Mamut Business Software Introductie Mamut Enterprise Klant- en Partner Web Introductie in uitbreiding van Mamut Enterprise System Mamut Enterprise Klant- en Partner Web Versjon: 12 Innhoud KLANT- EN PARTNER

Nadere informatie

Handleiding Controlepaneel Parallels

Handleiding Controlepaneel Parallels Handleiding Controlepaneel Parallels Inhoudsopgave 1 Inloggen... 3 2 Domeinbeheer... 4 2.1 Beheer van domeinen die via InterNLnet geregistreerd zijn... 4 2.2 Beheer van domeinen die via een andere provider

Nadere informatie

Die vraag krijg ik regelmatig. De meest voorkomende situaties zijn deze:

Die vraag krijg ik regelmatig. De meest voorkomende situaties zijn deze: Hoe verhuis je een WordPress website? Die vraag krijg ik regelmatig. De meest voorkomende situaties zijn deze: Iemand heeft een WordPress website en stapt over naar een andere webhost (meestal blijft het

Nadere informatie

Deze FAQ is enkel van toepassing op hostings besteld na 23/6/2010

Deze FAQ is enkel van toepassing op hostings besteld na 23/6/2010 Webhosting FAQ Deze FAQ is enkel van toepassing op hostings besteld na 23/6/2010 1 2 Hoe krijg ik toegang tot mijn Webhosting controle paneel?...2 Hoe migreer ik mijn account van een Linux naar Windows

Nadere informatie

Handleiding Webhosting Online Linux

Handleiding Webhosting Online Linux Handleiding Webhosting Online Linux April 2015 2015 Copyright KPN Zakelijke Markt Alle rechten voorbehouden. Zonder voorafgaande schriftelijke toestemming van KPN Zakelijke Markt mag niets uit dit document

Nadere informatie

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant Handleiding CMS Auteur: J. Bijl Coldfusion Consultant Inhoudsopgave 1.0 Inleiding 3 2.0 Introductie CMS en websites 4 3.0 Inloggen in beheer 5 4.0 Dashboard 6 4.1 Bezoekers totalen 6 4.2 Bezoekers 7 4.3

Nadere informatie

Webdesign voor ondernemers

Webdesign voor ondernemers e-boek Webdesign voor ondernemers Veelgestelde vragen over het laten maken van een website Bart van den Bosch Inhoud 1. Zelf doen of uitbesteden? 4 2. Webdesigners 7 3. Wat is Wordpress 10 4. Maken van

Nadere informatie

Hoe stel ik mijn favorieten en wachtwoorden veilig met LastPass en Xmarks?

Hoe stel ik mijn favorieten en wachtwoorden veilig met LastPass en Xmarks? Hoe stel ik mijn favorieten en wachtwoorden veilig met LastPass en Xmarks? Handleiding van Auteur: Jan Stedehouder Februari 2012 Hoeveel favorieten heb je in de webbrowser opgeslagen? En wachtwoorden?

Nadere informatie

Snel op weg met e.dentifier2

Snel op weg met e.dentifier2 Snel op weg met e.dentifier2 U kunt uw e.dentifier2 gekoppeld of los gebruiken. De verschillen tussen beide methoden leggen we hier uit. Ook vindt u hier antwoord op de veelgestelde vragen. Gekoppeld gebruik

Nadere informatie

Plan van aanpak 2006. Door: Jeroen Corsius en Mitchell Diels. GameShop

Plan van aanpak 2006. Door: Jeroen Corsius en Mitchell Diels. GameShop Plan van aanpak 2006 Door: Jeroen Corsius en Mitchell Diels GameShop 1. Inhoudsopgave 1. Inhoudsopgave blz. 2. Achtergronden 3. Projectopdracht 4. Projectactiviteiten 5. Projectgrenzen en Randvoorwaarden

Nadere informatie

Advertentiewereld Dé advertentiesite voor regio s en groepen

Advertentiewereld Dé advertentiesite voor regio s en groepen Advertentiewereld Dé advertentiesite voor regio s en groepen Beheer uw eigen site, en bepaal eigen regels, voor een regio of specifieke groep op het domein van Advertentiewereld.com Copyright 2014 Advertentiewereld.com

Nadere informatie

Handleiding Website wijzigingen Versie juni 2015

Handleiding Website wijzigingen Versie juni 2015 Handleiding Website wijzigingen Versie juni 2015 Inhoudsopgave Hoofdstuk 1. Inleiding 3 1.1 Mijn Bedrijf Online 3 Hoofdstuk 2. Webhosting Online Linux 4 2.1 U hebt een website opgebouwd zonder tooling

Nadere informatie

SAMENVATTING ERVARING. Programmeur, All-In-Media Delden, Overijssel 2012-heden. Winkelmedewerker, Dirk van den Broek Delden, Overijssel 2009-2012

SAMENVATTING ERVARING. Programmeur, All-In-Media Delden, Overijssel 2012-heden. Winkelmedewerker, Dirk van den Broek Delden, Overijssel 2009-2012 Roy Spoolder Vossenbrinkweg 54 7491 DE, Delden 074 376 4143 063 630 2979 roy-spoolder@live.nl royspoolder.nl kieknwatwordt.nl SAMENVATTING Als kleine jongen al geobsedeerd door computers en andere techniek.

Nadere informatie