Webbplats med Zend Framework

Storlek: px
Starta visningen från sidan:

Download "Webbplats med Zend Framework"

Transkript

1 Examensarbete Webbplats med Zend Framework Pontus Karlsson Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E

2 Abstrakt I den här rapporten skapas en applikation med Zend Framework för att undersöka ramverket närmare. Zend Framework är ett av de största php-ramverken från grundarna av PHP. Rapporten är tänkt att hjälpa företag och privatpersoner, som tänker ta steget till Zend Framework, genom att skapa en introduktion till ramverket. Efter att ha läst rapporten kan förhoppningsvis beslut lättare fattas om företaget har tillräckligt med kompetens eller behov av att använda Zend Framework Pontus Karlsson

3 Abstract In this report an application is created with Zend Framework to closer examine the framework. Zend Framework is one of the largest PHP frameworks from the founders of PHP. The report is intended to help businesses and individuals who intend to change to Zend Framework, by creating an introduction. After reading this report you can hopefully make a better decision, as if the company has enough skills or the need to start use Zend Framework Pontus Karlsson

4 Innehållsförteckning Abstrakt... 2 Abstract... 3 Innehållsförteckning Bakgrund Introduktion till problemområdet Terminologi Avgränsningar Metod Genomförande Zend Framework och MVC Layout Zend Form Autentisering Auktorisering Resultat Litchidesign Epostformulär Inloggning Slutsats Källförteckning Litteraturförteckning Elektroniska källor Figurförteckning Pontus Karlsson

5 1. Bakgrund 1.1 Introduktion till problemområdet I denna studie kommer en webbplats för ett påhittat företag att skapas. Litchidesign som förtaget kommer att benämnas i bilder och exempel, har behov av en webbplats för information- och kommunikationssyfte. För framtagningen av webbplatsen kommer ramverket Zend Framework att användas. 1 Det viktiga i studien kommer inte vara att beskriva skapandet av en fullständig webblösning, utan snarare att undersöka ramverket Zend Framework för att studera förkunskapskrav för användning inom ett företag som inte tidigare använt sig av ramverk. Hur lätt är det för en utvecklare som tidigare inte har använt sig av ett ramverk, att göra denna övergång? Exempel som tas upp i uppsatsen baseras på utvecklingen av Litchidesigns webbplats. 1.2 Terminologi Här förklaras de termer och tekniska uttryck som kommer att användas i uppsatsen. Ramverk Ramverk (framework) betyder grundstomme eller grundstruktur. När man diskuterar detta i samband med webbutveckling beskrivs ett ramverk som en samling klasser eller bibliotek för att utveckla dynamiska webbsidor. 2 Wireframe En wireframe över en webbsida kan förklaras som en ritning över ett hus. Den beskriver alla delar av strukturen och var alla komponenter skall befinna sig i förhållande till varandra. Den beskriver inte vilken färg alla fönster skall ha utan fokuserar på funktionalitet, beteende och innehåll [ ] 2 [ ] 3 [ ] 5

6 Vanlig information att ha med i en wireframe är: Typ av information Funktionalitet Prioriteringen av funktioner och information Regler för att visa olika typer av information Effekten av olika val som kan göras av användaren Model View - Controller Model-View-Controller (MVC) är ett designmönster som ämnar underlätta arbetet inom systemutveckling genom att dela upp applikationen i olika logiska lager. Hantering av presentation (View) skall inte vara beroende av datahantering (Model). Controllern är en mellanliggande komponent som hanterar användarinteraktionen och gör det möjligt att ändra i de olika lagren utan att andra lager berörs. 4 Detta leder till enklare underhåll av applikationen. 1.3 Avgränsningar Zend Framework innehåller alltför många klasser och funktioner för den här typen av uppsats. Enbart de klasser som kommer att användas i utvecklingen av exempelwebbplatsen kommer att diskuteras mer ingående. De komponenter som kommer att finnas med i utvecklingen av exempelwebbplatsen förväntas skapa en så bred bild av ramverket som möjligt, för att enklare få ett sammanfattande intryck hur ramverket kan användas. 4 [ ] 6

7 2. Metod För att ta reda på hur lätt det är för nybörjare att lära sig att använda Zend Framework kommer undersökningen att utgå från Zend Frameworks egna dokumentation, samt böcker som skrivits i ämnet. De delar av ramverket som diskuteras närmare i denna uppsats valdes med anledning av deras frekventa förekomst på många webbplatser. De anses vara de delar som en nybörjare skulle börja med att implementera för att förstå ramverket Zend Framework. Den första delen av studien kommer att ta upp strukturen och katalogsystemet i Zend Framework. Detta för att det är en väsentlig del till att förstå och kunna börja arbeta med ett projekt. Slutligen beskrivs två olika delar, ett kontaktformulär och en inloggningssekvens. Dessa stycken visar på hur flödet i Zend Framework ser ut när man implementerar sina idéer. 7

8 3. Genomförande 3.1 Zend Framework och MVC Zend Framework baseras på en Model-View-Controller struktur som gör det lättare att dela upp applikationen i logiska delar där alla klasser och filer har en naturlig ordning. I nedladdningen av Zend Framework minimal version , som bara innehåller de grundläggande delarna för ramverket, medföljer en bin-katalog som innehåller filer för att göra anrop mot Zend_Tool. 5 Kommandotolken används för att skicka dessa anrop, som kan skapa hela katalogstrukturen för ett Zend Framework projekt, eller delar av den, som till exempel en vy. Fördelen med att använda Zend_Tool jämfört med att bygga katalogstrukturen för hand är den tidsbesparande aspekten samt att risken för att ett fel inträffar är minimal. 6 Figur 1. Katalogstruktur skapad med Zend_Tool 5 [ ] 6 (Padilla, 2009, s. 27) 8

9 I public, som Figur 1 visar, sker uppstarten av applikationen och värt att nämna här är att index.php hanterar laddningen av Zendbiblioteket som vanligen placeras i library mappen, samt sätter sökvägen till kärnan i projektet som ligger i application. Bootstrap.php initierar controllern genom dess förvalda sökväg controllers. Här kan fler resurser läggas till under tiden som en applikation utvecklas. Det samma gäller application.ini som bland annat lagrar databasinställningar, sökvägen till bootstrapfilen och felmeddelandehantering. 7 Förutom den tydliga MVC indelningen (se Figur 1) i den tänkta strukturen av ramverket, kan Zend Framework användas separat från designmönstret. Utvecklarna av ramverket kallar detta för användning efter egen vilja. Med detta menas att de flesta av komponenterna i ramverket inte är knutna till designmönstret MVC som i många andra ramverk. 8 Zend Framework är helt objektorienterat och arkitekturen uppmuntrar till återanvändning av kod som speciellt är viktigt vid webbutveckling där multipla vyer ofta används för samma slags data. 9 Zend Framework består av öppen källkod vilket innebär att alla utvecklare kan granska källkoden och buggar kan lokaliseras och åtgärdas snabbt vilket skapar en stabil kod. I mappen tests skapas en avbild av application för att kunna utföra enhetstestning med PhpUnit. Detta kommer inte att diskuteras i detta arbete. När index.php körs initieras Zend_Application som läser in variabeln APPLICATION_ENV i htaccess. Zend Framework erbjuder ett enkelt sätt att växla mellan inställningar i utvecklings- och produktionsarbete genom att sätta värdet i htaccess filen. 10 SetEnv APPLICATION_ENV development När applikationen skapas med Zend_Tool så är arbetsmiljön inställd på produktion och därmed syns inga felmeddelanden. 7 (Lyman, 2009, s. 11) 8 (Evans, 2008, s. 3) 9 (Evans, 2008, s. 4) 10 (Vaswani, 2010, s. 251) 9

