Testondersteuning in frameworks voor webapplicaties

Maat: px
Weergave met pagina beginnen:

Download "Testondersteuning in frameworks voor webapplicaties"

Transcriptie

1 Testondersteuningin frameworksvoorwebapplicaties MirkovanEde( ) NijmeegsInstituutvoorInformaticaenInformatiekunde RadboudUniversiteitNijmegen Versie:1.1,11februari2009 Omvang:3ects

2 Samenvatting Frameworkszijneenveelgebruiktebasisvoorhetbouwenvaneenwebapplicatie. Omdatdezeapplicatiesooksteedsbedrijfskritischerworden,ishetvanbelangdat zijgoedgetestkunnenworden.daaromisdematewaarineenframeworkdaar ondersteuningvoorbiedteenbelangrijkgegeven. Omdaterzoveelwebframeworkszijn,isinditonderzoekgekekennaarslechtsdrie, populaire,frameworks:cakephp,djangoenrubyonrails.dezedrieraamwerken zijngeanalyseerdopdematevanondersteuningdiezijbiedenophetgebiedvan testen.desoortentestsdieindezeanalysezijnonderzochtzijneenverzameling vandemeestessentiëlesoortenblack ofgrayboxtestsdieuitgevoerdkunnen worden. Alleframeworksbiedeninruimemateondersteuningvoordezelfdesoortentests. Zowelmodel basedtestingalscapture and playbacktestswordendoorgeenenkel frameworkondersteunt.degrootsteverschillentredenopbijdemogelijkhedentot analyserenvandeoutputdienaardebrowsergaat.daarbijhebbencakephpen RubyonRailseenvoorsprongopDjango. 2

3 Inhoudsopgave Testondersteuninginframeworksvoorwebapplicaties... 1 Samenvatting... 2 Inhoudsopgave... 3 H1.Inleiding... 4 Inleiding...4 Documentstructuur...4 H2.Probleemstellingenrelevantie... 5 Kwaliteitvansoftware...5 Manierenvantesten...5 Frameworksvoorwebapplicaties...6 Onderzoeksvraagendeelvragen...7 H3.Typesoftwaretests... 8 Inleiding...8 Inventarisatie...8 Conclusie...10 H4.Frameworksvoorwebapplicaties...11 Inleiding...11 CakePHP...11 RubyonRails...13 Django...15 Features...16 Conclusie...17 H5.Vergelijkingoptestondersteuningvandeframeworks...18 Inleiding...18 Testondersteuning...18 Toelichtingopderesultaattabel...19 Conclusie...24 H6.Conclusie...26 Conclusie...26 Reflectieenaanbevelingen...26 H7.Bibliografie

4 H1. Inleiding Inleiding Ominzichttegevenwaaromditonderzoekwordtuitgevoerdenwathetbelang ervanis,beschrijftdithoofdstukhetprojectkadervandezebachelorthesis. Testeniseenbelangrijkonderdeelvanallemodernesoftware ontwikkelingsmethodesenhetbelangervanwordtdooriedereenwordt onderschreven,hoewelhetechterookeenonderdeelisdatervaak,vanwegetijd ofgeldgebrekalseerstebijinschiet. Eenanderbekendfenomeenisdatwebapplicaties,applicatiesdieviahetinternet gebruiktworden,steedsgroter,complexerenookbedrijfskritischerworden.dat betekentdusdathetvansteedsgroterbelangwordtomdezeapplicatiesop grondigeengestructureerdewijzetetesten. Omdatbijhetbouwenvandezewebapplicaties,zekerwanneerhetgroteen complexeapplicatiesbetreft,bijnaaltijdframeworkswordeningezet,ishetdusvan belangdatdezeframeworksondersteuningbiedenvoorhettestenvandecodeen programmatuurdiehieringemaaktworden. Ditonderzoekzaldaaromkijkennaardetestondersteuningdiedergelijke frameworksvoorwebapplicatiesbieden. Documentstructuur Inheteerstehoofdstukvandezescriptiezalhetprobleemuitdedoekenworden gedaanenaangegevenwordenwatderelevantievanhetprobleemis.daaruitzal deonderzoeksvraagvolgenendedeelvragendienodigzijnomdeze onderzoeksvraagtebeantwoorden. Dehoofdstukken3,4en5zullenvervolgensderesultatentonendieresulterenuit hetonderzoeknaardedrieopgesteldedeelvragen.daarnaastzalperhoofdstuk eenkleineconclusieoverdedeelvraagwordengetrokken,alsmedeeenstukje reflectieopderesultaten. Hetlaatstehoofdstukbevatvervolgensdeconclusievanditonderzoek,waarmee deonderzoeksvraagbeantwoordis.ookzalindithoofdstukkortworden aangegevenofenwelkvervolgonderzoekereventueelgedaankanworden. 4

5 H2. Probleemstellingenrelevantie Kwaliteitvansoftware Nietalleenistesteneenonderdeelvanallerecentesoftewareontwikkelingsmethodes,inspeciaalvoorsoftwareopgesteldekwaliteitsmodellen neemtheteenbelangrijkeplaatsin.demodellenvanmccall(cavano & McCall, 1978),origineelopgesteldvoordeUSAirforceenbedoeldomtebemiddelentussen ontwikkelaarsengebruikers,enboehm(boehm, Brown, & Kaspar, 1978)zijn algemeengeaccepteerdenzienrespectievelijkeralsvolgtuit (Woolderink, 2007): Afbeelding1:KwaliteitsmodelvanMcCall(links)enBoehm Zoalstezien,ruimenbeidemodelleneenaparteplekinvoordetestabilityvande softwareenonderkendendaarmee,allanggeleden,hetbelangvantestenvoorde kwaliteitvansoftware.ookhet modernere,deeersteversiestamtuit1991,de meestrecenteuit2001,standaardkwaliteitsmodelvoorsoftware,iso9126(iso, 2001),datisgebaseerdopdemodellenvanMcCallenBoehmenaangepastaande behoeftesenervaringenmetdiemodellen,laatziendathettestenvansoftware eenbelangrijkeplaatsinneemtomtekomentoteenkwaliteitsproduct. Manierenvantesten Erzijnveelaspectenwaaropsoftwaregetestkanworden:hoesnelishetsysteem (performance),hoeintensiefkanhetgebruiktworden(stress),hoegaathet systeemommetonverwachtgedragzoalsverkeerdeinputvangebruikers (robustness),hoeveiligishetsysteem(security),etcetera.waarweindezescriptie naarzullenkijken,ishetfunctioneeltesten,waarbijergetestwordtofhet programmavoldoetaandefunctioneleeisendieerzijnopgesteld,ookwel conformancetestinggenoemd. 5

6 Jekuntonderscheidmakentussenverschillendemanierenvantesten.Allereerstis erhetverschiltussenstatischendynamischtesten.statischtestenwordtgedaan zonderdecodedaadwerkelijkuittevoeren,zoalsbijvoorbeeldeencompilerdoet. Bijdynamischetestenwordtdeprogrammacodeweluitgevoerd.Tijdensdeze scriptiezullenwealleenkijkennaardeondersteuningvoordynamischtesten. Eenanderveelgemaaktonderscheidishetverschiltussenwhiteboxenblackbox testen.bijblackboxtestenwordthettetestenobjectgezienalseenzwartedoos, waarietsingaatenweeruitkomt.bijwhiteboxtestenheeftmendebeschikking overdeprogrammacodeengebruiktmendieomtetesten.erzijnnatuurlijkvele combinatiesmogelijk,greyboxtestengenoemd,bijvoorbeeldwanneermenweet uitwelkemoduleseensysteemisopgebouwd,maardemodulesweleenblackbox zijn. Samenvattendzullenwehetindezescriptiealleenhebbenoverdynamischblack engreyboxtesten. Frameworksvoorwebapplicaties Eenanderbekendfenomeenisdatertegenwoordigmeerenmeer,vaak bedrijfskritische,applicatieswordenontwikkelddievolledigwebbasedzijn. PopulairetalenvoorditsoortapplicatieszijnonderandereJava,Microsoft s.net talen,python,rubyenphp. Vanwegedegroteverscheidenheidaantalenbeschikbaarzijnvoorwebapplicaties, zullenwedescopebeperkentotdeopensourcetalenphp,ruby,eneventueel PythonenJava. Vooraldezetalenzijnbestaanframeworks,diehetdeontwikkelaarmakkelijker maken,zorgenvoorgestructureerde,gelaagdecodeendaaromveelgebruikt wordenbijhetontwikkelenvanwebapplicaties.bekendeframeworkszijn bijvoorbeeldrubyonrailsvoorruby,djangovoorpython,strutsenspringvoor JavaenSymphony,,hetZendframeworkenCakePHPvoorPHP. Vanwegedebeperkteomvangvanditonderzoekenhetgroteaantalframeworks datervoorsommigetalenbeschikbaaris,zullenwetweeraamwerkenbekijken. AllereerstisdatCakePHP,zoalsdenaamaldoetvermoedenisditeenPHP frameworkenwekiezendezeomdatphpeenzeerpopulairetaalisvoor webapplicatiesencakephpdaarbinnenéénvandegrotereframeworksis.het tweedeframeworkdatwezullenbekijkenisrubyonrails,voorde programmeertaalrubyentevensergpopulair. Omdatwebapplicatiesgroter,bedrijfkritischencomplexerworden,ishetvan grootbelangdatdezecodevanhogekwaliteitenduseengoedtestbaaris.veelvan dezeframeworkshebbeninmeerofminderemateondersteuningingebouwdvoor hetontwerpenenuitvoerenvantests.devraagisofdezespecifieke testondersteuningzorgtvoorgoedetestsvansoftwarediegeschrevenisindeze frameworks.deconcretevraagstellingdiewekunnenformulerenis: 6

