Välkommen. AngularJS-utveckling i storskalig SiteVision-miljö

Relevanta dokument
Så jobbar vi med Google Tag Manager. Johan Albertsson & Johan Wallin

Proxymodulen i SiteVision

Foto: Marco Gustafsson. SiteVisiondagarna

Hitta ditt nya arbete genom oss

<script src= "

Hitta ditt nya arbete genom oss

Sitevision för kontorsredaktörer

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

Materialspecifikationer webb 2014

Välkommen till Arbetsförmedlingen! Information till dig som är arbetssökande

Filhanterare med AngularJS

JOBTIP SOCIAL RECRUITING

Manual för externa leverantörer Projektportalen investering

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Att koppla FB till AD-inloggning

Tillämpad programmering CASE 1: HTML. Ditt namn

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

METODER OCH VERKTYG EXEMPEL PÅ UPPDRAG KOMPETENSOMRÅDEN

Google Analy+cs. Umeå universitet

JOBTIP SOCIAL RECRUITING

Webbteknik II - 1DV449 Laboration 3

Webbutveckling med AngularJS

Bilaga 1. Teknisk kravspecifikation

Välkommen till Arbetsförmedlingen

Webbplats analys emreemir.com

Lathund Behörighetshantering

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

Axiell Arena. Optimering av prestanda

Sappas Cookiepolicy. 1. Vad är cookies? 2. Använder vi cookies?

Integritets- och cookiepolicy

Modern webbutveckling. av Robert Welin-Berger

Lathund Behörighetshantering

Hjälper dig som arbetsgivare att hitta kvalificerad personal. Hitta kvalificerad personal. Du når kompetensbanken på

Smarta sätt att modernisera din webbplats för SiteVision Cloud!

1ME323 Webbteknik 3 Lektion 6 API. Rune Körnefors. Medieteknik Rune Körnefors

Lathund länkar. Skapa en intern länk som en sida

Köra programportalen med Windows 8

MÄRKSPRÅK OCH STILMALLAR II EXAMINATIONSUPPGIFT 2 HELENE BROGELAND

Användarutbildning i SiteVision

Drag och Släpp & Spara till Server. Säkerhetsinställningar. Version 5.0

Introduktion Office 365

Låt oss överraska dig

Materialspecifikationer

1 ALLMÄN DATASKYDDSPOLICY FÖR TRIS Tjejers Rättigheter i Samhället ( TRIS ) behandlar alltid dina personuppgifter med den respekt som situationen

Bild 1. EPiServer CMS 9.9

Lathund länkar. Skapa en intern länk som en sida

Innehåll. Inloggningen. Kort manual för dig som ska jobba med medarbetare som publicerare. Den innehåller lite

Kampanjtaggning. Lathund. Google Analytics. Erik Nettelbrandt Sida 1 av 7

Biometria Violweb. Kom-igång-guide. Mars Sammanfattning Den här anvisningen är till för dig som ska börja använda dig av Biometrias tjänster.

Välkommen till Studiekanalen.se

Installation xvis besökssystem, Koncern

Content Management System. Publiceringssystem

Steg-för-steg vägledning. Hur du använder din etwinning-plats

Uppdateringsguide v6.1

Guidelines WI/WS, version 1, Guidelines WI/WS För dig som ansvarar för en sida i Komin. Version 1,

1. Polopoly och webbpublicering på SU

Referensuppdrag Soleil

PageTurner är en tjänst för att skapa bläddringsbara Flash-dokument - ett inslag i den moderna webbvärlden som blivit alltmer populärt.

FLEX Personalsystem. Uppdateringsanvisning


Brasklapp: REV:s rådgivande verksamhet omfattar egentligen inte något detaljerat IT-stöd, men eftersom många väghållare har behov av att effektivt

Skatteverkets användning av elegitimationer igår, idag och framöver. 3 februari 2016

Installationsanvisningar. till IST Analys

Användarhandledning. edwise Webbläsarinställningar

Användarutbildning i SiteVision

Arbetsförmedlingen är Sveriges största arbetsförmedling. Det kan du som arbetsgivare ha nytta av

Webbserverprogrammering

Sveriges bästa kommunwebb

Webbrekrytering och Rekryteringsmodulen

Rekommenderad IT-miljö

Hja lp till Mina sidor

Roller i Liferay och Axiell Arena

Digital strategi

Manual - rekryterare

Webbokning Windows 7,8.1 &10 Installationsmanual

Aktivering av SSL (https).