10 Figur 2 visar det typiska flödet i en Zend Webbapplikation. Det första som händer när ett anrop sker är att htaccess filen skriver om anropet till standardformatet och skickar det vidare till index.php. Index.php ställer in sökvägen till applikationen, läser konfigurationsfilen och skapar en instans av Front controllern. Denna undersöker i sin tur URL:en för att hitta rätt kontroller och funktion. 11 Figur 2. Interaktion mellan modeller, vyer och kontrollers 12 Den motsvarande controllern med rätt funktionsanrop gör de ändringar i webbapplikationen som tilldelats den, genom att först anropa modellen och sedan vyn för att presentera resultatet. 13 Om en sökväg inte skulle hittas, kastas ett undantag och errorcontroller.php körs så ett felmeddelande av rätt typ kan visas för användaren (Vaswani, 2010, s. 27) 12 (Vaswani, 2010, s. 26) 13 (Vaswani, 2010, s. 27) 14 (Vaswani, 2010, s. 27) 10

11 3.2 Layout Utvecklingen av webbplatsen började med att strukturera upp vilka komponenter som är lämpligast att använda för att utforska ramverket. Detta exemplifieras av en wireframe (se Figur 3). Figur 3. Wireframe för Litchidesign Utifrån den wireframe som tagits fram går det att fastslå att delar av webbplatsen inte skulle behöva ändras dynamiskt, såsom Logotyp, Meny och Footer. Det som behövde undersökas var hur Zend Framework hanterade grundstrukturen av webbplatsen för att bara behöva implementera dessa delar en gång. För att slippa upprepa kod och lättare kunna göra ändringar, laddas delar in som templates i ett vy-skript, som kan beskrivas som en grundläggande xhtml-sida där 11

12 innehåll kan renderas ut på olika sätt. Figur 4 visar ett exempel på hur detta kan gå till. Den första av de två raderna kod i body-taggen renderar ut ett vy-skript som innehåller headern, överst i Html-dokumentet. Nedanför renderas det dynamiska innehållet, som användaren efterfrågat genom rätt controller och action. 15 Figur 4. Exempel på grundläggande vy-skript med platshållare. För att bestämma det grundläggande vy-skriptet måste sökvägen anges i application.ini. 16 resources.layout.layoutpath = APPLICATION_PATH "/layouts/scripts" resources.layout.layout = layout 15 (Pope, 2009, s. 102) 16 (Lyman, 2009, s. 29) 12