7 Welkeondersteuningvoortestenbiedendeveelgebruikteframeworksvoor webapplicaties? Onderzoeksvraagendeelvragen Omdeonderzoeksvraagtekunnenbeantwoorden,isdevolgendekennisnodig: A. Watvoortypetestskunnenweonderscheidenbinnendeaangegeven criteria? B. Hoezijndegeselecteerdeframeworksopgebouwd? C. Welkevandesoortentestswordendoordegeselecteerdeframeworks ondersteund? OnderzoeknaarhetantwoordopdeelvraagAzalgedaanwordendoormiddelvan literatuuronderzoek. HetantwoordopdeelvraagBzalgeschiedendoormiddelvanliteratuuronderzoek. HetantwoordopdeelvraagCzalwordendeelsgezochtmoetenwordenin documentatieendeelsdoorhetmakenvanvoorbeeldendielatenzienhoedeeisen enrandvoorwaarden,zoalsgevondenbijdeelvraaga,geïmplementeerdkunnen worden. Hetcombinerenvandeantwoordenopdedeelvragenverschaftonsvervolgens eeninzichtindematevantestondersteuningvandezeframeworks. 7

8 H3. Typesoftwaretests Inleiding Dithoofdstukbeschrijfteeninventarisatievanmogelijkesoortentestsdiede frameworkszoudenkunnenondersteunen,binnendekadersdiegesteldzijnin hoofdstuk2.vanelketypetestzaleenkorteomschrijvingwordengegeven. Dezeinventarisatieistotstandgekomendoormiddelvaneenliteratuuronderzoek enhetnagaanvanbestpracticesophetgebiedvansoftwareontwikkelingmet behulpvanwebframeworks.delijstmetsoortentestsdiedithoofdstukoplevert, zalwordengebruiktvoorhetvergelijkenvandetestondersteuningvande geselecteerdeframeworks. Inventarisatie Handmatigtesten Hetsysteemondersteunthethandmatiguitvoerenvantests,bijvoorbeeldviade commandline. Captureandplayback Hettestsysteemonthouddehandmatiguitgevoerdetestsenkandieopeenlater herhalen. Codecoverageanalyse Alhoewelditgeenblackboxtestis,isdecodecoverageanalyseeenveelgebruikte testentevenseenindicatieofdeopgesteldetestsuitedecodedekt. Doctests Testcasesdieindedocumentatiewordengeschrevenvaneenmethodeoffunctie. Dezekunnendangeautomatiseerdallemaaluitgevoerdworden.Hiermeekandus uitsluitenddewerkingvandefunctieopzichwordengetest,nietdeinteractiemet anderemethodesbinnendeunit. Geautomatiseerdeunittests Unittestswordengebaseerdopvantevorenvastgesteldeinput,eventueel ondersteuntdoorzogenaamdefixtures.daarnakunnenzegeautomatiseerd, uitgevoerdworden.unittestswordenuitgevoerdophetniveauvanhetmodel. Verderishetinteressantwelkeoptiesergebodenwordenomdezeunittestsinte richten: Fixtures;herbruikaredefinitiesvandetestdata,waardoordezedoor meerderetestgebruiktkanworden. Mockobjects;hetsimulerenvanobjectenwaarhettetestenobjectvan afhankelijkis. 8

9 Geautomatiseerdefunctioneletests Ookfunctioneletestsmakenmeestalgebruikvanfixtures.Integenstellingtotde unittest,wordthierechternietslechtséénmodelgetest,maareencompleet requestuitgevoerdomtezienofdathetverwachteresultaatoplevert. Binnendefunctioneletests,zullenwekijkennaardevolgendeopties: Databasewijzigingen;ishetmogelijkomnahetuitvoerenvaneen functioneletestteanalyserenoferwijzigingenindedatabasezijn aangebracht? HTTPHeaders;ishetmogelijkdeHTPPheadersteanalyseren? Viewvariabelen/objecten;omdatwehethierhebbenovertestsop controller niveau,ishetmogelijkomtezienwelkedataeraandeview doorgegevenwordt? Authenticatie;kandetestzichauthenticerenalseenbepaaldegebruiker tijdenshetuitvoerenvandetest? Webtests Omdatweinditonderzoekspecifiekkijkennaarframeworksvoorwebapplicaties, ishetookinteressantomtezienoferspecifiekeondersteuningwordtgeboden voorditplatform.wezullendevolgendeoptiesonderscheiden: GETrequests;hetsimulerenvanHTTPGETrequests. POSTrequests;hetsimulerenvanHTTPPOSTrequests,onderandere bruikbaarvoorhettestenvanformulieren. Bestandsuploads:simulerenvanbestandsuploads. HTTPHeaders;ishetmogelijkdeHTPPheadersteanalyseren? HTTPredirects:kunnenHTTP redirectsgevolgdworden? Viewvariabelen/objecten;ishetmogelijkomtezienwelkedataervande controlleraandeviewisdoorgegeven? Outputtest:controlerenofdeHTMLoutputis,zoalsverwachtwerd, eventueelgecombineerdmeteenparseromtezienofdeoutputgeldige (X)HTMLoplevert. Cookieondersteuning:hetcorrectafhandelenvandecookieszoalsdiedoor deapplicatiegebruiktworden. Interface/inbrowsertests Geautomatiseerdtestenvandeinterfacemiddelsdebrowser,volgenshetcapture andplaybackprincipe,zodatdetestsherhaaldkunnenworden.daarbijkunnenwe kijkenofdezetestsbrowseronafhankelijkzijn,ietswatmetnamebijdeinterface vaneenwebapplicatienogaleenstruikelpuntkanzijn. Model basedtesting Hetvolledigkunnenspecificerenvanhetgedragvandewebapplicatie,zodathet testsysteemautomatischzijneigentestcaseskanafleidenomdeapplicatievolledig tetesten. 9

10 Conclusie Dithoofdstukheefteenlijstopgeleverdmetbasisoptiesdieeenframeworkkan ondersteunenophetgebiedvanhettestenvandecodeenbeantwoorddaarmee deelvraaga: Watvoortypetestskunnenweonderscheidenbinnendeaangegeven criteria? Dezeoptiesvoldoenallemaalaandeeisenzoalswedieeraangesteldhebbenin hoofdstuk2,namelijkdathetdynamisch,grey enblackboxtestenzijn.erzijnnog welmeeroptiestebedenkendieeenframeworkookkanondersteunenenhetis eensubjectiefoordeelofeenbepaaldeoptieeenstandaardoptiebehoorttezijn.ik denkechterdatdezelijstvrijcompleetis,enhetontbrekenvanbepaaldeoptiesin dezelijstzalookgeenfundamenteelverschilmakenvoorhetvervolgvanhet onderzoek.eventueelvervolgonderzoekkanmeeroptiesmeenemeninhet eindoordeel. 10

11 H4. Frameworksvoorwebapplicaties Inleiding Dithoofdstukbeschrijftdeselectievanframeworksdiewezullengebruikeninde restvanditonderzoek.vandegeselecteerderaamwerkenzaleenkorte beschrijvingwordengegeven,waarbijergekekenwordtnaardealgemene werkingvanhetframeworkaangevuldmeteenkortoverzichtvandefeaturesdie hetframeworkbiedt.hiermeewordtzaldeelvraagbbeantwoordworden: Hoezijndegeselecteerdeframeworksopgebouwd? CakePHP CakePHPiseenobject georiënteerd,opensourcerapid developmentframework(cake, 2001)geschreveninenvoor degeïnterpreteerde,imperatieveprogrammeertaalphp (PHPGroup).CakePHPisgestoeldophetdesignpattern Model View Controller(kortwegMVC,datgeïntroduceerd werddoorsmalltalk)endwingtdeontwikkelaarsomhun applicatieoptedelenindriedelen.dezedriedelenhebben elkhuneigenverantwoordelijkheden: Hetmodel;representeertdedatawaaropdeapplicatiewerkt.Tussendemodels kunnenverschillendetyperelatiesbestaan.typischwordtdezedatauiteindelijk opgeslagenineendatabase.hetmodelbevatdebusinesslogicavandeapplicatieen opslagenbewerkenvandedataverlooptviademodels. Deview;verzorgtdepresentatievandedata.Voorwebapplicatieszijndatmeestal webpagina s,maaraanandererepresentaties,zoalsxmlofeenpdf document, valtooktedenken.deviewdoetgeenbewerkingenopdedata. Decontroller,verwerktdebinnenkomendeverzoeken(events).Dezezijnmeestal afkomstigvanhandelingenvandegebruikers,maarzoudenevenzogoedop anderemanieren(bijvoorbeeldviaeensoapinterface)binnenkunnenkomen.de controllervoertookapplicatie logicauit,zoalsbijvoorbeelddeautorisatie.een typischmvc requestzieteralsvolguit(cake, 2001): 11

