ItsClean Webtoepassing De Stromen Services AaRiverside B.V. Versie 1.0, juni 2009 1
2
Introductie De webtoepassing heeft als doel om clienten van de Stromen Services informatie te verschaffen omtrent de aangeboden dienstverlening en om berichten met de serviceorganisatie uit te wisselen. Er is gekozen voor een online-realtime applicatie, de MySQL database moet derhalve via het Internet bereikbaar zijn. De webtoepassing is in zijn geheel gebaseerd op open-source hulpmiddelen : de MySQLdatabase als leidende informatiebron (www.mysql.com), de Apache-webserver als coordinator van de informatiestromen (www.apache.org), PHP als programmeertaal (www.php.net) en CodeIgniter als raamwerk voor de programma-ontwikkeling (www.codeigniter.com). Het operating platform is bij voorkeur Linux maar Windows is niet uitgesloten. Het UI (User Interface) is getest met Internet Explorer 7.0 van Microsoft, Chrome 1.0 van Google, Firefox 3.0 van de Mozilla Foundation, Opera 9.6 van Opera Software en Safari 3.2 van Apple Incorporated. Er is uitsluitend gebruik gemaakt van basis HTML- en CSS-faciliteiten en een beperkte hoeveelheid JavaScripting. Er zijn geen browser-specifieke faciliteiten toegepast. Bij de ontwikkeling is gebruik gemaakt van het CodeIgniter raamwerk omdat dit een slanke en pragmatische implementatie van de MVC ontwerpmethode op basis van de PHPprogrammeertaal is. MVC staat voor Model-View-Controller : bij een softwaretoepassing worden deze drie zaken zo strict als mogelijk gescheiden : het Model voor alle bewerkingen van de basisinformatie (de database), de View voor de verzorging van het User Interface (de visuele windows) en de Controller voor de besturing van het geheel. Bij een juiste toepassing van de methode worden de bouw en het onderhoud van de software sterk vereenvoudigd en zal de betrouwbaarheid van de software toenemen. Voor het traceren van problemen m.b.t. het serverbezoek en voor statistische doeleinden is het belangrijk te weten dat elk bezoek van een client in de database wordt vastgelegd onder vermelding van gebruikerscode, naam, datum en tijd van bezoek, IP-adres van de gebruiker en de toegepaste browser. Via te standaardiseren queries kan deze informatie opgevraagd worden. Voordat de webtoepassing gebruikt kan worden moet de software op de webserver geinstalleerd worden en moeten enkele parameters ingesteld worden. Op de database-server moeten ook enkele zaken voorbereid worden : de server moet toegankelijk gemaakt worden voor het Internet en in ItsClean moeten enige parameters ingesteld worden. 3
Voorbereidingen servers De lokale database-server moet toegankelijk gemaakt worden voor de webtoepassing : poort 3306 (MySQL) moet via de router van het lokale netwerk opengezet worden. Bij voorkeur door voor de buitenwereld een ongebruikelijk nummer toe te passen b.v. 34876 (niet hoger dan 65535). Op de webserver moet op de gebruikelijke wijze de webtoepassing geinstalleerd worden en moeten vervolgens enkele parameters geconfigureerd worden. In config.php : base_url : attentie voor de laatste backslash zoals in : http:/havelt.aariverside.com/ sess_expiration : 1800 (30 minuten) sess_time_to_update : idem css : mystyles.css wintitle : Welkom bij de Stromen informatieservice (o.i.d., titelbalk van de browser) helpdesk : Email-adres van de helpdesk In database.php : hostname : Internetnaam/adres met het geconfigureerde poortnummer username : zoals lokaal geconfigureerd password : idem database : itsclean_data In routes.php : default_controller : itsclean In php.ini en/of httpd.conf (Apache) eventuele parameters voor mail Op een Linux-server met Apache zal het toegangspad naar de configuratiebestanden van een CodeIgniter-applicatie meestal zijn (vanaf de web-root) :...web/system/application/config/... 4
Voorbereidingen AaRelatie en ItsClean De webtoepassing werkt op basis van de standaard database van o.a. AaRelatie en ItsClean. In de tabellen van AaRelatie moet de volgende informatie voorbereid zijn of worden : een MySQL-user t.b.v. toegang door de webserver (bij voorkeur met beperkte toegangsrechten) Email-adressen van de groepsleiders in de tabel met projectgroepen met Onderhoud tabellen ItsClean (parameter email= ) de contactsoort web1, web2 en web3 voor vragen resp. opmerkingen resp. klachten binnen de webtoepassing velden Login en Wachtwoord van de clienten elke in aanmerking komen voor de webtoepassing (eventueel te automatiseren door een MySQL-query) velden Txt02 en Txt03 van de tabel relmain voor de indicatiestelling resp. de woonsituatie van de client de parameter alm2 voor de methode van Email-verzending de parameter alm3 voor de structuur van het uitgaande Email-bericht In de tabellen van ItsClean moet de volgende informatie voorbereid zijn of worden : de tekst met code webg voor de wegpage met Veelgestelde vragen ( Onderhoud tabellen ItsClean ) veld Extra02 van de tabel clnproject voor het schoonmaakprogramma screenen van de rubriek Bontekst van de werkopdrachten; deze rubriek wordt als opmerkingen bij de lijst met dienstverlening toegepast Voorbeeld van een query om login en wachtwoord automatisch in te voeren (relatiesleutel als login en een combinatie van postcode en record-id als initieel wachtwoord; deze worden in het voorbeeld alleen aangebracht als er sprake is van actieve projecten) : UPDATE relmain SET weblogin=relkey,webwachtwoord=concat(replace(postcode,, ),id) WHERE id IN (SELECT jobid FROM clnproject WHERE status=0); Voorbeeld van een query om het veld Extra02 in het projectrecord automatisch te vullen (RichText komt uit tabel clntekst ) : UPDATE clnproject SET extra02= (SELECT tekst FROM clntekst WHERE id= hulp ) WHERE status=0; 5
Login, wijzigen wachtwoord en logout Na het adresseren van de website zal het inlogvenster gepresenteerd worden : of Bovenstaande foutmelding wordt gegeven indien inlogcode en/of wachtwoord niet correct zijn of niet ingevuld zijn. Bij het inloggen wordt gebruik gemaakt van de velden WebLogin en WebWachtwoord uit de tabel relmain. Geadviseerd wordt om deze velden initieel te vullen met de relatiesleutel, deze is uniek binnen de tabel. De backoffice-toepassing zal controleren op uniciteit. 6
Indien inlogcode en wachtwoord gelijk zijn (de geadviseerde initiële situatie) wordt de gebruiker gevraagd om het wachtwoord aan te passen. De gebruiker kan ook zelf kiezen voor het wijzigen van het wachtwoord (keuze 8). Er kunnen een aantal foutmeldingen getoond worden : Wachtwoord moet ingevuld worden Spaties in dit wachtwoord zijn niet toegestaan Wachtwoord moet uit minimaal 6 tekens bestaan Ingevoerde wachtwoorden zijn niet gelijk Wachtwoord mag niet gelijk zijn aan inlogcode 7
Na het correct inloggen of wijzigen van het wachtwoord wordt het basisvenster met de actuele diensten getoond (zie volgende bladzijde). Vanaf het basisvenster kan uitgelogd worden met als resultaat : 8
Basisvenster en tonen diensten Na het inloggen en na afhandeling van de meeste andere dialogen wordt het venster met de basisinformatie en keuzemogelijkheden getoond. Automatisch worden de actuele diensten getoond : Het bovenste deel van het venster t/m Afmelden (uitloggen) is het basisvenster van nagenoeg alle dialogen. Het deel daaronder hangt af van de gekozen functie. Na het inloggen en diverse andere deelfuncties wordt automatisch de tabel met de geplande dienstverlening (werkopdrachten) van de komende 13 weken getoond of de mededeling : Wij hebben voor u geen dienstverlening ingepland Bij de keuze Bekijk actuele diensten wordt dit scherm ook getoond, bij Bekijk alle diensten worden alle werkopdrachten van zowel het afgelopen als het komende jaar (voor zover beschikbaar) getoond. 9
Schoonmaakprogramma Het schoonmaakprogramma is een tekstrubriek welke, desgewenst in RTF-formaat, vastgelegd kan worden bij het project, behorende bij de client. De richtext zal vertolkt worden naar HTML en getoond in het volgende venster : Indien deze tekstrubriek niet is ingevuld volgt de melding : Wij hebben voor u geen specifiek schoonmaakprogramma geregistreerd 10
Berichtenverkeer De werkwijze van het berichtenverkeer tussen client en helpdesk is de volgende : de client formuleert een vraag, opmerking of klacht aan de helpdesk welke in de database van AaRelatie wordt opgenomen met de status reageren ; er wordt automatisch een Email verzonden naar de helpdesk de helpdesk ontvangt het bericht, formuleert een reactie aan de client via AaRelatie waarbij automatisch een Email naar de klant verzonden wordt; de status in de database wordt gereageerd de client bekijkt het nieuwe bericht via de webtoepassing en bevestigt de ontvangst; de status wordt afgewerkt Het nieuwe bericht wordt door de client via dit venster aangemaakt : Er kunnen een aantal foutmeldingen getoond worden : Onderwerp moet ingevuld worden Notitie moet ingevuld worden 11
Er wordt automatisch een Email met vermelding van de client, het soort bericht, het onderwerp en de inhoud van de notitie naar de helpdesk en de groepsleider (indien bekend) verzonden. De client krijgt onmiddelijk een bevestiging van de webtoepassing : Het bericht wordt direct opgenomen in de lijst met berichten en kan opgevraagd worden met Bekijk alle berichten : De lijst met berichten is in principe onbeperkt maar wordt uit praktische overwegingen afgeknepen op berichten niet ouder dan één jaar. 12
De helpdesk kan de nieuwe berichten in eerste instantie monitoren met de functie Reactielijst van AaRelatie. Van daaruit kan een antwoord geformuleerd worden en kan verder worden doorverwezen naar het relatiebeheer. Als de helpdesk een reactie via AaRelatie heeft geformuleerd zal automatisch een Email aan de client geformuleerd worden : De gehele Email wordt automatisch opgemaakt aan de hand van de bekende gegevens van de client, het door de client geformuleerde bericht en door de helpdesk gegeven reactie. De opmaak in de body van de Email en de methode van verzenden worden bepaald door parameters in AaRelatie. Vóór verzending kan het bericht nog handmatig bewerkt worden. Het deel van de Email dat automatisch is opgemaakt wordt als zodanig opgenomen in de contacten-tabel van AaRelatie met als code mail. 13
Het bericht krijgt een nieuwe status en de client kan de reactie (of reacties) opvragen met Bekijk nieuwe berichten : Indien de client bevestigt de berichten gelezen te hebben wordt de status van die berichten gewijzigd in afgewerkt en zal de client, zodra onmiddelijk hierna deze functie weer wordt aangeroepen de volgende melding gegeven worden : Er zijn geen nieuwe berichten voor u geregistreerd Indien er geen bevestiging volgt kan de helpdesk na verloop van tijd de gewenste status via AaRelatie zelf instellen. 14
Wijzig clientgegevens De client wordt de mogelijkheid geboden om een beperkt aantal basisgegevens zelf te modificeren : De webtoepassing presenteert als bevestiging het volgende venster : Voor de helpdesk en de groepsleider (indien bekend) wordt automatisch een Email verzonden met de wijzigingen onder vermelding van nieuwe en oude rubrieksinhoud. 15
Veelgestelde vragen Het betreft hier dynamische inhoud. De body van het venster wordt gevuld met HTML-tekst welke in de teksttabel van AaRelatie is vastgelegd : De code van de teksttabel is webg. In dit tekstrecord kan HTML-tekst ingevoerd worden welke nagenoeg zonder modificaties aan de webbrowser wordt aangeboden. Om te vermijden dat bij HREF's uitgebreide URL's moeten worden ingevoerd (bijvoorbeeld zoals in HREF= http://www.aaaaaa.nl/index.php/hulp#onder ) kan dit verkort worden met een dubbele ## ; op de server zal de eerste # vervangen worden door de actuele URL. 16