13 För att skapa en alternativ design av en webbplats kan teman användas. Genom inladdning av olika stilmallar, som tillsammans bildar ett tema, med hjälp av XML går det lätt att efter behov byta stil på en webbplats. Fördelen är att man bara behöver modifiera designen utan att behöva ändra innehållet på sidan. Alla vyerna under Zend Framework kontrolleras av Zend_View komponenten och tillhandahåller ett antal helpers för uppgifter som vyn utför och har i sin tur olika metoder. Ett exempel för länkning av en stilmall kan se ut på följande vis. 17 $this->view->headlink()->appendstylesheet('/css/font.css); När ovanstående kod används i en vy kommer font.css renderas ut inom head-taggen i vårt vy-skript istället för platshållaren(se Figur 4). För varje tema skrivs ett xml dokument som pekar på sökvägarna till temats stilmallar. Dessa sparas i lämplig katalogstuktur tillsammans med bilder och annat som tillhör temat. Med hjälp av Zend_Config_Xml kan sökvägarna till stilmallarna laddas in och sparas i en Array. Dessa kan sedan skrivas ut i en loop med hjälp av helpers. 18 I boken Beginning Zend Framework ges dessa exempel på helpers som kan vara användarbara för vanliga uppgifter i vyn. 19 doctype(string) skapar <doctype> element headlink() skapar ett <link> element headmeta() skapar ett <meta> element headscript() skapar ett <script> element headstyle() skapar ett <style> element headtitle() skapar ett <title> element 17 (Padilla, 2009, s. 88) 18 (Lyman, 2009, s. 34f) 19 (Padilla, 2009, s. 87f) 13

14 3.3 Zend Form För att ge användare en möjlighet att skicka meddelanden till webbplatsen skapas ett kontaktformulär med hjälp av ramverket. Figur 5 visar på det flöde som inträffar när en användare väljer att skicka ett meddelande via ett kontaktformulär. Figur 5. Sekvensdiagram för att skapa ett kontaktformulär och skicka det med E-post 14

15 Zend_Form innehåller många intressanta verktyg för att smidigt skapa formulär med olika typer av element. Zend_Form serverar formuläret som PHP-objekt och ingen html behöver användas i koden. 20 Enligt god sed skapas en mapp för alla formulär vilket medför enkelt återanvändande. För att rendera formuläret måste vissa tillägg göras i bootstrapfilen. Den förinställda Zend_Loader laddar alla library klasser som följer namngivning enligt Zend Library. I det här fallet skapas ett eget namnutrymme, Form_ med hjälp av Zend_Loader_AutoLoader_Resource som tillåter att sätta egna värden. 21 $resourceloader = new Zend_Loader_Autoloader_Resource(array( 'basepath' => 'Sökvägen/till/mina/formulär', 'namespace' => 'Form_', )); Som Figur 5 påvisar så gör användaren ett anrop mot KontaktController som skapar en instans av den egna klassen Form_ContactForm, vilken i sin tur ärver från ramverkets Zend_Form-klass. Om användaren har fyllt i formuläret och det har skett en Post med validerat data kan epostmeddelandet kan försöka skickas. Efter att ha extraherat data från formulärobjektet och satt de värdena som Zend_Mail kräver görs ett försök att skicka meddelandet. Misslyckas detta fångas ett undantag och meddelar användaren. Om formuläret inte går igenom valideringen renderas det igen och felmeddelanden följer automatiskt med i objektet. Zend_Form är uppbyggt av tre delar, Zend_View för visning, Zend_Validate för validering och Zend_Filter för filtrering. Varje komponent i ett formulär kapslar in överstående delar. 22 Zend_Validate komponenten har hand om valideringen i ett formulär och tillhandhåller många verktyg för validering. Även filtreringsverktyg finns 20 (Vaswani, 2010, s. 71) 21 (Lyman, 2009, s. 67) 22 (Pope, 2009, s. 195) 15

16 att tillgå genom Zend_Filter komponenten som erbjuder olika sätt att manipulera data i ett formulär. 23 Nedanför följer ett exempel på hur koden för ett epostfält kan skapas med hjälp av Zend_Form. Lägg märke till att genom Zend_Validate väljer vi att validera fältet som epost. Med hjälp av en array kan flera filter eller valideringar skickas in. I det här fallet filtreras textfältet genom att ta bort otillåtna tecken genom Zend_Filter_StringTrim och sedan omvandla alla bokstäver till gemener med Zend_Filter_StringToLower. AddErrorMessage ger oss möjlighet att skapa egna felmeddelanden eftersom de ursprungliga meddelandena är på engelska. För att garantera att fältet inte har lämnats tomt sätter vi setrequired till True. $ = $this->createelement('text', ' '); $ ->setlabel('epost'); $ ->setrequired(true); $ ->adderrormessage('du måste ange en giltig epostadress'); $ ->addvalidator(new Zend_Validate_ Address()); $ ->addfilters(array( new Zend_Filter_StringTrim(), new Zend_Filter_StringToLower() )); $ ->setattrib('size', 30); $this->addelement($ ); Till skillnad från validering på serversidan som ovanstående exempel, kan klientvalidering vara ett bra sätt att låta användaren direkt få ett gensvar ifall ett fällt är fel ifyllt. För att skapa denna funktionalitet används ofta Javascript. Dock betraktas inte klientvalidering som ett helt säkert sätt att validera på, om inte validering på serversidan också tillämpas. 24 LiveValidation är byggt med Javascript och används för klientvalidering. 25 Zend_View helpers har återigen används för att länka in dokumenten vid behov. 23 (Padilla, 2009, s. 130ff) 24 (Vaswani, 2010, s. 79) 25 [ ] 16

17 $this->headscript()->appendfile('/js/livevalidation/livevalidation.js'); 3.5 Autentisering De flesta webbsidor idag har någon form av inloggning. För att testa hur Zend sköter hanteringen av användare och roller skapas en databas med en enkel databastabell (MySQL) som innehåller användarnamn, lösenord och roll. Zend Framework använder sig av Zend_Db_Adapter, som är en samling klasser för att koppla upp sig mot en databas och inkluderar många kommersiella databassystem som Microsoft SQL server och MySQL. 26 Tack vare ett gemensamt interface går det lätt att byta från det ena systemet till det andra. Zend_Application_Resource_Db gör att man bara behöver lägga till sina inställningar i application.ini och sedan registrera den med Zend_Db_Table som den anslutning som förvalt kommer användas. 27 resources.db.adapter = "pdo_mysql" resources.db.params.host = " " resources.db.params.username = "root" resources.db.params.password = "" resources.db.params.dbname = "litchidesign" resources.db.isdefaulttableadapter = true Efter att ha hämtat vår förvalda adapter kan den skickas. Det gör den tillsammans med tabellnamnen och tabellen där användarnamn och lösenord är lagrade, när vi skapar en instans av Zend_Auth_Adapter_DbTable. 28 $dbadapter = Zend_Db_Table::getDefaultAdapter(); $authadapter = new Zend_Auth_Adapter_DbTable($dbAdapter); $authadapter ->settablename('users') ->setidentitycolumn('username') 26 [ ] 27 (Lyman, 2009, s. 54f) 28 [ ] 17

18 ->setcredentialcolumn('password'); Genom att sätta värdena setidentity() och setcredentials() med användarnamn och lösenord behöver bara authenticate() anropas för att kolla om en användare är autentiserad. Resultatet som returneras innehåller olika strängar beroende på utfallet. De kan i sin tur testas mot metoden isvalid() på följande sätt. 29 $result = $authadapter->authenticate(); if ($result->isvalid()) För att ha möjlighet att var som helst i applikationen kunna undersöka om en användare är inloggad och auktoriserad sparas värdera, med användarnamn, lösenord och roll, i Zend_Auth. 30 $auth = Zend_Auth::getInstance(); $storage = $auth->getstorage(); $storage->write($authadapter->getresultrowobject(array('user', 'password', 'role'))); Genom att hämta instansen och undersöka om den innehåller en identitet vet vi om en användare är inloggad. Det förinställda värdet för hur länge sessionen sparas är tjugo minuter men möjligheter finns att specificera värdet. 31 Zend_Auth::getInstance()->hasIdentity() 29 (Lyman, 2009, s. 161) 30 [ ] 31 (Lyman, 2009, s. 168) 18

19 På liknande sätt kan en användare loggas ut genom att ta bort värdena från Zend_Auth med funktionen clearidentity(). Zend_Auth implementerar Singletonmönstret och kan därför bara lagra en instans åt gången. 32 Det skall tilläggas att Zend Framework har fler sätt för autentisering såsom Digest, HTTP, LDAP och Open ID. 3.6 Auktorisering I många fall räcker det inte att veta om en användare är den de utger sig för att vara som vid en autentisering. Exempelvis kan en användare ha rollen som administratör och då ha obegränsad tillgång till alla sidor på en webbplats. Men om en användare har rollen user har denne begränsad tillgång. För att kontrollera det här behöver vi även auktorisera användaren. Auktorisering är det som bestämmer om någon får göra ändringar för en given resurs och bestäms av Zend_Acl. Som nämnts tidigare så är det bootstrapfilen som kör igång frontcontrollern efter att ha läst in värdena i applikation.ini. Frontcontrollern tillåter tillägg, vilket gör det möjligt att skapa ett sådant för att validera en resurs vid varje anrop, innan anropet skickas vidare till den efterfrågade kontrollern. 33 resources.frontcontroller.plugins.acl = "MyLibrary_Controller_Plugin_Acl" Med en instans av Zend_Acl kan vi lägga till de roller som vi behöver. Rollerna ärver nedåt och varje roll kan ha de rättigheter som tilldelats dem plus de rättigheter som de ärver ifrån. Användaren kan utföra samma uppgifter som gästen plus sina egna tilldelade rättigheter. Gästen kan bara utföra sina egna. 34 $acl->addrole(new Zend_Acl_Role('guest')); $acl->addrole(new Zend_Acl_Role('user'), 'guest'); $acl->addrole(new Zend_Acl_Role('administrator'), 'user'); 32 (Lyman, 2009, s. 159) 33 (Lyman, 2009, s. 166) 34 [ ] 19

20 En resurs är något på webbplatsen som behöver skyddas och kan vara en controller. Här finns också möjligheter till arv precis som vid skapandet av roller men det visas inte i exemplet nedan. 35 $acl->add(new Zend_Acl_Resource('index')); $acl->add(new Zend_Acl_Resource('secret')); $acl->add(new Zend_Acl_Resource('admin')); Vad en användare får se och inte får se bestäms av metoderna deny() och allow() som tar tre argument, roll, resurs och rättighet. Om administratören håller alla rättigheter, kan fältet med resurs och rättighet bytas ut mot null. 36 $acl->allow('guest', 'index', array('index')); $acl->allow('user', 'index', array('secret')); $acl->allow('administrator', null); 35 (Allen & Nick, 2007, s. 98) 36 (Lyman, 2009, s. 167) 20

21 Figur 6. Samverkan mellan Zend_Auth och Zend_Acl 37 Figur 6 visar vad som sker vid ett anrop till en controller på webbplatsen. Med en instans av Zend_Auth kontrolleras om användaren har en identitet lagrad. Om Zend_Auth innehåller en användare sparas rollen i en variabel. Genom att jämföra med de regler som satts upp med Zend_Acl (se nedan) kan användaren med rättigheter skickas till den efterfrågade 37 (Allen & Nick, 2007, s. 101) 21

22 controllern. Saknar användaren rättigheter skickas denne vidare till formuläret för att logga in. 38 $controller = $request->controller; $action = $request->action; if (!$acl->isallowed($role, $controller, $action)) 38 (Lyman, 2009, s. 168) 22

23 4. Resultat 4.1 Litchidesign Figur 7. Litchidesigns demonstrerar slutresultatet för Litchidesigns huvudlayout. Bilden visar också hur ett felmeddelande visas när användaren inte fyllt i användarnamn eller lösenord samt en Javascript- och Css-funktion i innehållsdelen. Figur 7. Litchidesigns förstasida 23

24 4.2 Epostformulär Med hjälp av Zend_Form skapades ett kontaktformulär. Figur 8 visar på klientvalidering medan Figur 9 visar ett exempel på validering på servern med egna felmeddelanden. Figur 8. Litchidesigns Epostformulär 24

25 25 Figur 9 Validering på servern med egna felmeddelanden.

26 4.3 Inloggning En administratör har tillgång till sidan som admin länken i footern pekar på. Om man däremot är inloggad som vanlig användare har man inga rättigheter enligt Zend_Acl att se den. Figur 10 visar på detta scenario. Figur 10. En användare som inte har rättigheter att administrera innehåll 26

27 5. Slutsats Zend ramverket är inte gjort för nybörjare skulle vara naturligt att yttra nu, men jag antar att det beror på hur man definierar nybörjare. Att Zend Framework kräver en förståelse för objektorienterad programmering och PHP är en självklarhet. Att skapa ett Zend Framework projekt för enklare applikationer skulle vara onödigt krångligt, men om du har för vana att upprepade gånger skapa större applikationer är det en annan sak. Tack vare den objektorienterade strukturen kan ett projekt växa med tiden och kod återanvändas. Zend Frameworks egna dokumentation är omfattande men inte särskilt tydlig. Flera böcker har skrivits i ämnet och har bidragit med den största insikten i ramverket. Med böckerna, där man enklare kan följa den röda tråden, kan en helhetsförståelse införskaffas för personer med lite erfarenhet av ramverk. När man införskaffat den övergripande kunskapen blir det lättare att förstå Zend Frameworks egna dokumentation. Att verkligen känna sig trygg med ramverket skulle naturligtvis ta ytterligare tid. Den kunskap som kan införskaffas under tio veckor är bara helhetsförståelse och inga detaljkunskaper. Inga klasser i Zend Library har dissekerats och förklarats noggrannare. Detta är förstås tvunget för en utvecklare som dagligen skulle arbeta med ramverket. Jag antar att den här uppsatsen inte blir riktigt intressant förrän mer övergripande funktionalitet implementeras. Hade mina kunskaper varit mer omfattande när jag började arbeta, skulle det varit intressant att se hur lätt det hade varit att implementera egen funktionalitet kring ramverket och använda den inbyggda funktionaliteten för att arbeta med API som Google, Flickr och Amazon. Det hade också varit intressant att jämföra fler olika ramverk för att upptäcka för och nackdelar. Att arbeta med ett ramverk ger en känsla av frihet och kodningen tar mindre tid, men samtidigt är man utlämnad då man inte har fullständig koll på vad som händer under ytan. Det är svårt att komma med kritik mot Zend Framework i ett mindre arbete som det här, vilket driver oss till slutsatsen att du inte gör bytet till Zend Framework över en helg. Det är ingen tvekan att många timmar kan sparas i framtiden när du behärskar ramverket. Frågan är bara hur lång tid du har på dig att lära dig det. 27

28 6. Källförteckning 6.1 Litteraturförteckning Allen, R., & Nick, L. (2007). Zend Framework in Action. Greenwich: Manning Publications. Evans, C. (2008). php architect s Guide to Programming with Zend Framework. Toronto: Marco Tabini. Lyman, F. (2009). Pro Zend Framework Techniques, Build a Full CMS Project. New York: Apress. Padilla, A. (2009). Beginning Zend Framework. New York: Apress. Pope, K. (2009). Zend Framework 1.8 Web Applikation Development. Birmingham: Packt Publishing Ltd. Vaswani, V. (2010). Zend Framework, A Beginner s Guide. New York: McGrawHill. 6.2 Elektroniska källor Frameworkzend.com. [Webbsida]. Tillgänglig: [ ] [ ] [ ] [ ] [ ] [ ] 28

29 Wikipedia.org [Webbsida]. Tillgänglig: [ ] [ ] [ ] Livevalidation.com [Webbsida]. Tillgänglig: [ ] 6.3 Figurförteckning Figur 1. Katalogstruktur skapad med Zend_Tool... 8 Figur 2. Interaktion mellan modeller, vyer och kontrollers Figur 3. Wireframe för Litchidesign Figur 4. Exempel på grundläggande vy-skript med platshållare Figur 5. Sekvensdiagram för att skapa ett kontaktformulär och skicka det med E-post Figur 6. Samverkan mellan Zend_Auth och Zend_Acl Figur 7. Litchidesigns förstasida Figur 8. Litchidesigns Epostformulär Figur 9 Validering på servern med egna felmeddelanden Figur 10. En användare som inte har rättigheter att administrera innehåll

30 Växjö / Kalmar Tel dfm@lnu.se Lnu.se

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av

Läs mer

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.

Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP. Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär

Läs mer

Serviceklass för Facebook Graph API

Serviceklass för Facebook Graph API Examensarbete Serviceklass för Facebook Graph API Marco Iu 2010-05-24 Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E Abstrakt Rapporten grundar sig på en delmängd av ett projekt som utfördes åt uppdragsgivaren

Läs mer

Räkna med ASP.NET MVC 3

Räkna med ASP.NET MVC 3 Instruktion Räkna med ASP.NET MVC 3 Introduktionsuppgift Författare: Mats Loock Kurs: ASP.NET MVC Kurskod:1DV409 Innehåll Du ska följa steg-för-steg -instruktionen i denna introduktionsuppgift och skapa

Läs mer

<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>

<script src= http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js></script> AngularJS Skriven av: Isak Glans. Datum: 2015-04-29. Kurs: Webbutveckling. Lärare: Per Sahlin. Utbildning: Systemutvecklare i.net, Newtons Yrkeshögskola. 1 Sammanfattning Syftet med denna uppsats är att

Läs mer

Introduktion till MySQL

Introduktion till MySQL Introduktion till MySQL Vad är MySQL? MySQL är ett programmerings- och frågespråk för databaser. Med programmeringsspråk menas att du kan skapa och administrera databaser med hjälp av MySQL, och med frågespråk

Läs mer

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

Labora&on 7 Syfte med laborationen:

Labora&on 7 Syfte med laborationen: Labora&on 7 Syfte med laborationen: - att förstå enkel 7ilhantering i PHP - att repetera grundläggande PHP- begrepp såsom loopar, arrayer, stränghantering och formulär. VIKTIGT: uppgift 3-5 är repetitionsuppgifter

Läs mer

ASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll

ASP.NET MVC. Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se. Innehåll ASP.NET MVC Copyright Mahmud Al Hakim mahmud@dynamicos.se http://www.webbacademy.se Innehåll Introduktion till MVC Controller Action-metoder Views Arbeta med Layout-sidor och sektioner Route konfiguration

Läs mer

Analys av Zend Framework

Analys av Zend Framework Examensarbete Analys av Zend Framework Tapani Välijeesiö 2011-06-27 Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E Abstrakt Denna rapport kommer att behandla Zend Framework med utgångspunkt av en webbapplikation.

Läs mer

MVC med Javascript och Ajax. Filip Ekberg

MVC med Javascript och Ajax. Filip Ekberg MVC med Javascript och Ajax Filip Ekberg MVC med Javascript och Ajax Lektion 7 ASP.NET MVC mail@filipekberg.se Veckans mål ASP.NET MVC Repetition & Diskussion Vad är MVC? Vad är ASP.NET MVC? Hur skapar

Läs mer

Kursplanering Utveckling av webbapplikationer

Kursplanering Utveckling av webbapplikationer Kursplanering Utveckling av webbapplikationer Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-WEB Klass Systemutvecklare.NET Syfte och koppling till yrkesrollen För att kunna arbeta som systemutvecklare

Läs mer

Joomla CMS Del 2 av 2

Joomla CMS Del 2 av 2 JOOMLA 3 CMS GRUNDKURS DEL 2 AV 2 Innehåll Extern Struktur Menyer och Sidor Användare och Åtkomstnivåer Skapa en sida som kräver inloggning Moduler och Positioner Sökmotor och undermenyer Copyright Mahmud

Läs mer

Innehåll. Dokumentet gäller från och med version 2014.3 1

Innehåll. Dokumentet gäller från och med version 2014.3 1 Innehåll Introduktion... 2 Före installation... 2 Beroenden... 2 Syftet med programmet... 2 Installation av IIS... 2 Windows Server 2008... 2 Windows Server 2012... 6 Installation av webbapplikationen

Läs mer

Installera din WordPress med 9 enkla steg

Installera din WordPress med 9 enkla steg Installera din WordPress med 9 enkla steg Den här artikeln förutsätter att du har satt upp en webbserver eller har köpt ett webbhotell där du kan placera din nya WordPress hemsida. Om du inte har det,

Läs mer

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2) 1 Instruktioner Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 2. Logga in (SIDA 2) 3. Hem (SIDA 2) 4. Skapa/redigera sidor (SIDA 3) 41. Lägg till ny sida (SIDA 3) 42. Avancerat (SIDA 4) 5. Texteditor (SIDA

Läs mer

I den här labben ska vi använda oss av en trevlig nyhet i HTML5: Local Storage, för att implementera en sorts lokal gästbok.

I den här labben ska vi använda oss av en trevlig nyhet i HTML5: Local Storage, för att implementera en sorts lokal gästbok. Lokal Gästbok I den här labben ska vi använda oss av en trevlig nyhet i HTML5: Local Storage, för att implementera en sorts lokal gästbok. Gästboken ska fungera som så att man har ett fält där man kan

Läs mer

Designmönster i Javascript

Designmönster i Javascript C-uppsats i Datavetenskap Designmönster i Javascript Författare: Fredrik Johansson Handledare: Martin Blomberg Termin:VT11 Kurskod: 2DV40E Abstrakt Programmeringsspråket Javascript har sina brister som

Läs mer

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.

Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text. Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare

Läs mer

Modul 8 Hantering av indata

Modul 8 Hantering av indata Modul 8 Hantering av indata Indata De flesta webbplatser idag tillåter användare att mata in data Utan denna möjlighet hade inte webben varit vad den är idag Tyvärr innebär detta stora säkerhetsrisker

Läs mer

CMS, optimerade för programmerare Eller hur kan ett sådan skapas.

CMS, optimerade för programmerare Eller hur kan ett sådan skapas. Examensarbete CMS, optimerade för programmerare Eller hur kan ett sådan skapas. David Strömbom 2011-05-20 Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E Abstrakt Denna rapport fokuserar på att undersöka några

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Usability & interaktionsdesign Projektintroduktion Bildbehandling. Byte av handledare Istället för Martin Johansson Annsofi Pettersson, annpe655@student.liu.se

Läs mer

Storegate Pro Backup. Innehåll

Storegate Pro Backup. Innehåll Storegate Pro Backup Välkommen! I denna manual kan du bland annat läsa om funktioner och hur du ska konfigurerar programmet. Läs gärna vårt exempel om versionshantering och lagringsmängd innan du konfigurerar

Läs mer

Instruktion för integration mot CAS

Instruktion för integration mot CAS IT-enheten Instruktion för integration mot CAS Per Hörnblad Instruktion 2010-10-29 Sid 1 (7) Instruktion för integration mot CAS Projektnamn Instruktioner för Integration mot CAS Fastställt av Per Hörnblad

Läs mer

Hemsideutveckling för Anjool AB

Hemsideutveckling för Anjool AB Beteckning: Akademin för teknik och miljö Hemsideutveckling för Anjool AB Christopher Gidlöf Maj 2012 Examensarbete 15hp B nivå Datavetenskap Internetteknologi Examinator: Carina Petterson Handledare:

Läs mer

Webbprogrammering TDDD52

Webbprogrammering TDDD52 Webbprogrammering TDDD52 ERD MySQL+PHP. Förra gången Idag Javascript jquery Progressive enhancement XML & AJAX Lab 4 och 5 Sammanfattning av kursen. Om databastabeller varje tabell ska beskriva en typ

Läs mer

Instruktioner för att skapa konton i MV-login

Instruktioner för att skapa konton i MV-login Instruktioner för att skapa konton i MV-login MV-Login är ett inloggningssystem, avsett för inloggning i MV-Nordics program, webbprogram och appar. Administration av systemet samt webbprogramen finner

Läs mer

TUTORIAL: KLASSER & OBJEKT

TUTORIAL: KLASSER & OBJEKT TUTORIAL: KLASSER & OBJEKT I denna tutorial lär vi oss att använda klasser och objekt samt hur vi bygger en enkel applikation kring dessa. I tutorialen kommer det finnas en mängd kod som du antingen kan

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10 Projekt Rapport RaidPlanner Jeanette Karlsson UD10 Abstrakt: Denna rapport handlar om mitt projekt i kursen Individuellt Mjukvaruutvecklings projekt. Rapporten kommer att ta upp hur jag gått tillväga,

Läs mer

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18

Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Varför ska man använda ett CMS? Vilka är fördelarna och är det alltid bra? Kattis Lodén 2010-03-18 Innehåll Inledning... 3 Fakta... 4 Innehåll... 4 Texthantering... 4 Granskning och versionshantering...

Läs mer

Guide för Innehållsleverantörer

Guide för Innehållsleverantörer Library of Labs Content Provider s Guide Guide för Innehållsleverantörer Inom LiLa ramverket är innehållsleverantörer ansvariga för att skapa experiment som "LiLa Learning Objects", att ladda upp dessa

Läs mer

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03

Slutrapport för JMDB.COM. Johan Wibjer 2012-06-03 Slutrapport för JMDB.COM Johan Wibjer 2012-06-03 Abstrakt Den här rapporten kommer handla om mitt projekt som har handlat om att gör en webb sida för ett personligt media bibliotek, hur jag har jobbar

Läs mer

Services + REST och OAuth

Services + REST och OAuth Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different

Läs mer

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone

Appar med ryggrad. Introduktion till JavaScriptramverket Backbone Appar med ryggrad Introduktion till JavaScriptramverket Backbone Vanlig webbsida Databas MVC - Model View Controller MVC - Model View Controller MVC Backbone.js Ger struktur Bygger på MVC konceptet Tvingar

Läs mer

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt. Kom igång Logga in Skriv in adressen till din webbsida följt av /login. Exempel: www.minsajt.se/login Nu dyker en ruta upp på skärmen. Fyll i ditt användarnamn och lösenord och klicka på "logga in". Nu

Läs mer

Filleveranser till VINN och KRITA

Filleveranser till VINN och KRITA Datum Sida 2017-04-25 1 (10) Mottagare: Uppgiftslämnare till VINN och KRITA Filleveranser till VINN och KRITA Sammanfattning I detta dokument beskrivs översiktligt Vinn/Kritas lösning för filleveranser

Läs mer

LUPstudentpapers. Manual Reviewer

LUPstudentpapers. Manual Reviewer LUPstudentpapers Manual Reviewer 1:1 10/3 2009 Manual Reviewer Om du vill granska uppsatser vid din institution men ännu inte är registrerad som Reviewer, vänligen kontakta Publicera@lub.lu.se. Om du redan

Läs mer

Content Management System. Publiceringssystem

Content Management System. Publiceringssystem Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor

Läs mer

Mamut Open Services. Mamut Kunskapsserie. Kom i gång med Mamut Online Survey

Mamut Open Services. Mamut Kunskapsserie. Kom i gång med Mamut Online Survey Mamut Open Services Mamut Kunskapsserie Kom i gång med Mamut Online Survey Kom i gång med Mamut Online Survey Innehåll MAMUT ONLINE SURVEY... 1 KOM I GÅNG MED MAMUT ONLINE SURVEY... 3 MAMUT-ANVÄNDARE:

Läs mer

Compose Connect. Hosted Exchange

Compose Connect. Hosted Exchange Sida 1 av 15 Compose Connect Hosted Exchange Presentation av lösningen: Compose Hosted Exchange Följande möjligheter finns för hantering av e-post 1. Lokalinstallerad Outlook-klient För att kunna använda

Läs mer

Manual för Typo3 Site-Admins version 4.04

Manual för Typo3 Site-Admins version 4.04 2008-05-09 Manual för Typo3 Site-Admins version 4.04 1 2 Innehåll: 1. Ändra formelement på sidan 4 1.1 Adress 6 1.2 Pil-länkar 6 1.3 Länk-meny 6 1.4 Sidansvarig 6 1.5 Toppbild 7 1.6 Institutionslänk 7

Läs mer

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09

Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 Prova på-laboration i PHP Johan Sjöholm johsj@ida.liu.se Institutionen för datavetenskap, Linköpings universitet 2009-08-09 1. Introduktion till webbprogrammering Webbprogrammering består av ett antal

Läs mer

Nya webbservern Dvwebb.mah.se

Nya webbservern Dvwebb.mah.se Nya webbservern Dvwebb.mah.se Bakgrund: BIT (Bibliotek och IT) beslutar att ta ner Novell systemet 28/3 som är en katalogtjänst som styr bland annat alla studenter s.k. hemkataloger på Malmö högskola såväl

Läs mer

XtraMatLagning. August Ek och Oscar Johnson. TNM065 Dokumentstrukturer

XtraMatLagning. August Ek och Oscar Johnson. TNM065 Dokumentstrukturer XtraMatLagning August Ek och Oscar Johnson TNM065 Dokumentstrukturer 2013 12 13 Sammanfattning Syftet med det här projektet är att skapa en användarvänlig XML baserad webbtjänst som gör det enkelt att

Läs mer

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er

Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi<er Labora&on 1 Introduk&on &ll utvecklingsmiljön övningar/uppgi

Läs mer

2009-08-20. Manual för Typo3 version 4.2

2009-08-20. Manual för Typo3 version 4.2 2009-08-20 Manual för Typo3 version 4.2 1 2 Innehåll: 1. Allmänt 4 2. Grunderna i Typo3 5 2.1 Knappar 5 2.2 Inloggning 5 2.3 Den inledande vyn 6 2.4 Sidträdet 7 3. Sidor 8 3.1 Skapa en ny sida 8 3.1.1

Läs mer

Laboration 6 Formulär och stränghantering övningar/uppgifter

Laboration 6 Formulär och stränghantering övningar/uppgifter Laboration 6 Formulär och stränghantering övningar/uppgifter 1M322 Webbteknik 2, 7,5hp Medieteknik 2017 Rune Körnefors rune.kornefors@lnu.se 1. Ladda ner arbetsdokument Till övningarna i denna laboration

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query). Arbeta med databas Översikt Arbeta med Entity Data Models. LINQ (Language Integrated Query). Lektion 1: Arbeta med Entity Data Models Introduktion till ADO.NET Entity Framework. Stöd i ADO.NET Entity Framework.