Restaurang Example. ( Analys av nuvarande hemsida. Av Kharma Concept

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Snabbstart för Micro Focus Vibe Desktop för Windows

Tusen möjligheter HITTA DITT NYA ARBETE GENOM OSS

Representationer. Henrik Artman KTH

Diabetes.se CMS guide för föreningar. Senast uppdaterad:

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Manual för vanliga rapporter i Google Analytics

Webbrekrytering och Rekryteringsmodulen

Installationsanvisningar

Att koppla FB till AD-inloggning

Optimering av prestanda

Open Source-utveckling för kommuner. Allemanskod den nya svenska modellen?

Presentation Edument AB. All Rights Reserved.

Quick Start CABAS. Generella systemkrav CABAS / CAB Plan. Kommunikation. Säkerhet

ARX på Windows Vista, Windows 7 eller Windows 2008 server

Genvägen till rätt person VÄ LKOMMEN AT T H I T TA N YA MEDA RBETA RE MED H J Ä LP AV OSS

Lathund Evenemangskalender

Sida 1 av 13. Standardwebben. Användarguide för standardwebben. Limepark AB Telefon (växel)

Manual - Introduktionskurs SiteVision

Inloggningsuppgifter till Skola24

Joomla CMS Del 2 av 2

Manual för Typo3 version 4.2

Västervik.se Lathund. 1 cgi.com 2013 CGI GROUP INC.

Transkript:

Välkommen AngularJS-utveckling i storskalig SiteVision-miljö

Johan Albertsson Sitevision-arkitekt/utvecklare Har jobbat med Sitevision i över 9 år Var med och byggde nuvarande webbplatsen 2010 Driver bloggen johanalbertsson.se

Marcus Ericsson Mjukvaruarkitekt med inriktning webb Mångårig erfarenhet av SiteVision

Vi kommer prata om Varför AngularJS Arkitektur Struktur i SiteVision Inläsning av applikation Navigering Inte visa Angular-kod (Det kommer gå snabbt) Vad är en Single page application? OBS: Alla skärmbilder är tagna från vår Alpha-version

Vi hoppas ge er Grundförutsättningar för att starta ett storskaligt AngularJS-projekt Några Att-tänka-på-punkter

Vad är AngularJS? AngularJS is a complete JavaScript-based open-source front-end web application framework mainly maintained by Google Wikipedia (så klart...)

Om arbetsformedlingen.se Över 700 000 unika besökare i veckan Fler än 400 redaktörer Bland systemen finns: SiteVision Siteseeker (sök) Google Analytics/Tag Manager (webbanalys)

Om arbetsformedlingen.se (ur ett IT perspektiv) Komplex SiteVision-lösning Kluster med 7 SiteVision-noder i produktion 27 applikationer som körs via 80 proxymoduler 20 egenutvecklade portlets Testmiljöer i 4 nivåer varav 1 är en produktionskopia

Hur funkar dagens applikationer? Flera olika programmeringsspråk Blandning av portlets och applikationer som proxas in med Proxymodulen Skiftande GUI på grund av separata utvecklingsprojekt Icke responsiva Stor variation i html-kvalitet beroende på applikationens ålder

Varför nya e-tjänster? Öka myndighetens digitalisering Bättre och dubbelriktat matchning (lättare för arbetsgivare och arbetssökande att hitta varandra) Responsivt krav Gemensamt utseende i alla e-tjänster Modern känsla Ska stödja Arbetsförmedlingens nya komponentbaserade arkitektur

Varför AngularJS? Vedertaget ramverk med stor utvecklarbas Single page application-tänk Modernt Snabbutvecklat (stöd för restarkitektur)

Så här ser vår nya platsbank ut

Principer för webbplatsen En webbplats, en domän Driftsäkert Skalbart Enbart https Nyttja befintligt skalskydd Förvaltningsbart

Hur hanterar man många e-tjänster som är utspridda? Arbetssökande Anmäl varsel Begär ersättning Direktöverförda annonser Skapa platsannons Visa annons Ändra annons Förfrågningar Rekrytera Kandidatbanken Sparade kandidater Ny rekrytering Hantera jobbansökan Arbetsgivare Min profil Skriv in dig Hitta lediga jobb (produktsida) Hitta lediga jobb Sparade annonser Lägg till meriter Min handlingsplan Rapportera aktiviteter Min arbetsförmedling Skicka jobbansökan Förfrågningar Ansökningar Kontaktuppgifter

Placering i SiteVision-strukturen

E-tjänster visas även i listor och menyer

E-tjänster samlas i en mapp som länkar

Metadata för e-tjänsterna samlas på orginallänkarna

Strukturlänkar skapas i mappar som motsvarar menyer

Metadatat från orginallänken används på alla ställen

En sida pekar ut e-tjänsten i metadata De sidor som ska visa upp en e-tjänst använder en mall som har ett metadata som pekar ut orginallänken som motsvarar e-tjänsten På så sätt kan samma e-tjänst visas på flera ställen, men alla data om tjänsten är samlad på ett ställe (länken)

Exempel-applikation http://www.arbetsformedlingen.se/demo/sok-ledigt-jobb/#/

Inläsning av e-tjänster via en egenutvecklad portlet Vid ett fåtal angular-appar går det bra att klistra in startkoden i en html-modul Enkelt o snabbt Med många angular-appar och hög uppgraderingsfrekvens en portlet som automatiserar användningen Stödjer Kontinuerlig Leverans Minskar felkällor Extra bonus!

Hur startas en AngularJS-applikation? <script> angular.module('appconfig').config(function (AppConfigProvider) { AppConfigProvider.set({ ABS_URL: '/etjanst/hittaledigtarbete/', MATCH_URL: '/rest/matchning/rest/af/v1', MATCH_URL2: '/rest/matchning/rest/matchning/v1', GEO_URL: '/rest/geo/rest/v1', PROFIL_URL: '/rest/arbetssokandeprofil/rest/af/v1', REST_BASE_URL: '/rest' }); }).run(function($state, $stateparams, AuthService) { AuthService.setClientId('as-hittaledigtarbeteSPA'); AuthService.setIdpServer('/rest'); $state.go('mini'); }); </script>

Vad är portletens (tänkta) uppgifter Angular-utvecklare ska inte behöva gå in i SiteVision Läsa in deploy.html för applikationen och skriv ut på sidan Möjliggör automatisk installation av nya versioner Underlätta testning genom miljöväxlare Möjligt att köra olika versioner för olika användare (A/B-test) Agera stopp- eller informationsskylt Manuella lägen inför tex ett systemunderhåll Automatiskt stänga ner applikation som har driftproblem Kontrollera om det finns information om att system uppdateras

Visar eller stoppar e-tjänst

Hur tar man sig från en e-tjänst till en annan e-tjänst Problem: E-tjänst A vill skriva ut en länk till E-tjänst B. Men A känner inte till B:s plats i sidstrukturen, och kan därför inte länka till e-tjänsten.

Exempel på navigering

Navigeringslösning: ett Javascript objekt med adresser till alla tjänster AfPages ={ minoversiktas:{ applikation:"min översikt", visningsnamn:"min översikt", URL:"/Min-arbetsformedling/Arbetssokande/Min-oversikt" }, inskrivning:{ applikation:"skriv in dig", visningsnamn:"skriv in dig", URL:"/Min-arbetsformedling/Arbetssokande/Skriv-in-dig" },

CSS-ramverk Bygger på Bootstrap 3, men ca 50% egenskrivet Ramverket byggs med Sass Varje team kan påverka variabler i filerna, så som färger En fil för alla applikationer (för komplext annars) SiteVision kör egen Bootstrap, så kan krocka

Sessionshantering samt behörighetskontroll Befintligt skalskydd nyttjas Beprövat, stabilt, färdiga kopplingar till användardatabaser Tillhandahåller användarinformation till nyttjande system Egen JAAS-modul till SiteVision Skyddar gamla applikationer bakom proxymodulen (IIS o Apache) Skyddar JWT-utgivaren Äger sessionstiden JWT - JSON Web Token Skyddar REST-apier 1 token per applikation

Anrop skyddad applikation

Lärdomar Bygg klart den första e-tjänsten innan ni bygger fler Förstå SPA-tänket Se till att inloggningen fungerar med AngularJS (försök följ riktlinjer) Analysera gemensamma directive (byggstenar) Gemensam uppstart, så att alla får samma bild av processen Ha med SiteVision från början Utbilda

Svårigheter Gemensam syn på koden bland alla utvecklare Övergången från den lokala miljön till SiteVision (vänta inte med detta) Indexering av sökmotorer Facebookdelningar Addblocker (ordet annons är inte att rekommendera :) Angular2...

Tack för oss Och hör gärna av dig om du vill jobba i något av våra team :) johan.a.albertsson@mail.com Twitter: @johan_a marcus.ericsson@arbetsformedlingen.se