12 Afbeelding2:MVCrequest 1. Vanafdeclientkomtereenverzoek 2. DeCakePHPdispatcherbekijkthetverzoekenstuurthetdoornaarde correctecontroller. 3. Decontrollervoertzijntakenuit,bijvoorbeeldauthentificatieenautorisatie vandegebruikerdiehetverzoekdoet.daarnastuurthijopdrachten (bijvoorbeeldverwijderenofaanpassendata)ofverzoekennaarde benodigdemodels. 4. Hetmodelgeeftdataterug 5. Decontrollerstuurtalledatanaardeview 6. Deviewgebruiktdezedataomdeoutputoptebouwenenstuurtdeinhoud terugnaardeclient. Features HieronderstaateenlijstmetfeaturesdiehetCakePHPframeworkbiedt,zoals beschrevenstaatopdewebsitevanhetproject(cake, 2001): 1. CompatibelmetPHP4enPHP5 2. GeïntegreerdeCRUD(create,read,updateendelete)voordatabase interactie 3. Applicatiescaffolding,hetautomatischverwerkenvanstandaardverzoeken, opbasisvandegedefinieerdedatabasetabellen.bedoeltalstijdelijke,snelle start. 4. Codegenereren,hetautomatischgenererenvandebasisvandeapplicatie, opbasisvandegedefinieerdedatabasetabellen. 5. Vriendelijke(mensenzoekmachine)URL'senaangepasteroutes 6. Ingebouwdevalidatie,validatievaningevoerdegegevens,opbasisvanhet model. 7. ViewHelpersvoorAJAX,JavaScript,HTML formulieren,zorgtervoordat nietallehtmlcodehandmatiguitgewerkthoeftteworden. 8. Componenten,gedeeldeuitbreidingenopdecontrollers,Standaard componentenals ,cookie,security,session,enrequest. 12

13 9. Behaviors,gedeeldeuitbreidingenopdemodels. 10. Flexibeltoegangsbeheer(ACL,accesscontrollists) 11. FlexibeleCaching,opniveauvanmodelsenviews. 12. Localisatie,hetframeworkbiedtondersteuningvoormultilingual applicaties. EenstandaardCakePHP requestisdoordemogelijkheidvanrouting(punt5), behaviors,componentenendemogelijkheidomanderedatabronnendanslechts dedatabasetegebruiken,ietsuitgebreiderdanhethierbovenbeschreven standaardmvc request.(cake, 2001) Afbeelding3TypischCakePHPrequestafhandeling RubyonRails RubyonRailsiseenMVCframework,geschreveninenvoorde programmeertaalruby.detaalrubyiseengeïnterpreteerde,puur object georiënteerdetaaldie,aldusdekenners,erglijktop Smalltalk.DetaalRubystamtuit1995(Matsumoto, 1995)enis, zoalsgezegdpuurobject georiënteerd. 5.times { print "We *love* Ruby -- it's outrageous!" } Codevoorbeeld:AllesiseenobjectinRuby,zelfsprimitievetypen 13

14 HetframeworkRubyonRails(RoR)stamtuit2003(RoR, 2003)engebruiktevenals CakePHPhetModel View Controllerpatroon.Descheidingindriedelenwerkt identiekalshierbovenbeschrevenbijcakephp.rorkomt,integenstellingtot CakePHP,meteeneigenwebserver,Webrick,maarkanookgebruiktwordenmet anderewebserversalsapache. EentypischRoRrequestzieteralsvolgtuit(RoR, 2003): Afbeelding4.RubyonRailsarchitectuur QuaarchitectuurlijktRoRdusergveelopCakePHPenhethandeltopvrijwel dezelfdemanierverzoekenaf. Features OokquafeatureslijkenRoRenCakePHPergopelkaar.Opzichisdatookniet verwonderlijk,alsjebedenktdatcakephpineersteinstantienaarvoorbeeldvan RoRisgebouwd.DevolgendestandaardfeaturesmakendeeluitvanRoR 1. Eigenwebserver,Webrick 2. GeïntegreerdeCRUD(create,read,updateendelete)voordatabase interactie 3. Applicatiescaffolding,hetautomatischverwerkenvanstandaardverzoeken, opbasisvandegedefinieerdedatabasetabellen.bedoeltalstijdelijke,snelle start. 14

15 4. Codegenereren,hetautomatischgenererenvandebasisvandeapplicatie, opbasisvandegedefinieerdedatabasetabellen. 5. Vriendelijke(mensenzoekmachine)URL'senaangepasteroutes 6. Ingebouwdevalidatie,validatievaningevoerdegegevens,opbasisvanhet model. 7. ViewHelpersvoorAJAX,JavaScript,HTML formulieren,zorgtervoordat nietallehtmlcodehandmatiguitgewerkthoeftteworden. 8. Partials;hergebruikvandelenvanandereviews 9. Standaardondersteuningvoor ,cookies,authorisatie 10. Flexibeltoegangsbeheer(ACL,accesscontrollists) 11. FlexibeleCaching,opniveauvanmodelsenviews. 12. Localisatie,hetframeworkbiedtondersteuningvoormultilingual applicaties. 13. Requestprofiler;nagaanwaarinhetafwerkenvaneenrequestdoorhet frameworkdebottleneckzit. Django Djangoiseenwebframeworkgeschrevenvooreninde programmeertaalpython(python, 1991).DetaalPython stamtuithetbeginvandejarennegentigenis ontworpendoordenederlanderguidevanrossum. HetprojectDjangoisontstaanin2005enisgebaseerd ophetmvcdesignpatternwathierbovenreedsis uitgelegd.daarbijhanteertdjangoweleenanderebenaming:watinmvcde controllerheet,heetindjangodeviewenwatinmvcdeviewisgenoemd,noemt Djangodetemplate.Hetideehierachteris,isdatdeviewdedatabeschijftdie getoondwordtaandegebruiker,maarniethoediedataerdanuitziet.detemplate bepaaltdanhoededataeruiteindelijkuitkomttezien.jezouhetframeworkdan alseenmtvframeworkaankunnenduiden. DemanierwaaropDjangoeenrequestverwerkt,zieterschematischalsvolgtuit: (Holovaty & Kaplan-Moss, 2007) 15

16 Afbeelding5RequestverwerkingvanDjango DitzieterietsandersuitdehetschemavanCakePHPenRoRenbehoeftwatuitleg. WaneerereenHTTP requestbinnenkomt,wordtditdoorhetframework verwerkttoteenhttprequestobject.viadeurlconfwordthiernadejuisteview aangesproken,dieditverzoekverderafdienttehandelen.wanneerereenfout optreedt,wordtditdoordeexceptionhandleropgepakt,enuiteindelijkgaatalles viaeentemplatelangsderedsponsemiddlewareterugnaardeclient. InfeitelijktditdusergophetMVCpatroonvandeanderetweeframeworks,maar iseenenanderwatandersbenoemd. Features HieronderstaateenlijstvandemeestopvallendefeaturesdieDjangobiedt: Uitgebreideondersteuningvoorformulierverwerkingenvalidatie Standaardbeheer interface,dieautomatischbeschikbaariszondercode daarvoortehoevenmaken Standaardauthenticatiesysteem Eigentemplatesysteem,gebaseerdopovererving 16

17 Templatesyssteenisvoorzienvantagsenfiltersomeenvoudighetuiterlijk vandeoutputtebepalen. Ondersteuningvoorcookies StandaardCRUDondersteuning Vriendelijke(mensenzoekmachine)URL'senaangepasteroutes Caching Ondersteuningvoormeertaligeapplicaties Securityondersteuning Conclusie Dithoofdstukbiedteenbeschrijvingvanalleframeworksdievergelekenzullen wordeninhetvervolgvanditonderzoek.daarbijzijnuiteraardnietalledetails besproken,datisnatuurlijknietmogelijk,maareriseengoedbeeldontstaanover hoedezeframeworksinelkaarsteken.daarmeeisdetweededeelvraag beantwoord. 17

18 H5. Vergelijkingoptestondersteuningvandeframeworks Inleiding Dithoofdstukbeschouwtdeondersteuningdiedeframeworks,zoalswedie geïntroduceerdhebbeninhoofdstuk4,biedenaandeverschillendesoortentests dieinhoofdstuk3staanbeschrevenenbeantwoordhiermeedederdedeelvraag zoalsdieisopgesteldinheteerstehoofdstuk.deresultatenzullenallereerstin tabelvormgepresenteerdworden,waarnadeopvallendeverschillen,of onderdelendiedatbehoeven,toegelichtzullenworden. Testondersteuning Onderstaandetabelgeefteenoverzichtvanwelkesoortentestsondersteunt wordenperframework.hierbijisinitieelalleengekekennaardeondersteuning diedeframeworks out of the box bieden,maarvanwegedemodulaireopzetvan sommigeframeworksiservoorgekozenomtevermeldenwanneereenbepaalde featuremiddelseenenkelepluginondersteuntwordt. Typetest CakePHP Django RubyonRails Handmatigtesten Captureandplayback Codecoverageanalyse ++ * * Doctests ++ * Unittests Fixtures Objectmocking ++ * ++ Functioneletests Databasewijzigingen HTTPredirects + ++ Viewvariabelen/objecten Authenticatie Webtests GETrequests POSTrequests Fileuploads HTTPHeaders HTTPredirects + ++ Viewvariabelen/objecten