Läs mer

Programbeskrivning. Chaos på Web. Version 1.0 2005-09-21

Programbeskrivning. Chaos på Web. Version 1.0 2005-09-21 2005-09-21 Programbeskrivning Chaos på Web Version 1.0 Chaos systems AB Tel. 08-410 415 00 e-post: info@chaos.se Solna strandväg 18, 6tr Fax. 08-29 06 66 http://www.chaos.se 171 54 SOLNA Reg. nr: 556476-6813

Läs mer

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet

WP-Edit. Robin Larsson Martin Davik. Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet WP-Edit Robin Larsson Martin Davik 2014 Examensarbete, grundnivå, 15 hp Datavetenskap Internetteknologprogrammet Handledare: Anders Jackson Examinator: Carina Pettersson WP-Edit av Robin Larsson Martin

Läs mer

ADO.NET Murach Kapitel 17-20

ADO.NET Murach Kapitel 17-20 Databaser och C# ADO.NET Murach Kapitel 17-20 2013-01-30 1 Winstrand Development Databas ADO.NET Är en del av.net ramverket och tillhandahåller delar för att kommunicera med olika datakällor. Dessa kan

Läs mer

INSTALLATION AV KLIENT

INSTALLATION AV KLIENT INSTALLATION AV KLIENT BOOK-IT 8.0 2015-03-27 Axiell Sverige AB, Box 24014, 224 21 Lund Fältspatvägen 4, 224 78 Lund, tel: 046-2700 400, e-post: axiellsverige@axiell.com Innehållsförteckning Förberedelse

