Dokumentation - Göteborgs hamn 2.0
Om
Den nya websidan för Göteborgs hamn baserar sig på Optimizely CMS 12~ och .NET 7.0. För bundling av css och scripts använder vi webpack. Frontenden består av en blandning av typescript vid enklare sidor och block, och React vid mer avancerade tillfällen.
Sajten är blockbaserad och det mesta innehållet styrs av individuella block. Tanken är att block ska kunna återanvändas när redaktören skapar nya sidor.
Syfte
Syftet med den här dokumentationen är att ge en första inblick i vad som kan skapas i CMS-systemet. I framtiden ska även dokumentet kunna användas som manual för Göteborgs hamns nya webb
Sidor
Till en början finns enbart en startsida. Det ska enbart finnas En startsida per webbsida/hosting. Startsidan fungerar även som en inställningssida för hela webbsidan. Under startsidan så kan man skapa ytterligare sidor. Sidorna som skapas under startsidan är så kallade standardsidor. Tanken är att standardsidan är modulär och kan med hjälp av olika block byggas upp som redaktören önskar ex. projeksida, informationsida och nyhetssida.
Startsidans delar
SEO/Metadata
Metadata för sökmotorer. ex. Keywords, Description
Header
Inställning för logotyp, navigationslänkar.
Hero
Inställning för Hero.
Infobanner
Här kan en banner läggas till i toppen av sidan för viktig information
Inställningar för webbsidan (SiteSettings)
Referenslänkar till kataloger för Sök och kartor etc. Hanteras vid uppsättning.
Innehåll
En yta för block. Här kan olika block läggas in och sorteras enligt redaktörens tycke. Här kan även en ikon som sedan visas i sidomenyn läggas till.
Footer
Inställningar för footer
Standardsidans delar
SEO/Metadata
Metadata för sökmotorer. ex. Keywords, Description
Hero
Innehåll för Hero-blocket på toppen av sidan. Bakgrundsbild, video, text och knapp. Bakgrundsbild är obligatorisk då den används som fallback i mobiläge samt om ingen video är inlagd. Endast Youtube video kan användas i första versionen och YouTube video id används för att visa filmen. Obs! Om ingen Hero används så ska checkboxen UseSmallTopbar under innehållsfliken kryssas i.
Innehåll
En yta för block. Här kan olika block läggas in och sorteras enligt redaktörens tycke. Här kan även en ikon läggas till som sedan visas i sidomenyn.
Sökord (SearchWords)
Här sätts sökord till sidan som sedan används av sökmotorn på webbsidan.
Inställningar för en standardsida i Optimizely CMS 12.
Kryssningssida
Kryssnigssidan visar kryssningar
Block
En sidas byggstenar består av block. Beroende på hur blocken läggs in och hur de sorteras påverkar sidans karaktär
Så här ser blockväljaren ut i Optimizely CMS 12 för en standardsida.
Container för block (grupperingsblock)
Grupperingsblocket används för att gruppera olika block. Används ex. för att få 4 block på rad eller kasnke sex stycken i ett rutnät. De block som kan läggas till är: Teaser/Puff, länkblock, Block för fakta och grafik, Textblock, bildblock, kampanjblock, Teaser/puff för Ankomster och avgångar och Väderblock.
Gruppering av block (Linjärt grupperingsblock)
Det linjera grupperingsblocket används för att gruppera olika block enligt en linjär layout. De block som kan läggas till är: Kontaktblock och Nedladdningsblocket. används bland annat under kontakta oss sidan.
Teaser/puff
Teaser/puff kan användas både som länk till andra sidor, interna/externa, och som informationsyta. Den består av bakgrundbild,en overlay, text, ikon och knapp. Overlayens färg, opacitet, multiplyeffect etc kan justeras. Om ingen bakgrundsbild finns tillgänglig så blir bakgrunden solid med samma färg som på overlay.
Istället för rubrik kan man nu använda en logotyp. Använd gärna svg-fil för detta.
En teaser/puff läggs till via Grupperingsblocket. Läggs 1 teaser till så blir den automatiskt stor(100%). Lägger man till två block så blir det 2 block i bredd(50% av bredden) osv. Teasern blir då mindre ju fler block man lägger på rad (max 5 stycken)
Länkblock
Länkblocket är en liten variant på den vanliga Teasern/puffen. Den ska användas i grupp med andra Länkblock ca 4 stycken. Den läggs till via grupperingsblocket.
Textblock
Textblocket är ett fritextblock. Här kan text läggas in och behandlas i editorn. Som standard så har text-blocket en grå bakgrund. Text-blocket kan ställas in på olika sätt.
- Ingen bakgrund - bakgrundsfärgen tas bort
- Fullbredd - backgrundsfärgen fyller ut 100% i bredd
- Två kolumner - texten delas in i två kolumner
Textblocket kan användas bredvid andra block via Grupperingsblocket
Expanderbart block
Det expanderbara blocket påminner om text-blocket men är uppdelat i två delar, det primära och det utfällda. Likt text-blocket så kan det här blocket visas i fullbredd.
Bildblock
Bildblocket visar en bild. Möjlighet finns också att visa en bildtext. Bildblocket kan användas bredvid andra block via Grupperingsblocket.
Bild och textblock
Ett block som kombinerar Bildblocket och textblocket genom att visa de sida vid sida. Bilden kan visas antingen vänster om texten eller höger om texten. I mobil så placerar sig bilden istället över och under texten.
Informationsbanner
Ett block som används för att visa viktig eller kritisk information. Här kan färg och storlek ändras för att belysa informationens vikt.
Block för fakta med grafik
Ett block som visar fakta och statistik. Den kan visa information på fyra olika sätt.
- Standard - Stor rubrik och kort förklarande brödtext. Standard-varianten fyller ut 100% bredd och används därför enbart på egen rad.
- Standard medium - Rubrik och kort förklarande brödtext. Medium-varianten är mindre vilket gör att den kan läggas sida vid sida med ett annat block.
- Pie chart - visar ett procent värde, ett tårtdiagram och en kortare förklarande brödtext. Här visas ingen Rubrik.
- Wave chart - visar ett procent värde, ett vågdiagram och en kortare förklarande brödtext. Här visas ingen Rubrik.
Det här blocket kan användas bredvid andra block via Grupperingsblocket
Kontaktblock
Ett block som visar information om en kontakt. En kontaktblock läggs till via det linjära grupperingsblocket.
Värdegrundsblock
Det här blocket visar Göteborgs hamns värdegrunds arbete. Det går att lägga till en länkning men i övrigt så är dess innehåll statiskt.
kampanjblock
Det här blocket kan användas för kampanjer. Det finns en mängd inställningar för dess utseende.
Nedladdningsblock
Ett block som visar en nedladdningsbar fil. Det här blocket kan användas bredvid andra block via linjära grupperingsblocket.
Block för ankomster och avgångar
Blocket för ankomster och avgångar hämtar data från ett externt api utvecklat av Kazoku och listar upp i tabellformat.
Teaser/puff för ankomster och avgångar
Det här blocket visar nästa ankommade och nästa avgående fartyg. Det går att ändra bakgrundsbilden.
Väderblock
Det här blocket visar väderdata från SMHI. Datan visas utfrån koordinater(lat/lng).
Textinmatning
Textinmatning sker antingen via ett fält eller via fritexteditorn (se bild). Editorn har en mängd välkända formaterings möjligheter.
Rubrik/Paragraf
Editorn har en dropdown-meny med olika teckenstilar. Från Paragraf till olika rubrikstilar (h2 till h6). Obs! Innan ett rubrik skapas så måste ett enterslag innan och ett efter texten göras. Annars vet inte editorn vilken text den ska använda
Citat
Ett citat skapas genom att trycka på citat symbolen i editorn. Obs! Innan ett ett citat skapas så måste ett enterslag innan och ett efter texten göras. Annars vet inte editorn vilken text den ska använda
Sök
En första version av sökning är implementerat. Optimizely sök används och söker igenom sidan och listar sidträffar och filer. I den här versionen så grupperas sökresultatet efter typ av sökträff, Sidträffar och filträffar.
Söksidan.
Kartor
Kartorna som används på webbplatsen är utvecklade med hjälp av MapBox. Javascript biblioteket Mapbox GL JS används för att visa och kommunicera med MapBox-tjänsten. För uppbyggnad av kartorna används MapBox Studio. Övrig information i kartorna som ex. innehåll i popup:er anges istället i Optimizely CMS.
Det finns två typer av kartor på sajten idag, standard och linjekarta.
Standard karta
En standardkarta är en karta som byggs upp i MaxBox studio, men som hämtar allt innehåll från Optimizely CMS. Nedan följer en guide steg för steg vad som krävs för att starta igång en standardkarta
Steg 1 - MapBox Studio - Skapa dataset.
I MapBox Studio under sektionen Datasets behöver redaktören skapa upp ett Dataset. Ett dataset är i grunden GeoJSON-data som talar om var olika GeoJSON Features är på kartan via koordinater samt vilken typ av Feature det är, ex. Point, linje eller polygon . När redaktören skapar ett nytt dataset eller duplicerar ett befintligt så behöver namngivningen av datasetet vara korrekt.
Namnet måste börja med “ghab-”. ex. datasetet för Railport terminaler heter ghab-railportterminaler.
Ett bra tänk är:
- Ett dataset = ett kartlager
- En feature = en kartnod ( ex. en kartmarkör eller en yta)
Under datasets så listas alla datasets.
Inne i dataset-editorn ska redaktören placera ut features/noder på kartan. På en utplacerad feature/kartnod måste redaktören lägga till ett unikt ID. Med sin feature markerad så finns nu möjligheten att skapa en property i listen till vänster. Under Field så måste det stå nodeId. Obs! var noga med namngivningen. Sedan så anges det unika id-värdet under Value. Detta måste göras på samtliga features i datasetet.
När Redaktören är nöjd med sitt dataset så måste det sparas och publiceras. Då kommer ett Tileset skapas och när det är färdigt så kan det nya lagret läggas till i din kartstyle.
Klicka för att öppna bilden i ny flik. Inne i dataset-editorn. Notera nodeId till vänster.
Steg 2 - MapBox Studio - Skapa style
I MapBox Studio under sektionen Styles behöver redaktören sedan bygga upp en kartstyle, vilket sätter kartans utseende. Det görs genom att antingen kopiera en befintlig eller att den skapas från grunden. För att skapa en kopia kan man välja duplicate i menyn för en kartstil i listan. Inne i verktyget för en style ska sedan redaktören lägga till kartlager.
För att skapa ett nytt lager för sitt dataset så trycker man på plus-knappen till vänster under Layers. Man väljer sedan custom layer -> Source. I menyn för Source så väljer man det Tileset/Dataset man har skapat upp tidigare. Nu kan redaktören välja att styla sitt lager och dess noder. Läs om hur MapBox Studio fungerar via deras webbplats. Tryck sedan på publish för att publicera kartlagret. Obs! En publicering kan ta flera timmar vid en uppdatering innan ändringarna syns på sajten.
Steg 3 - Optimizely CMS - Skapa Block för MapBox karta
Nästa steg är att lägga till kartan i Optimizely CMS för att senare kunna lägga till den på en sida. I resursfönstret till höger i Optimizely finns det två mappar, Kartor_sv och Kartor_en, en för varje språk. De innehåller kartblock. Ett kartblock måste skapas för varje språk. Tryck på “+”- knappen i mappen för att lägga till ett nytt block. Välj sedan “Block för MapBox karta”
För att skapa ett kartblock så ska några parametrar anges:
Accesstoken
Det första som måste anges är Accesstoken för MapBox som hittas om man loggar in på MapBox.
MapStyle (kartstil)
Det är en länk till kartans stil i MapBox. Länken kan hittas i MapBox Studio under Styles. Klicka på prickarna till höger på en kartstil för att få fram menyn som innehåller länken.
Kartnamn
Ange ett namn för kartan som sedan kommer att visas i kartväljaren på kartan.
Länk till sida för kartan
Om kartan ska visas vid uppstart på en viss sida, så måste en koppling ske mellan kartan och den sida som kartan ska visas på. Redaktören måste här välja den sidan annars så kommer kanske en annan karta att visas först.
Karttyp
Välj rätt karttyp i dropdown-menyn. I det här fallet Standard.
Visa karta vid inladdning
Det här valet påverkar endast om kartan ligger i en Hero. Kryssa i den här checkboxen om ni vill att kartan ska visas när sidan laddas, annars så kommer användaren behöva trycka på kartknappen vi att visa kartan.
Visa enbart den här kartan
Är det här valet aktiverat så visas endast den här kartan och det finns ingen möjlighet för användaren att byta karta via kart-väljaren.
Klicka för att öppna bilden i ny flik. Skapa ett nytt block för kartor i Optimizely CMS.
Steg 4 - Optimizely CMS - Lägga till kartlager
Nu när blocket för MapBox kartan är skapad så ska redaktören lägga till alla kartlager så att kopplingen mellan MapBox-datan och CMS-datan blir korrekt. I Optimizely så behöver redaktören öppna det kartblock som ska ha lager. I ytan för kartlager måste här skapas ett nytt kartlager. Klicka på välj innehåll -> Skapa ett nytt block.
Kartlager ID
Ett korrekt KartlagerId måste anges då det är själva kopplingen mellan kartlagret(se steg 2) i MapBox och Datan från Optimizely CMS. KartlagerId måste stämma överens med namnet på kartlagret i MapBox Studio. Exempel på id är ghab-godsslag-flytandebulk.
Kartlagernamn
Ett namn på kartlagret bör anges. Om inget namn anges så kommer den att få kartlagerId som namn. Namnet syns till exempel i kartans filtermeny.
Gruppnamn
Ett gruppnamn kan läggas till. Alla kartlager med samma gruppnamn kommer då att grupperas i kartans filtermeny.
Visa i Filter
Kryssa i det här valet om kartlagret ska visas i kartans filter.
Visa från start
Kryssa i det här valet ifall kartlagret och dess noder ska synas från start eller om de måste sättas igång via kartans filtermeny.
Klicka för att öppna bilden i ny flik. Skapa ett nytt kartlager block i Optimizely CMS.
Steg 5 - Optimizely CMS - Lägga till kartnoder
I steg 1 så skapades features/kartnoder i MapBox Studio. För att koppla dessa noder till Optimizely CMS datan så måste vi i Optimzely CMS lägga till kartnoder på våra lager. I ytan för Kartnoder måste här skapas en nytt block för kartnod. Klicka på välj innehåll -> Skapa ett nytt block.
Nod ID
För att kopplingen till kartnoderna i MapBox ska fungera så måste ett korrekt Nod ID anges och ska matcha det id som finns i det dataset som skapades i MapBox Studio (se steg 1)
Pitch
När användaren klickar på kartnoden så kommer kameran att fokusera på den kartnoden. Här kan vi ange kamerans “pitch” vid klick. (0-360 grader)
Bäring/Bearing
När användaren klickar på kartnoden så kommer kameran att fokusera på den kartnoden. Här kan vi ange kamerans “bearing” vid klick. (0-360 grader)
Zoom
När användaren klickar på kartnoden så kommer kameran att fokusera på den kartnoden. Här kan vi ange kamerans zoom vid klick. (en siffra mellan 0-25)
Innehåll (popup)
I texteditorn på varje nod kan redaktören lägga in det innehåll som ska visas i den Popup som kommer fram när användaren klickar på en kartnod.
Klicka för att öppna bilden i ny flik. Skapa ett nytt block för kartnod i Optimizely CMS.
Linjekarta
Linjekartan läser in data lite annorlunda än standardkartan. Grundinställningarna för kartan ligger i Optimizely CMS men resten av datan hämtas från MapBox. Kartan administreras på två ställen. Hamnar placeras ut via MapBox Studio och hamnarnas rutthantering sker i linjekartans admingränssnitt. Den här guiden förutsätter att linjekartans map style ghab-style-linermap redan ska vara skapad i MapBox Studio.
Steg 1 - Optimizely CMS - Skapa Block för MapBox karta
Linjekartan måste skapas upp i Optimizely CMS för att senare kunna lägga till den på en sida. I resursfönstret till höger i Optimizely finns det två mappar, Kartor_sv och Kartor_en, en för varje språk. De innehåller kartblock. Ett kartblock måste skapas för varje språk. Tryck på “+”- knappen i mappen för att lägga till ett nytt block. Välj sedan “Block för MapBox karta”
För att skapa ett kartblock så ska några parametrar anges:
Accesstoken
Det första som måste anges är Accesstoken för MapBox som hittas om man loggar in på MapBox.
MapStyle (kartstil)
Det är en länk till kartans stil i MapBox. Länken kan hittas i MapBox Studio under Styles. Klicka på prickarna till höger på en kartstil för att få fram menyn som innehåller länken.
Kartnamn
Ange ett namn för kartan som sedan kommer att visas i kartväljaren på kartan.
Länk till sida för kartan
Om kartan ska visas vid uppstart på en viss sida, så måste en koppling ske mellan kartan och den sida som kartan ska visas på. Redaktören måste här välja den sidan annars så kommer kanske en annan karta att visas först.
Karttyp
Välj rätt karttyp i dropdown-menyn. I det här fallet Standard.
Visa karta vid inladdning
Det här valet påverkar endast om kartan ligger i en Hero. Kryssa i den här checkboxen om ni vill att kartan ska visas när sidan laddas, annars så kommer användaren behöva trycka på kartknappen vi att visa kartan.
Visa enbart den här kartan
Är det här valet aktiverat så visas endast den här kartan och det finns ingen möjlighet för användaren att byta karta via kart-väljaren.
Klicka för att öppna bilden i ny flik. Skapa ett nyttblock för karta i Optimizely. Karttypen är satt till Linjekarta.
Steg 2 - Skapa/uppdatera Dataset i MapBox Studio
I MapBox Studio under Datasets så bör det finnas ett Dataset som heter ghab-linermap, öppna den. Om det inte finns så skapa upp ett nytt dataset med namnet ghab-linermap. Viktigt att namngivningen är korrekt. Väl inne i Datasättet så ska redaktören markera ut hamnar med hjälp av Point-verktyget
När en hamn är utmarkerad samt att den är markerad så måste ett antal properties läggas till.
nodeId
Det första som måste läggas till är nodeId( Stavningen ska vara nodeId med stor I och litet n). Värdet för nodeId ska vara nåt unikt ex. hamnens namn på engelska.
name_en
Hamnens namn på engelska
name_sv
Hamnens namn på svenska.
name_?
Hamnens namn kan läggas till på fler språk genom att lägga till landskoden efter name. I dagsläget stöds endast Engelska och Svenska.
Tryck på spara och sedan publicera.
Klicka för att öppna bilden i ny flik. Lägga till hamn i dataset-editorn. Notera värdena till vänster nodeId, name_en och name_sv.
Steg 2 - Lägg till rutter i Linjekartans admin-gränssnitt
Rutter läggs till via linjekartans admin. För att komma åt adminverktyget så måste redaktören logga in i Optimizely CMS. Välj sedan sidan Linjekartans admin i sidträdet. Klicka sedan på Options -> view on website
Här visas alla hamnarna/platser som tidigare placerades ut i linjekartans dataset(se steg1). De listas i bokstavsordning och det finns möjlighet att söka upp en specifik hamn.
En ny rutt läggs till genom att expandera den hamn som ska rutten. I den gröna rutan anges sedan Agent, Rederi, Frekvens, Terminal och om det är Container eller Roro. Klicka sedan på Lägg till rutt för att lägga till den i listan. Obs! rutten är inte uppladdad till Mapbox ännu Om en rutt är uppladdad så får den en grön symbol till vänster. En rutt kan också ändras genom att trycka på Pennan, spara sedan genom att trycka på diskett-symbolen,
När alla ändringar är gjorda så Tryck på Spara & skicka till MapBox upp i högra hörnet. Nu laddas all information upp till MapBox
Klicka för att öppna bilden i ny flik. Lägg till rutter via Linjekartans admin.
Steg 4 - Publicera kartan i MapBox Studio
För att publicera ändringarna så att de syns på kartan så behöver vi logga in på MapBox Studio och under Datasets öppna upp ghab-linerpage. I dataset-editorn, Tryck på Publish för att uppdatera kartan. Det kan nu dröja ett antal timmar innan de nya ändringarna har kommit på plats.
Klicka för att öppna bilden i ny flik. Publicera linjekartans dataset