19 Cookies Outputtests Interface/inbrowsertests ** * * Model basedtesting +:biedtenigeondersteuning,++:biedtruimeondersteuning,*:biedtondersteuningmiddelsplugin Toelichtingopderesultaattabel Dezeparagraafbespreektdeopvallendeverschillenenonderdelendietoelichting behoevenuitderesultaattabeldiehierbovenbeschrevenstaat.daarbijdient allereerstopgemerkttewordendatdemaniervantestenvancakephpenrubyon Railsgoedmetelkaarvergelijkbaarzijn,omdatzedezelfdeindelingentypetests kennen,watookteverklarenisaangeziendeopbouwvandebeideframeworks sterkegelijkenisvertoond.djangoechterkenttweesoortentests:standaard unittests,dieeigenlijkdirectuitpythonkomen,entestsdiegebruikmakenvan Django sclientklasse.dielaatstebevatinfeitedemogelijkhedendiebijcakephp enrorverdeeldzijnoverdefunctioneletestsendewebtests. Handmatigtestenencaptureandplaybacktest Geenvanalleframeworksbiedtondersteuningvanhethandmatig,bijvoorbeeldvia decommandlineinterface,uitvoerenvanbepaaldetests.daarmeeisde ondersteuningvancaptureandplaybackvandezetestsnatuurlijkookonmogelijk. Alleframeworksgaanuitvanhetuitvoerenvantestsineenscript. Doctests AlleenDjangobiedtstandaardondersteuningvoordezogenaamdedoctests.RoR kanwelwordenuitgerustwordenomditteondersteunen,doorhetgebruikenvan eenplugin.omeenbeeldtevormen,eendoctestindjangozieteralsvolgtuit: def get_elem(a_list, index): """ >>> a = ['John', 'Sjaak', 'Piet'] >>> my_func(a, 0) 'John' >>> my_func(a, 1) 'Sjaak' """ return a_list[index] Codevoorbeeld1:doctestinDjango Unittests Alleonderzochteframeworksbiedeneenruimeondersteuningvoorhetuitvoeren vanunittests.daarbijbiedenookalledriedeframeworksdemogelijkheidtothet gebruikvanfixtures,ietswatbijzonderhandig,bijnanoodzakelijk,isvoorhet efficiëntopstellenvandetests.hetisdaarbijwelinteressantomvoorelk 19

20 frameworkeensimpeleunittesttelatenzien,zodatdeverschillenen overeenkomstenzichtbaarworden.wegaandaarbijuitvaneensimpelmodel genaamdcar,waarbijeenautoeenbepaaldekleurkanheeft. class CarTest extends Car { var $name = 'CarTest'; var $usedbconfig = 'test_suite'; } class CarTestCase extends CakeTestCase { var $fixtures = array( 'car_test' ); function testcolor() { $this->cartest =& new CarTest(); } } $result = $this->cartest->color("ferrari"); $this->assertequal($result, 'red'); Codevoorbeeld2:unittestinCakePHP import unittest from myapp.models import Car class CarTestCase(unittest.TestCase): def setup(self): self.ferrari = Car.objects.create(name="Ferrari", color="red") def testcolor(self): self.assertequals(self.ferrari.color(), 'red') require 'test_helper' Codevoorbeeld3:unittestinDjango class CarTest < ActiveSupport::TestCase fixtures :cars def test_color color = Car.color('Ferrari') assert_equal color, 'red' end end Codevoorbeeld4:unittestinRubyonRails 20

21 Zoalstezienis,losvandeverschillendetaalconstructies,zijnditsoortsimpele testsinalleframeworksopvergelijkbaremanieroptezetten.detestvandjango gebruikt,terdemonstratie,geenfixtureszoalsdeanderetweewel,maarheeftook diemogelijkheidendatgeldtandersomook. Objectmocking Eenanderopvallendpuntinonzevergelijkingisobjectmocking.Ditwordt gebruiktomafhankelijkhedenbijhettestentereducerenendaarvoorbieden zowelroralscakephpondersteuning.bijobjectmockingwordtereennieuwe klassegemaaktvaneenbepaaldereferentieklasse,waarbijallebestaande methodesnogbestaan,maardezezijnallemaalleeg.beideframeworkshebbenook nogeensdemogelijkheidtotzogenaamdpartialmocking,zodathetmogelijkisom sommigemethodeswelinoorspronkelijkestaattehouden.djangoondersteunt objectmockingnietstandaard,maarkanmiddelseenpluginhierweltoeuitgerust worden. Functioneletests Zoalsaleerderopgemerkt,scharenCakePHPenRoRhettestenvandecontrollers onderdefunctioneletests.detestdiedaarbijuitgevoerdwordt,betreftdusnieteen simulatievaneenhttprequest.djangokentdezemaniervantestenniet,views (watdecontrollerswordengenoemdindeanderetweeframeworks)entemplates wordengetestmiddelssimulatievanhttprequests. Fileuploads Eenbelangrijkonderdeelbijhettestenvanwebformulieren,ishetkunnentesten vanformulierenwaarbijhetuploadenvaneenbestandeneenrolspeelt.ditiseen situatiediebijwebapplicatiesnatuurlijknietongewoonisendaaromookgetest zoumoetenkunnenworden.cakephpbiedthieralsenigeframeworkgeen ondersteuningvoor,hoewelhetwelinderoadmapvoortoekomstigereleases staatopgenomen. HTTPRedirects EencontrollertestdiedetecteertwelkeHTTP headersdecontrollerterugstuurt,is inrubyonrailswelmogelijk,maarnietincakephp.wileendergelijketestgedaan wordenincakephp,danishetwelmogelijkomdaareenworkaroundvoorte maken.omdittedemonstrerenstaathierondereersteenvoorbeeldvaneen dergelijketestinrorenvervolgensincakephp. def test_should_create_post assert_difference('post.count') do post :create, :post => { :title => 'Hello', :body => 'This is my first post.'} end assert_redirected_to(:controller => "posts", :action => "index") assert_equal 'Post was successfully created.', 21

22 end flash[:notice] Codevoorbeeld5:FunctioneletestinRubyonRails class TestPostsController extends PostsController { var $name = 'Posts'; function redirect($url, $status = null, $exit = true) { $this->redirecturl = $url; } } function _stop($status = 0) { $this->stopped = $status; } class PostsControllerTestCase extends CakeTestCase { function construct() { $this->posts = new TestPostsController(); } function testcreate() { $beforecount = $this->posts->post->find('count'); $this->posts->data = array( 'Post' => array( 'title' => 'Hello', 'body' => 'This is a test post!', ) ); $this->posts->add(); $aftercount = $this->posts->post->find('count'); $this->assertequal($beforecount+1,$aftercount); $this->assertequal($this->posts->session-> read('message.flash.message'), 'Post was successfully created.'); } $this->assertequal($this->posts->redirecturl, array('action' => 'index')); } Codevoorbeeld6:FunctioneletestinCakePHP Zoalsuitditvoorbeeldblijkt,isdetestinRubyonRailseenstuksimpelerdandiein CakePHP.DitverschilkomtvoornamelijkomdatinCakePHPbepaaldemethodes vandecontrolleroverschrevenmoetenwordenomzegoedtekunnentesten.in 22