Läs mer

Mål med lektionen! Repetera och befästa kunskaperna.

Mål med lektionen! Repetera och befästa kunskaperna. Entity Framework Mål med lektionen! Repetera och befästa kunskaperna. Vad lektionen omfattar Repetera och gå igenom kursen lite snabbt. Vilka problem vill vi lösa? Vi arbetar med Webbapplikationer Vi kommer

Läs mer

CMS. - Content management system

CMS. - Content management system CMS - Content management system Agenda CMS Server, webbhotell och FTP Wordpress, ställ mycket frågor Om vi hinner - Snabb genomgång av CMS - uppgiften Nu & Då Sidor med bara HTML och CSS kräver manuell

Läs mer

Frågor och svar om ArcGIS Pro Licensiering

Frågor och svar om ArcGIS Pro Licensiering Frågor och svar om ArcGIS Pro Licensiering Tillgång och åtkomst till ArcGIS pro Hur får jag tag på nya ArcGIS Pro applikationen? - ArcGIS Pro är en ny applikation som är tillgänglig som del av ArcGIS for

Läs mer

Slutrapport Get it going contracts

Slutrapport Get it going contracts Slutrapport Get it going contracts Författare: Anthony Dry Datum: 2011-06-02 Program: Utvecklare av digitala tjänster Kurs: Individuellt mjukvaruutvecklingsprojekt 7.5p Linnéuniversitetet (Kalmar) Abstrakt

Läs mer

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

emopluppen Användning av Ant Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC) emopluppen Användning av "Ant" Version: 1.4 ( 2002/04/26 07:27:52 UTC) Niklas Backlund Sammanfattning Det här dokumentet handlar om programmet Ant, som är en byggmiljö för programutvecklingsprojekt. Dess

Läs mer

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem

Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Laboration 3 i kursen Produktion för tryckta medier och webb: Webbplatsproduktion med ett publiceringssystem Målsättning Att bygg upp en komplett webbplats i ett publiceringssystem. Platsen ska vara snygg,

Läs mer

Instruktion. Datum. 2013-06-19 1 (12) Coverage Dokument id Rev Status? - 1.0 Godkänd. Tillhör objekt -

Instruktion. Datum. 2013-06-19 1 (12) Coverage Dokument id Rev Status? - 1.0 Godkänd. Tillhör objekt - 20130619 1 (12)? 1.0 Godkänd Secure Manager Guide Hantera användarprofiler i tjänsten Telia Secure Manager Dokumentet beskriver hur du som administratör beställer och hanterar användarprofiler i administrationsportalen

Läs mer

Manual HSB Webb brf 2004 03 23

Manual HSB Webb brf 2004 03 23 TERMINOLOGI I Polopoly används ett antal grundläggande begrepp för publicering och hantering av information, eller innehåll som det också benämns. Nedan följer en kort genomgång av denna grundläggande