23 RoRisdatnietnodigenzitdieondersteuningzonderextramoeitedirect ingebakken. Djangobiedtookdergelijkeondersteuning.Zoalsalopgemerkt,zitdeze functionaliteitbijditframeworkopeenwatandereplaats,maartochiseen vergelijkbaretestmogelijk: from django.test import * import doctest class ViewTests(TestCase): def runtest(self): c = Client() response = c.post('/posts/add',{'title': 'Test title', 'message': 'This is the actual post'}) self.assertredirects(response, '/posts/') self.assertequal(self.response.context['flash'] ['message'], 'Post was successfully created.') Codevoorbeeld7:webtestinDjango Outputtests Totslotkijkenwenognaardeondersteuningdiedeframeworksbiedenophet gebiedvanoutput analyse,ietswatbijwebframeworkseenbelangrijkissueis. HierkunnenweconcluderendatCakePHPenRubyonRailshiereenuitgebreide ondersteuningvoorbeiden.omdeverschillenenovereenkomstente demonstrerenzettenwenogmaalseenvergelijkbaretestopvooralleframeworks. class mytestwebtestcase extends CakeWebTestCase { function testhomepage() { $result = $this->get('/pages/home'); $this->assertresponse(200); $this->asserttext('lorem ipsum dolor sit amet.'); $this->asserttitle('foobar :: Home'); }} $this->assertelementsbyselector( ul#navigation > li', array('menu item 1', Menu item 2 ) ); Codevoorbeeld8:outputtestinCakePHP def test_should_show_post get "/pages/home" assert_response :success 23

24 # Assert_select zeer krachtig assert_select 'title', 'Foobar :: Home' assert_select 'ul.navigation' do... end end Codevoorbeeld9:outputtestinRubyonRails def test_home(self): response = self.client.get('/pages/home') self.assertequal(response.status_code, 200) # Zijn er 5 newsitems aan de template gestuurd? self. assertequal(len(response.context['newsitems']), 5) self.assertequal(response.template[0].name, 'home.html') Codevoorbeeld10:outputtestinDjango Eenaantalverschillenisdemoeitewaardomeventebelichten.Zoalstezienvalt, biedenrorencakephpdemogelijkheidomdeoutput,watmeestalhtmlis, vergaandteanalyseren.djangokanwelzienoferbijvoorbeeldeenbepaaldestring indeoutputzit,maarkandehtml structuurnietanalyseren. Djangoheeftweldemogelijkheidomtezienwelkevariabelendeviewheeft doorgegevenaandetemplate.ookrubyonrailsheeftdieoptie,maarmetcakephp valtdatalleentetestenmeteenfunctioneletest. In browsertests Alleframeworkshebbeneensterretjebijin browsertests,omdatertoolszijndie ditonafhankelijkvanhetframeworkkunnedoen.eenvoorbeeldvaneen dergelijketoolisselenium(seleniumhq).helaasisdienietbrowseronafhankelijk, ietswatbijwebpagina sweleenbelangrijkpuntis.cakephpheefteeningebouwde koppelingvoorseleniumenisdaarmeeietsbeteruitgerustdandeanderetwee frameworks. Modelbasedtests Helaaszijnmodelbasedtestnogeenstukjetehooggegrepenvooralleframeworks. Zoverikdatmetzekerheidkanzeggeniserooknoggeenenkelwebframeworkdie datsoortondersteuningwelbiedt. Conclusie Hetislastigomtoteengoedevergelijkingtekomentussendeframeworks.Dit wordtteneerstebemoeilijktdoordezeerverschillendewijzewaaropde frameworkshuntestshebbeningedeeld.kunjesomseenbepaaldetestniet linksomrealiseren,dankanhetvaakwelrechtsom. 24

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren Universiteit van Amsterdam FNWI Voorbeeld van tussentoets Inleiding programmeren Opgave 1: Wat is de uitvoer van dit programma? public class Opgave { static int i = 0 ; static int j = 1 ; int i = 1 ; int

Nadere informatie

Object Oriented Programming

Object Oriented Programming Object Oriented Programming voor webapplicaties Door Edwin Vlieg Waarom OOP? Basis uitleg over OOP Design Patterns ActiveRecord Model View Controller Extra informatie Vragen OOP Object Oriented Programming

Nadere informatie

Dynamische Websites. Week 9

Dynamische Websites. Week 9 Dynamische Websites Week 9 AGENDA Nut van een framework? Relatieve URLs Views Slicing 2 step design NUT VAN EEN FRAMEWORK? Heel veel code is voor jullie al geschreven, jullie moeten deze op de juiste plaatsen

Nadere informatie

DIA Opdracht 4 (Arjan Dekker)

DIA Opdracht 4 (Arjan Dekker) DIA Opdracht 4 (Arjan Dekker) Place klasse: #Deze klasse wordt gebruikt in zowel de client als de server #Daarom deze klasse in apart bestand gezet, die geinclude wordt #door zowel de server als client

Nadere informatie

MVC BASICS 2. Kevin Picalausa

MVC BASICS 2. Kevin Picalausa MVC BASICS 2 Kevin Picalausa 1 Forms 2 Action en Method Action Vertelt de Browser naar waar de form data (informatie) door te zenden. URL kan relatief of absoluut zijn. Method De manier waarop de form

Nadere informatie

Les 3. Gebruik in volledige programma Default argumenten Vergelijken van objecten

Les 3. Gebruik in volledige programma Default argumenten Vergelijken van objecten Les 3 Gebruik in volledige programma Default argumenten Vergelijken van objecten Een Python programma def foo( ):... def bar( ):... def baz( ):... def main():... main() Een Python programma class Drank:...

Nadere informatie

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren

Chris de Kok 223548 TDI 3. Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Chris de Kok 223548 TDI 3 Vak: Software Architectuur Datum: 21-01-2008 Docent: Fons van Kesteren Inhoud Inleiding... 3 Black box / White box... 3 XP... 3 SimpleTest... 3 Eclipse plugin... 4 GroupTest...

Nadere informatie

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 9

Inhoud eindtoets. Eindtoets. Introductie 2. Opgaven 3. Terugkoppeling 9 Inhoud eindtoets Eindtoets Introductie 2 Opgaven 3 Terugkoppeling 9 2 Eindtoets Eindtoets I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het tentamen van de cursus Webapplicaties:

Nadere informatie

IMP Uitwerking week 13

IMP Uitwerking week 13 IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het

Nadere informatie

AUTHENTICATIE. Version Date Author Description Mark Hameetman Initiele document

AUTHENTICATIE. Version Date Author Description Mark Hameetman Initiele document Postbode.nu API Version Date Author Description 1.0 21-02-2018 Mark Hameetman Initiele document AUTHENTICATIE Via https://app.postbode.nu/settings/api kunt u uw eigen API key aanmaken en/of ophalen, deze

Nadere informatie

4 ASP.NET MVC. 4.1 Controllers

4 ASP.NET MVC. 4.1 Controllers 4 ASP.NET MVC ASP.NET is het.net raamwerk voor het bouwen van webapplicaties. De MVC variant hiervan is speciaal ontworpen voor het bouwen van dergelijke applicaties volgens het Model-View-Controller paradigma.

Nadere informatie

Dynamische Websites. Week 10

Dynamische Websites. Week 10 Dynamische Websites Week 10 INFO Feedback vraag het in de labo s als je feedback wilt op je code Lessen op 5/12 en 12/12 om 17.15 op 19/12 om 11.00 KLEURENCODE GROEN = zelf kunnen schrijven PAARS = code

Nadere informatie

CENTEXBEL CLIENT WEB

CENTEXBEL CLIENT WEB CENTEXBEL CLIENT WEB Table of Contents Wat is de Centexbel Client web?... 2 Hoe een account activeren in het programma?... 2 Schermen... 4 Log in... 4 Wat als er een personeelslid met de account gegevens

Nadere informatie

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access

Gebruik van cryptografie voor veilige jquery/rest webapplicaties. Frans van Buul Inter Access Gebruik van cryptografie voor veilige jquery/rest webapplicaties Frans van Buul Inter Access 1 Frans van Buul frans.van.buul@interaccess.nl 2 De Uitdaging Rijke en veilige webapplicaties Een onveilig en

Nadere informatie

Je hoeft je maar met twee bestanden bezig te houden:

Je hoeft je maar met twee bestanden bezig te houden: 1 2 3 Deze set Sushi Kaarten leert je hoe je een web-app maakt met een nogte-doen lijst. Als je op enig moment wilt zien hoe de web-app kan worden, kijk dan op dojo.soy/js-todo. Deze app kun je gebruiken

Nadere informatie

OAS en het Kennisplatform API s. Dimitri van Hees

OAS en het Kennisplatform API s. Dimitri van Hees OAS en het Kennisplatform API s Dimitri van Hees (@dvh) RESTful API HTTP/web interface/api die aan veel, maar niet alle, principes van REST voldoet. REST is geen doel op zich, het aanbieden van een goede

Nadere informatie

CENTEXBEL CLIENTS WEB

CENTEXBEL CLIENTS WEB CENTEXBEL CLIENTS WEB Table of Contents Wat is de Centexbel Clients web?... 2 Hoe een account activeren in het programma?... 2 Schermen... 4 Log in... 4 Wat als er een personeelslid met de account gegevens

Nadere informatie

Aanleveren van te verzenden sms berichten aan SMS Via

Aanleveren van te verzenden sms berichten aan SMS Via Aanleveren van te verzenden sms berichten aan SMS Via 1. Inleiding Er zijn drie methoden van aanlevering van sms berichten mogelijk: via een HTTP request; dit kunt u gebruiken voor één sms bericht tegelijk

Nadere informatie

Scala. Korte introductie. Sylvia Stuurman

Scala. Korte introductie. Sylvia Stuurman Korte introductie Sylvia Stuurman Wat is er zo bijzonder aan? Schaalbaar Objectgeoriënteerd (handiger dan Java!) Functioneel Scripts schrijven Gecompileerd: Java bytecode Pagina 2 voor scripts Pagina 3

Nadere informatie

Dynamische Websites. Week 3. donderdag 3 oktober 13

Dynamische Websites. Week 3. donderdag 3 oktober 13 Dynamische Websites Week 3 AGENDA Herhaling Cookies Sessions voorbeeld.php Zuiver PHP: initialisatie variabelen instructies HTML minimum PHP nooit HTML in PHP FORM URL HTTP Methode Parameters Verstuurt

Nadere informatie

Wat is een child-theme?

Wat is een child-theme? Child theme Waarschuwing 1. Het maken van een child theme is relatief eenvoudig, u hebt er wel FTP toegang voor nodig bij uw provider. 2. Het is soms lastig om precies uit te vinden welke css codes u moet

Nadere informatie

Dynamische Websites. Week 2

Dynamische Websites. Week 2 Dynamische Websites Week 2 AGENDA Labo 1 GET, POST Navigatie, etc Varia 1 2

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 25 november 2015 Herhaling Meer herhaling Recursie Mutuele recursie Objecten Herhaling Fibonacci class Fibonacci { public static void fibonaccitot(int bovengrens)

Nadere informatie

Website beoordeling bestsiteanalysis.eu

Website beoordeling bestsiteanalysis.eu Website beoordeling bestsiteanalysis.eu Gegenereerd op Maart 24 2019 10:21 AM De score is 43/100 SEO Content Title SiteDoctor SiteSpy Utility Webmaster Review Tools Lengte : 55 Perfect, uw title tag bevat

Nadere informatie

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts

APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN. Onderdeel van SmartProducts APPLICATIEBOUW 3E COLLEGE: OBJECT GEORIËNTEERD PROGRAMMEREN, METHODEN, PARAMETERS, SCOPE VAN VARIABELEN Onderdeel van SmartProducts INHOUD COLLEGE 3 Scope van variabelen {3.9} Class ontwerpen en maken,

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service.

Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service. WEB SERVICE WERKING Hier volgt als hulp wat technische informatie voor de websitebouwer over de werking van de xml web service. Aanvullende informatie omtrent de fieldmapping kunt u hier inzien: www.effector.nl/webservice/technischeuitlegfieldmapping.xls

Nadere informatie

AJAX (XMLHttpRequest)

AJAX (XMLHttpRequest) AJAX (XMLHttpRequest) Ajax is hot. De meesten die met webdesign bezig zijn hebben er wel al van gehoord, veronderstel ik. Voor diegenen die er nog niet van hoorden, of nog niet mee werkten volgt hier een

Nadere informatie

Hand-out Introduction to Programming, werkcollege 7 Alex Reuneker 2013

Hand-out Introduction to Programming, werkcollege 7 Alex Reuneker 2013 Hand-out Introduction to Programming, werkcollege 7 Alex Reuneker (a.reuneker@hhs.nl), 2013 1. Document Object Model (DOM) DOM: DOM staat voor Document Object Model. Het DOM is een model van webpagina

Nadere informatie

Formulieren en waarden posten naar een view

Formulieren en waarden posten naar een view Hoofdstuk 4 Formulieren en waarden posten naar een view Waarden posten naar een view in een Zend-project gaat heel anders dan dat je gewend bent. Om dit mechanisme te leren, kunnen we het beste een eenvoudige

Nadere informatie

digital art 2d - over posters - opdracht drugs poster en website

digital art 2d - over posters - opdracht drugs poster en website digital art 2d - over posters - opdracht drugs poster en website medium is the message The medium is the message is a phrase coined by Marshall McLuhan meaning that the form of a medium embeds itself in

Nadere informatie

Handleiding Facultaire website Expression Engine

Handleiding Facultaire website Expression Engine Handleiding Facultaire website Expression Engine Inhoud 1. Opbouw 2. Inloggen 3. Home 4. Publish 5. Publish Form full item 6. Uitleg velden Publish Form Full item 7. Publish Form Half Page 8. Uitleg velden

Nadere informatie

Project Embedded Linux Domaza. Elektronica-ICT. Dimitri Kozakiewiez Jonas Govaerts. Academiejaar 2014-2015

Project Embedded Linux Domaza. Elektronica-ICT. Dimitri Kozakiewiez Jonas Govaerts. Academiejaar 2014-2015 Project Embedded Linux Domaza Elektronica-ICT Dimitri Kozakiewiez Jonas Govaerts Academiejaar 2014-2015 Campus Geel, Kleinhoefstraat 4, BE-2440 Geel 5 2 INHOUDSTAFEL INHOUDSTAFEL... 2 1 DOMAZA... 3 1.1

Nadere informatie

Project documentatie Project Expo

Project documentatie Project Expo Project documentatie Project Expo Klas: IP110 Groep:3 Groepsleden: Leonard Breitkopf Nander Konijn Onno van Gijssel Contactgegevens: onno.van.gijssel@hva.nl 1 Inhoudsopgave Inhoudsopgave... 2 Inleiding...

Nadere informatie

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft

Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Tentamen Object Georiënteerd Programmeren TI1200 30 januari 2013, 9.00-12.00 Afdeling SCT, Faculteit EWI, TU Delft Bij dit tentamen mag je geen gebruik maken van hulpmiddelen zoals boek of slides. Dit

Nadere informatie

Modelleren en Programmeren

Modelleren en Programmeren Modelleren en Programmeren Jeroen Bransen 6 december 2013 Terugblik Programma en geheugen Opdrachten Variabelen Methoden Objecten Klasse Programma en geheugen Opdrachten Variabelen zijn gegroepeerd in

Nadere informatie

Sitecore en AngularJS: hoe werken ze samen

Sitecore en AngularJS: hoe werken ze samen Sitecore en AngularJS: hoe werken ze samen Derk Hudepol Consultant 11-02-2016 Click Wie ben to add ik? title Consultant bij Avanade Werkzaam bij Avanade voor bijna 6 jaar Werk 3+ jaar met Sitecore Meeste

Nadere informatie

Knowledgeable Referenceable Personable Accountable Scalable

Knowledgeable Referenceable Personable Accountable Scalable Knowledgeable Referenceable Personable Accountable Scalable 1 WebForms en JavaBeans bij Essent Energie OGH presentatie 3 juli 2003 2 Agenda Inleiding Eenvoudige Java Bean in Web Forms Demo Meer complexe

Nadere informatie

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt. Plsqldoc Genereer je documentatie Beeklaan 444 2562 BK Den Haag www.darwin-it.nl info@darwin-it.nl KvK 27283780 ING 65.35.40.663 Technical Architect Net als (vrijwel) elke ontwikkelaar vind ik het documenteren

Nadere informatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten voorbehouden.

Nadere informatie

Volledige integratie in APEX. Laurens Hamelink Twinq VvE Software Menno Hoogendijk - Qualogy

Volledige  integratie in APEX. Laurens Hamelink Twinq VvE Software Menno Hoogendijk - Qualogy Volledige e-mail integratie in APEX Laurens Hamelink Twinq VvE Software Menno Hoogendijk - Qualogy 125.000 VvE s in Nederland 60.000 VvE s beroepsmatig beheerd 30.000 VvE s in Twinq About me Menno Hoogendijk

Nadere informatie

Drupal 7 tip: voeg overal contextual links toe Gepubliceerd op Dominique De Cooman (http://dominiquedecooman.com)

Drupal 7 tip: voeg overal contextual links toe Gepubliceerd op Dominique De Cooman (http://dominiquedecooman.com) maandag, August 8, 2011-22:07 Dominique De Cooman In drupal 7 hebben we iets dat contextual links heet. Het is het kleine wiel dat u ziet wanneer u over blocks zweeft zodat u ze ter plekken kunt bewerken.

Nadere informatie

Orbis Software. Portal4U. Installatie Handleiding. Dit document bevat de Installatie Handleiding voor Portal4U

Orbis Software. Portal4U. Installatie Handleiding. Dit document bevat de Installatie Handleiding voor Portal4U Orbis Software Installatie Handleiding Dit document bevat de Installatie Handleiding voor Voordat u begint Wij raden u aan om voor het uitvoeren van een update van middels dit installatie-pakket een back-up

Nadere informatie

Dynamische webapplicaties in Java

Dynamische webapplicaties in Java Dynamische webapplicaties in Java October 7, 2006 In java is het mogelijk dynamische webpagina s te implementeren. De code om de dynamische gegevens te genereren staat in servlets of Java Server Pages

Nadere informatie

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS

UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS UNIVERSITEIT ANTWERPEN FACULTEIT WETENSCHAPPEN DEPARTEMENT WISKUNDE-INFORMATICA OBERON CODE CONVENTIONS Laatste aanpassing: 15 oktober 2003 Inhoudsopgave 1 Bestandsnamen 3 2 Organizatie Bestanden 3 3 Indentatie

Nadere informatie

Joomla! en SEO: De basis elementen van SEO. Richard Bruning

Joomla! en SEO: De basis elementen van SEO. Richard Bruning Joomla! en zoekmachines : De basis elementen van SEO Richard Bruning Joomla! out of the box CMS Hoe doeltreffend is Joomla out of the box voor U als website eigenaar? Ontmoet Tux, onze opdrachtgever voor

Nadere informatie

Enterprise. RESTful Webservices. serieus alternatief voor SOAP?

Enterprise. RESTful Webservices. serieus alternatief voor SOAP? 12 Enterprise Paul Bakker is ontwikkelaar en trainer bij Info Support B.V. Blog: http://blogs.infosupport.com/ blogs/paul_bakker Email: paulb@infosupport.com Het afgelopen jaar is er veel te doen geweest

Nadere informatie

Maak een pivot uit een Generic.List

Maak een pivot uit een Generic.List Maak een pivot uit een Generic.List Introductie in extensions, reflection en code generation Nivo: 400 Introductie In bepaalde gevallen komt het voor dat je een Generic.List van een specifieke class hebt,

Nadere informatie

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008

Teamhandleiding DOMjudge (versie 2.2.0muKP) 31 mei 2008 judge Teamhandleiding DOMjudge (versie..0mukp) 31 mei 008 /\ DOM DOM judge Inhoudsopgave 1 Inleiding Samenvatting.1 Inlezen en wegschrijven............................... Insturen van oplossingen...............................3

Nadere informatie

http://www.liacs.nl/home/kosters/java/

http://www.liacs.nl/home/kosters/java/ sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

Informatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction

Informatica. Deel II: les 2. Leibniz - erven - digitaal. Jan Lemeire Informatica deel II februari mei Parallel Systems: Introduction Informatica Deel II: les 2 Leibniz - erven - digitaal Jan Lemeire Informatica deel II februari mei 2013 Parallel Systems: Introduction Leibniz 1646 1716 Jan Lemeire Pag. 2 / 48 Calculemus! Berechnen wir!

Nadere informatie

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse

Objective-C Basis. 23 april 2005, Eindhoven Patrick Machielse Objective-C Basis 23 april 2005, Eindhoven Patrick Machielse patrick@hieper.nl Algemeen // extensies Objective-C code in bestanden met.m extensie // commentaar moet! /* Alles hiertussen wordt genegeerd

Nadere informatie

procesbeschrijving. Opdracht 1

procesbeschrijving. Opdracht 1 Opdracht 1 procesbeschrijving 2014-2015 Dit document bevat een beschrijving van het proces van de Webdesign opdracht voor de cursus Informatie-uitwisseling van de opleiding Informatiekunde Team 28 Randell

Nadere informatie

Handleiding RS Form! 1.0.4

Handleiding RS Form! 1.0.4 Handleiding RS Form! 1.0.4 Inhoud 1. Controlepaneel... 3 2. Forms Manager... 4 2.1 Nieuwe form aanmaken... 4 2.2 Nieuwe fields toevoegen... 7 2.3 Wijzigen/verwijderen bestaande Forms, Fields... 10 Versie

Nadere informatie

RESPONSIVE DRUPAL THEMING MET SASS, COMPASS, SUSY EN AURORA DRUPAL TECH TALK 25 APRIL 2013 MARC VAN GEND TRIQUANTA

RESPONSIVE DRUPAL THEMING MET SASS, COMPASS, SUSY EN AURORA DRUPAL TECH TALK 25 APRIL 2013 MARC VAN GEND TRIQUANTA RESPONSIVE DRUPAL THEMING MET SASS, COMPASS, SUSY EN AURORA DRUPAL TECH TALK 25 APRIL 2013 MARC VAN GEND TRIQUANTA AGENDA Het Doel #responsivemobilefirsthtml5buzzwordcompliant CSS preprocessing SASS Werken

Nadere informatie

Handleiding Authenticatie

Handleiding Authenticatie Handleiding Authenticatie Versie: 06-05-2019 Historie 06-05-2019 Optional rollsenginelicensekey parameter toegevoegd (deze vervangt optional parameter rollsenginelicenseid). 11-09-2017 Hoofdstuk Uniek

Nadere informatie

FFO Webdesign 1e jaar theorietoets NL niveau4... Totaal aantal vragen: 40

FFO Webdesign 1e jaar theorietoets NL niveau4... Totaal aantal vragen: 40 FFOUCHIER 01/11/2018 FFO Webdesign 1e jaar theorietoets NL niveau4... Totaal aantal vragen: 40 De meeste juiste antwoorden: #22 Minste Juiste antwoorden: #30 1. Selecteer de juiste HTML-code voor het maken

Nadere informatie

Handleiding. Mailchimp

Handleiding. Mailchimp Inhoudsopgave Inhoudsopgave... 2 2BLijsten... 3 4BOverzicht... 3 Lijst aanmaken... 4 Campagnes... 6 4BOverzicht... 6 4B... 6 Nieuwe campagne aanmaken... 7 Rapporten... 11 2 2BLijsten Lijsten bestaan uit

Nadere informatie

Externe pagina s integreren in InSite en OutSite

Externe pagina s integreren in InSite en OutSite Externe pagina s integreren in InSite en OutSite Document-versie: 1.1 Datum: 04-10-2013 2013 AFAS Software Leusden Niets uit deze uitgave mag verveelvoudigd worden en/of openbaar gemaakt worden door middel

Nadere informatie

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest.

Een unit test is geen integratie test. Niet het hele systeem, maar onderdelen van een systeem worden getest. WAT IS EEN UNIT TEST? Een unit test is een test om de functionaliteit van stukken code te controleren. Een goede unit test waarborgt een consistente werking van een klein onderdeel (een unit ) van de broncode.

Nadere informatie

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara MINICURSUS PHP Op dit lesmateriaal is een Creative Commons licentie van toepassing. 2017-2018 Sebastiaan Franken en Rosalie de Klerk Bambara PHP Cursus Deze cursus is om de eerste stappen in de wereld

Nadere informatie

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Syntax- (compile), runtime- en logische fouten Binaire operatoren Inhoud Syntax- (compile), runtime- en logische fouten Binaire operatoren Operaties op numerieke datatypen Evaluatie van expressies, bindingssterkte Assignment operaties en short-cut operatoren Controle

Nadere informatie

Extra voorbeelden. 1 Objectenhierarchie. 2 Kalender

Extra voorbeelden. 1 Objectenhierarchie. 2 Kalender Extra voorbeelden 1 Objectenhierarchie 2 Kalender PHP EN MYSQL de basis 1.1 Uitgebreid voorbeeld van een objectenhierarchie We zullen een aantal kenmerken van objectgeoriënteerd programmeren toelichten

Nadere informatie

Handleiding configuratie en gebruik tekenmodule

Handleiding configuratie en gebruik tekenmodule Handleiding configuratie en gebruik tekenmodule B3Partners Inhoudsopgave 1 Inleiding...2 2 Configuratie tekenmodule...3 2.1 Database tabel...4 2.2 WMS Service...5 2.3 Gegevensbron en kaartlaag...6 2.4

Nadere informatie

De sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall,

De sheets zijn gebaseerd op met name hoofdstuk. D. Bell en M. Parr, Java voor studenten, Prentice Hall, sheets Programmeren 1 Java college 4, Walter Kosters De sheets zijn gebaseerd op met name hoofdstuk 8 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/

Nadere informatie

2019 SUNEXCHANGE USER GUIDE LAST UPDATED

2019 SUNEXCHANGE USER GUIDE LAST UPDATED 2019 SUNEXCHANGE USER GUIDE LAST UPDATED 0 - -19 1 WELCOME TO SUNEX DISTRIBUTOR PORTAL This user manual will cover all the screens and functions of our site. MAIN SCREEN: Welcome message. 2 LOGIN SCREEN:

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

Een sjabloon (in PHP template genaamd) bevat de volledige

Een sjabloon (in PHP template genaamd) bevat de volledige Html-sjablonen in PHP 12 Een sjabloon (in PHP template genaamd) bevat de volledige opmaak van een (html-)pagina. Code en opmaak zijn hierbij gescheiden. Terwijl veel startende programmeurs code en opmaak

Nadere informatie

Capita Selecta Design Patterns voor administratieve applicaties

Capita Selecta Design Patterns voor administratieve applicaties Capita Selecta voor administratieve applicaties Bij afstudeerproject: Generiek framework voor administratieve toepassingen in een webgeörienteerde omgeving Henk van de Ridder 26 augustus 2006 Inhoud 26

Nadere informatie

joomladagen 2017 fl ex box niels

joomladagen 2017 fl ex box niels joomladagen 2017 fl ex box niels leenheer @html5test joomla? wat is flexbox? assen main axis cross axis start end start end containers en kinderen

Nadere informatie

PYramid Onroerend Erfgoed Style Documentation

PYramid Onroerend Erfgoed Style Documentation PYramid Onroerend Erfgoed Style Documentation Release 0.1.1 Onroerend Erfgoed November 25, 2014 Contents 1 Installatie 3 1.1 Installatie................................................. 3 1.2 Update..................................................

Nadere informatie

Controllers, actions en views

Controllers, actions en views Hoofdstuk 3 Controllers, actions en views In het vorige hoofdstuk is het MVC-pattern ter spraken gekomen. In dit hoofdstuk gaan we eens na hoe dit pattern in een Zend-project geïmplementeerd is. Om enig

Nadere informatie

Javascript deel 3. Document Object Model Objecten

Javascript deel 3. Document Object Model Objecten Javascript deel 3 Document Object Model Objecten Document Object Model (DOM) Doel: via javascript willen we graag heel flexibel de htmlpagina kunnen aanpassen. HTML DOM is een standaard waarmee we html-elementen

Nadere informatie

NB Deze lijst is alleen beschikbaar tijdens het project! Alleen voor eigen gebruik, er kunnen geen rechten aan worden ontleend.

NB Deze lijst is alleen beschikbaar tijdens het project! Alleen voor eigen gebruik, er kunnen geen rechten aan worden ontleend. Veelgestelde vragen m.b.t. het UWP 2.0 project Versie 0.5 datum: 27-11-2012 NB Deze lijst is alleen beschikbaar tijdens het project! Alleen voor eigen gebruik, er kunnen geen rechten aan worden ontleend.

Nadere informatie

DOMjudge teamhandleiding

DOMjudge teamhandleiding judge DOMjudge teamhandleiding Samenvatting /\ DOM DOM judge Hieronder staat de belangrijkste informatie kort samengevat. Dit is bedoeld om snel aan de slag te kunnen. We raden echter ten zeerste aan dat

Nadere informatie

Contextanalyse. Patrick v/d Vlist

Contextanalyse. Patrick v/d Vlist Contextanalyse Patrick v/d Vlist Contextanalyse Patrick v/d Vlist Krimpen ad IJsel 10-01-2016 Verdoold Installatiebedrijf Voorwoord Ik heb dit rapport geschreven naar aanleiding van een communicatieopdracht

Nadere informatie

Introductie en even voorstellen

Introductie en even voorstellen Introductie en even voorstellen Onlangs is PHP5 uitgekomen. PHP5 is een grote stap voorwaards voor iedereen die met deze populaire programmeertaal werkt. In deze presentatie bekijken we de belangrijkste

Nadere informatie

LINQ en SharePoint Development

LINQ en SharePoint Development .NET Framework LINQ en SharePoint Development BREED INZETBAAR EN ZORGT VOOR UNIFORME INTERFACE Mirjam van Olst Met het.net Framework 3.5 zijn de.net-talen uitgebreid met Language Integrated Query, of LINQ.

Nadere informatie

Correspondentie inzake overnemen of reproductie kunt u richten aan:

Correspondentie inzake overnemen of reproductie kunt u richten aan: 5 - Mockito Vrijwel alle namen van software- en hardwareproducten die in deze cursus worden genoemd, zijn tegelijkertijd ook handelsmerken en dienen dienovereenkomstig te worden behandeld. Alle rechten

Nadere informatie

In een paar stappen. je weggever aanbieden. via ActiveCampaign

In een paar stappen. je weggever aanbieden. via ActiveCampaign In een paar stappen je weggever aanbieden via ActiveCampaign Je hebt een geweldige weggever gemaakt zoals een e-book of online training. Ook ben je er achter dat ActiveCampaign het e-mailmarketing systeem

Nadere informatie

Formulierbeheer Importeren bestaand (model)formulier... 2 Wat is exporteren/importeren eigenlijk?... 3 Formulier aanpassen/opbouwen...

Formulierbeheer Importeren bestaand (model)formulier... 2 Wat is exporteren/importeren eigenlijk?... 3 Formulier aanpassen/opbouwen... Formulierbeheer Importeren bestaand (model)formulier... 2 Wat is exporteren/importeren eigenlijk?... 3 Formulier aanpassen/opbouwen... 4 Bewerken formulier in formulierbeheer... 4 Bewerken formulier -

Nadere informatie

Zelftest Inleiding Programmeren

Zelftest Inleiding Programmeren Zelftest Inleiding Programmeren Document: n0824test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST INLEIDING PROGRAMMEREN Deze

Nadere informatie

Dashboard. 1 Apr Apr 2012 Comparing to: Site % Bounce Rate. 125 Visits. 535 Pageviews. 00:02:23 Avg. Time on Site. 4.

Dashboard. 1 Apr Apr 2012 Comparing to: Site % Bounce Rate. 125 Visits. 535 Pageviews. 00:02:23 Avg. Time on Site. 4. Atoomclub Dashboard 1 Apr 212-3 Apr 212 2 2 1 1 2 Apr 9 Apr 16 Apr 23 Apr 3 Site Usage 125 24.% Bounce Rate 535 Pageviews :2:23 Avg. Time on Site 4.28 Pages/Visit 64.8% % New Traffic Sources Overview Map

Nadere informatie

User Profile Repository Technisch Ontwerp Versie 1.1

User Profile Repository Technisch Ontwerp Versie 1.1 CATCHPlus User Profile Repository Technisch Ontwerp Versie 1.1 Versie: 1.1 Publicatiedatum: 12-7-2011 Vertrouwelijk GridLine B.V., 2011 Pagina 1 van 12 Documenthistorie Datum Versie Beschrijving Auteur

Nadere informatie

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur

Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, uur Uitwerkingen derde deeltentamen Gameprogrammeren Vrijdag 6 november 2015, 11.00-13.00 uur 1. Deze opgave bestaat uit een aantal deelvragen. Houd het antwoord kort: één of twee zinnen per onderdeel kan

Nadere informatie

VoipCenter Application Programming Interface (API)

VoipCenter Application Programming Interface (API) Introductie Via de VoipCenter PBX API is het mogelijk om : 1. informatie op te vragen inzake de configuratie van : - SIP-accounts - Telefoonnummers - Tijdfilters zoals feestdagen, vakantieperiodes en kantooruren

Nadere informatie

Leer-Rijk Leveranciers API

Leer-Rijk Leveranciers API Leer-Rijk Leveranciers API Versie: 0.8 Laatst bijgewerkt op: 7-05-2018 Changelog 0.2 Verschillende status change velden toegevoegd zodat je kan zien controleren of een binnenkomende status change niet

Nadere informatie

Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur

Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, uur Aanvullende toets Gameprogrammeren (INFOB1GP) Woensdag 24 december 2014, 13.30-15.30 uur Naam: Studentnummer: Het tentamen bestaat uit 4 opgaven. Opgaven 1 levert 8 punten op, opgave 2 levert 12 punten

Nadere informatie

Dashboard. 1 Nov 2011-30 Nov 2011 Comparing to: Site. 27.14% Bounce Rate. 409 Visits. 2,197 Pageviews. 00:02:58 Avg. Time on Site. 5.

Dashboard. 1 Nov 2011-30 Nov 2011 Comparing to: Site. 27.14% Bounce Rate. 409 Visits. 2,197 Pageviews. 00:02:58 Avg. Time on Site. 5. Dashboard 1 Nov 211-3 Nov 211 4 4 2 2 Site Usage 49 27.14% Bounce Rate 2,197 Pageviews :2:58 Avg. Time on Site 5.37 Pages/Visit 69.44% % New Traffic Sources Overview Map Overlay Direct Traffic 293. (71.64%)

Nadere informatie

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM

Eigen Widgets in CRM. Introductie. Limitering. Widgets beschikbaar stellen. Tips & Tricks Eigen Widgets in CRM Tips & Tricks Eigen Widgets in CRM Eigen Widgets in CRM Introductie De WebUI van CRM 7.0 maakt het mogelijk om je eigen widgets te maken en deze in je eigen view te gebruiken. Dat kan door gebruik te maken

Nadere informatie

Navigatie is een belangrijk onderdeel van elke website. Er

Navigatie is een belangrijk onderdeel van elke website. Er Ben Bastiaensen is leerkracht informatica aan KTA de Merodelei Turnhout SiteMapProvider uitbreiden B R E I D D E N AV I G AT I O N C O N T RO L S U I T De SiteMapProvider in ASP.NET levert een krachtige

Nadere informatie

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information

Activant Prophet 21. Prophet 21 Version 12.0 Upgrade Information Activant Prophet 21 Prophet 21 Version 12.0 Upgrade Information This class is designed for Customers interested in upgrading to version 12.0 IT staff responsible for the managing of the Prophet 21 system

Nadere informatie

ASRemote WebService. Via deze webservice kunt u:

ASRemote WebService. Via deze webservice kunt u: ASRemote WebService De ASRemote WebService is een SOAP Webservice die softwarematige communicatie met Exact Globe mogelijk maakt vanaf een willekeurige locatie op het internet. Via deze webservice kunt

Nadere informatie

Dynamische Websites. Week 1. woensdag 18 september 13

Dynamische Websites. Week 1. woensdag 18 september 13 Dynamische Websites Week 1 AGENDA Intro PHP basic Arrays Debugging Forms file:/// Bestand html Browser file:/// html http:/// http response http request html HTTP HyperText

Nadere informatie

Website beoordeling pre-r.com

Website beoordeling pre-r.com Website beoordeling pre-r.com Gegenereerd op Januari 08 2016 17:33 PM De score is 67/100 SEO Content Title Pre-R Mobile Urgent Care in San Luis Obispo, CA Lengte : 49 Perfect, uw title tag bevat tussen

Nadere informatie

Hand-outs. Een succesvolle website in het mobiele tijdperk

Hand-outs. Een succesvolle website in het mobiele tijdperk Hand-outs Een succesvolle website in het mobiele tijdperk De mobiele revolutie Mobiele telefoons in 1999 Confidential & Proprietary Mobiel verkeer in Nederland 80% van de internetgebruikers bezat in 2016

Nadere informatie

Lab Webdesign: Javascript 7 april 2008

Lab Webdesign: Javascript 7 april 2008 H8: FORMULIEREN In dit hoofdstuk komt het "form"-object aan de orde: we zullen zien hoe we JavaScript kunnen gebruiken voor het manipuleren en valideren van de gegevens die een eindgebruiker invult in

Nadere informatie

SPOJ oplossingen Gilles Callebaut 7 augustus 2015

SPOJ oplossingen Gilles Callebaut 7 augustus 2015 SPOJ oplossingen 2012-2013 Gilles Callebaut 7 augustus 2015 DISCLAIMER Oefeningen zijn niet altijd correct of optimaal. Gelieve de oefeningen enkel te gebruiken ter ondersteuning. Van kopiëren leer je

Nadere informatie

Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS

Client Applicaties (Browser+Desktop) http/https. Apache Webserver. http proxy. WMS WFS Adm SLD Tomcat. Tomcat. GeoServer. PostGIS WMS voor Kadastrale kaart Limburg GEORZ-lab Datum: 17 juli 2009 Auteur: GEORZ-lab, Just van den Broecke Versie: 2 Contact: Ebrahim Hemmatnia (Adviseur PPI GEO, Kadaster), tel. 088 183 22 16. Inleiding

Nadere informatie