Läs mer

OBS! Figuren visar inte alla aspekter och objekt som är inblandade i säkerhetssystemet.

OBS! Figuren visar inte alla aspekter och objekt som är inblandade i säkerhetssystemet. 1 OBS! Figuren visar inte alla aspekter och objekt som är inblandade i säkerhetssystemet. Det finns i princip två sätt att komma åt SQL-Server, det är via Windows login och SQLserver login. Vid Windows

Läs mer

Manual. Verktyg för skolanalys. Astrakan. Motion Chart på enkelt sätt. Artisan Global Media

Manual. Verktyg för skolanalys. Astrakan. Motion Chart på enkelt sätt. Artisan Global Media Manual Astrakan Verktyg för skolanalys Motion Chart på enkelt sätt Artisan Global Media ~ 2 ~ Innehåll Manual för Verktyg för skolanalys... 3 Skapa ett konto och logga in... 3 Arbeta med analysdata och

Läs mer

Steg-för-steg-guide så lånar du en e-bok på en dator!

Steg-för-steg-guide så lånar du en e-bok på en dator! Steg-för-steg-guide så lånar du en e-bok på en dator! För datorer (PC/Mac) rekommenderar vi att använda gratisprogrammet Adobe Digital Editions. 1. Skaffa lånekort och PIN-kod. För att låna e-medier krävs

Läs mer

Labora&on 8 Formulär övningar/uppgi6er

Labora&on 8 Formulär övningar/uppgi6er Labora&on 8 Formulär övningar/uppgi6er 1M321 Webbteknik 1, 7,5hp Medieteknik 2015 Rune Körnefors rune.kornefors@lnu.se 1a. Ladda ner arbetsdokument Till övningarna i denna labora&on finns det en par dokument

Läs mer

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Sida: 1(7) Installationsanvisningar VisiWeb Ansvarig: Visi Closetalk AB Version: 2.3 Datum: 2009-12-14 Mottagare: Visi Web kund Detta dokument Detta dokument beskriver hur man installerar VisiWeb på en

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

UochM Kundsupport 1. Du har fått ett e-mail från UochM med följande information (har du inte fått det så kontaktar du UochM):

UochM Kundsupport 1. Du har fått ett e-mail från UochM med följande information (har du inte fått det så kontaktar du UochM): UochM Kundsupport 1 Lägg till ett nytt e-postkonto Du har fått ett e-mail från UochM med följande information (har du inte fått det så kontaktar du UochM): E-postkonto (t.ex. demo@uochm.com) Användarnamn

Läs mer

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll FrontPage Express I programpaketet Internet Explorer 4.0 och 5.0 ingår också FrontPage Express som installeras vid en fullständig installation. Det är ett program som man kan använda för att skapa egna

Läs mer

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse Verktyg och Utvecklingsmiljö Föreläsning 2 Eclipse Verktyg Modern programutveckling innebär att man måste behärska ett antal verktyg. Editorer Kompilatorer Avlusare(debugger) Versionshantering(kommer i

Läs mer

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!

Läs mer

Introduk+on +ll programmering i JavaScript

Introduk+on +ll programmering i JavaScript Föreläsning i webbdesign Introduk+on +ll programmering i JavaScript Rune Körnefors Medieteknik 1 2012 Rune Körnefors rune.kornefors@lnu.se Språk Naturliga språk Mänsklig kommunika+on T.ex. Svenska, engelska,

Läs mer

För att öppna galleriet, ange adressen http://www.galleri.storsjobygdensfotoklubb.se

För att öppna galleriet, ange adressen http://www.galleri.storsjobygdensfotoklubb.se Använda Bildgalleriet För att öppna galleriet, ange adressen http://www.galleri.storsjobygdensfotoklubb.se Logga in För att skapa och administrera album för galleriet ska du logga in. Användarnamn är användarens

Läs mer

Spelprogrammering med JavaScript och HTML5

Spelprogrammering med JavaScript och HTML5 Spelprogrammering med JavaScript och HTML5 Vad är vårt syfte? Eleverna ska komma igång fort med programmering. Det ska vara roligt från början. Resultatet ska vara enkelt att visa för kompisar och familj.

Läs mer

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad: Produkt: GEOSECMA Modul: LVDB Skapad för Version: 10.4.1 Uppdaterad: 2019-05-21 LVDB i GEOSECMA Innehåll Inledning... 1 Hämta XML från NVDB... 2 Full LVDB-import... 3 Inkentell LVDB-import... 4 NVDB inställningar...

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Författare Version Datum. Visi System AB 2.0 2009 03 30

Författare Version Datum. Visi System AB 2.0 2009 03 30 1. Syfte Syftet med detta dokument är att beskriva hur man installerar Visi på din dator. Dokumentet är uppdelat i fyra delar: Installation Grundinställningar Kom igång med Visi Felsökning 1.1. Systemkrav

Läs mer

Ekonomiportalen Sa kommer du iga ng

Ekonomiportalen Sa kommer du iga ng Ekonomiportalen Sa kommer du iga ng Innehållsförteckning Inloggningssidan... 2 Så här loggar du in... 3 Glömt ditt lösenord? Så här återställer du ditt lösenord... 4 Glömt lösenord till kundgemensamt rapportkonto?...

Läs mer

Nyheter i. Solen Administration 6.6

Nyheter i. Solen Administration 6.6 Nyheter i Solen Administration 6.6 Solen Administration Nyheter och förbättringar Office oberoende. Vi använder SolenReportGenerator (SRG) för alla rapporter. Om Office finns installerat kan den fortfarande

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Content Management System. Publiceringssystem

Content Management System. Publiceringssystem Content Management System Publiceringssystem Vad är ett Content Management System (CMS)? Ett verktyg för att separera innehåll från presentation Skapa webbsidor utan att kunna html Låt många skapa sidor

Läs mer

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Manuell installation av SQL Server 2008 R2 Express för SSF Timing Manuell installation av SQL Server 2008 R2 Express för SSF Timing Innehåll 1. Metoder att installera...1 2. Förutsättningar...2 DotNet Framework 3.5...2 MSI Installer 4.5...2 3. Hämta SQL Server 2008 R2

Läs mer

Manual Invånare. Stöd och Behandling version 1.4. Stockholm, 2015-11-23

Manual Invånare. Stöd och Behandling version 1.4. Stockholm, 2015-11-23 Manual Invånare Stöd och Behandling version 1.4 Stockholm, 2015-11-23 Innehåll 1. Inledning... 4 1.1. Stöd och behandling... 4 1.2. Roller och Behörigheter... 4 1.3. Förutsättning för att kunna vara aktiv

Läs mer

Lathund Projektmedlem Jönköpingsprojektplats

Lathund Projektmedlem Jönköpingsprojektplats Lathund Projektmedlem Jönköpingsprojektplats Linda Höglund Pulsen Application AB 1 Innehållsförteckning Logga in på projektkontoret... 3 Startsida Projektkontoret... 4 Funktioner på projektkontorets startsida...

Läs mer

Del 1 och 2 HTML/CSS. Webbutveckling Laboration 1 Nicklas Bostedt 850906-8550

Del 1 och 2 HTML/CSS. Webbutveckling Laboration 1 Nicklas Bostedt 850906-8550 Del 1 och 2 HTML/CSS Vi har fått i uppgift att göra en hemsida av eget val! Jag har bestämt mig för att skapa en hemsida åt en påhittad restaurang här i Umeå som inriktar sig på exklusiv nyttig mat och

Läs mer

Kopiering av objekt i Java

Kopiering av objekt i Java 1 (6) Kopiering av objekt i Java Först När du läser detta papper bör du samtidigt studera dokumentationen för klasserna Object, Cloneable (java.lang) och ArrayList (java.util). Mycket blir klarare genom

Läs mer

Lathund - webbsidor och filer

Lathund - webbsidor och filer Lathund - webbsidor och filer 2005-09-07 Manualen nås via denna webbadress: http://www.med.lu.se/support Lathund - webbsidor och filer... 1 1. Inloggning... 2 Efter inloggningen... 2 2 Översikt över gränssnittet...

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015 Objektorienterad Programkonstruktion Föreläsning 6 23 nov 2015 Designmönster Färdiga "recept" för att lösa (del-)problem i struktureringen av ens program Mönster kan beskriva små komponenter eller stora

Läs mer

Examensarbete. LMSEngine API. Utveckling av en plattform för e-learning. Fredrik Johansson Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E

Examensarbete. LMSEngine API. Utveckling av en plattform för e-learning. Fredrik Johansson Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E Examensarbete LMSEngine API Utveckling av en plattform för e-learning Fredrik Johansson 2010-06-09 Ämne: Datavetenskap Nivå: B Kurskod: 1DV40E Abstrakt Arbetet handlar om utveckling av ett e-learningsystem

Läs mer

Grupp Policys. Elektronikcentrum i Svängsta Utbildning AB 2012-11-05 1

Grupp Policys. Elektronikcentrum i Svängsta Utbildning AB 2012-11-05 1 Grupp Policys Elektronikcentrum i Svängsta Utbildning AB 2012-11-05 1 Sid 1233 Vad är grupp-policys? Grupp-policys är en samling regler som hjälper till med hanteringen av datorer och användare. Mer specifikt:

Läs mer

» RSS - Bygg din egen RSS!

» RSS - Bygg din egen RSS! 1 of 5 29.4.2006 18:46» RSS - Bygg din egen RSS! Sett en orange liten skylt med vita bokstäver som antingen sagt XML eller RSS nyligen utan att direkt koppla varför den finns där? Du är antagligen inte

Läs mer

http://office.microsoft.com/sv-se/word/ha100444731053.aspx

http://office.microsoft.com/sv-se/word/ha100444731053.aspx 1. Öppna Word 2007 i 97-2003 2. Vilken Explorer har jag 3. Inloggning med Explorer 8 4. Sökväg till sidan 5. Ha två fönster öppna 6. Stilar 7. Storleksändra 8. Inklistring av text 9. Bilder till startsidan

Läs mer

Hembokat Kom igång guide

Hembokat Kom igång guide Hembokat Kom igång guide Introduktion till er nya brf-hemsida... 2 För användaren... 3 Starta ditt konto... 3 Logga in... 3 Byt lösenord... 4 Anslagstavlan... 5 Bokningskalendern... 6 För styrelsen...

Läs mer

Arbetshäfte Office 365 en första introduktion

Arbetshäfte Office 365 en första introduktion Arbetshäfte Office 365 en första introduktion Innehåll En introduktion för att bekanta sig med O365... 2 Skapa din profil... 2 Övning:... 3 2. Kontakter... 4 Lägg till kontakt och grupp... 4 Övning:...

Läs mer