Utvecklarens ord

2018-05-11

Log

  • Backspinn byter hosting partner. Tourpage och Tourpage V2 byter server och domäner är ompekade

 

2016-04-05

Log

  • Fixat footer med scrollTag och dispositionen av de 3 blocken samt adderat rubriker i UmbOrdbok.
  • Fixat in SocMedia i header nav
  • header har under Data möjlighet att lägga in scroll till sidfot, kalla den Kontakt
  • Linjerat om länkar för box Tävlingar samt Sponsorer där den senare har lite logik för färg, knapp och toningslager
  • Lagt in colorPicker/Opac slider för toningslager
  • Ändrat main css opac för header från 75% till 90%

 

2016-04-04

Log

  • Fixat med Mall sajten och då CSS justering för logotyp i navbar (margins) samt skapat en ny med annan grå nyans så den syns på default navbar

ToDo

  • Ordna .active class för current navigated Page. Måste blir någon form av javascript funktion för OnePage/StartPage.
  • Ska det läggas in stöd för Undersidor med undersidor, dvs en vänsterpanel med navigering för undersidor?
  • Addera "Narrow Image" för mobil för de sektioner/sidor som kan ladda upp bakgrundsbild?

 

2016-04-01

Log

  • Byggt MOBILE navbar
  • Har byggt 3 headers templates med olika NAVs (all, anchor, pages)
  • Byggt 2 x footer templates (Slimmed, standard)
  • Byggt in Main Inställningar för bakgrunds bild
  • Skapat en RTE css för WYSIWYG i BackOffice
  • Justerat CSS Hx taggar
  • Justerat AKTUELLT pinnen
  • Adderat Textbox type för AKTUELLT pinnen
  • Skapat en DEMO film för hur man kan konfigurera olika saker BackOffice.

Det grundläggande ska nu vara på plats

Eventuell Todo

  • Bygga en Slideshow type och mallar för detta
  • Bygga en Page Header så man kan ladda upp en bild för en undersida

Notera dock att den programmatiska delen under 2013-03-30 fortfarande är ett önskemål

 (9)

 

2016-03-31

Rensat upp och skapat sajter i BackOffice

Mall:

demo.v2.tourpage.se

Sajter: 

kotte.v2.tourpage.se

glenn.v2.tourpage.se

ToDo, mer

  • Uppdatera BackOffice för sektioner så man kan ladda upp en "mobile" background image för sektioner, uppdatera då även Parallax JS på samma sätt som för Thernlunds.
  • Uppdatera BackOffice så man kan ladda upp en generel bakgrundsbild, samt en bakgrundsbild per Helsida
  • Lägga till JS script som rensat bort hård inline css för bilder, så det får width i % iställt för px då man monterar i RTE
  • Skapa en StyleRTE.css och addera h taggar, p, body, a classer för mer WYSIWYG

Att kopiera Mall till ny sajt

 

 

2016-03-30

UPDATE: Nattpasset avslutas ganska tidigt, börjar bli trött, tror det är slut med övertid nu :) Orkar inte.. måste skaffa mig ett vli :P

Skulle skapa umbracoNaviHide samt umbracoUrlAlias för alla DT (DocumentTypes) och fick lära mig att fr.o.m 7.4 så kan man ej längre addera custom properties till fliken Egenskapar, på gott och ont. Har nu tömt DB på WH2 och laddat upp senaste versionen. Har raderat hela www2016 mappen för TP 2.0 och laddat upp senaste version. Har även lagt upp ett gäng bindings för TP 2.0 och lärt mig att själva Tourpage Portal sajten i UMB BackOffice EJ ska ha ngn domän satt, då kommer denna sajt att visas för bindings som ej ännu ej har en kopia av mall sajten (som ej finns just nu då jag byggde upp Jacob Glennemo på den)

Todo innan vi kan släppa Version 1.9 av TP 2.0

  • Addera Google reCaptcha för *tourpage.se på contact form KLART LOKALT
  • Bygga MOBILE navbar (Jag tror att i MOBILE så behåller jag endast hamburgaren med nuvarande innehåll så man får manuellt scrolla startsidan?)
  • Justera MOBILE css BRA BIT PÅ VÄG, LOKALT
  • Bygga en "override" JS på samma sätt som "override" CSS så varje sajt kan få unika/specika javascript funktioner vid behov KLART LOKALT
  • Feedback angående knappar för boxar, paddings/margins mm, UI helt enkelt
  • Ska vi bygga en SECTION SLIDESHOW som man kan montera istället för STARTIMAGE (stora sektionen nu på startsidan)? Ska då varje Slide kunna ha Text/Knapp/ar?
  • Hur gör vi med bakgrund för "Helsidor", dvs sidor som ej är sektioner på startsidan, ska man kunna ladda upp EN egen bakgrundsbild som används på alla sidor eller ska man kunna ha en bakgrund per sida så som TEXTsidor, Tävlingar, Sponsorer, Kontakt?
  • Ska vi bygga en "header bild" funktion för Helsidor (Textsida, tävlingar mm)? Ska denna header bild kunna ha rubrik, text och knapp/ar på bilden?
  • Jag tror även jag ska koda upp footer som en egen Document Type som adderas till Innehåll/Sajt vilket gör att vi kan tillverka små mallar även för footern. KLART LOKALT
  • Jag måste även lägga till upload av favicon PNG och titta hur man monterar en PNG som just favicon!
  • Lägga till Dictiionay Items för alla "hårda" strängar för SE och EN så blir sajten multilang (dock endast ett språk per sajt, så man väljer om den ska vara SE eller EN). KLART LOKALT

Jag tar upp ovan för gör vi detta "perfekt" så kan TP2.0 användas rakt av för att slänga upp en sajt som Thernlunds "lite snabbt"

 

Det som sedan ska till är då Programmtisk Copy av Mallsajt

  • Vi har ett formulär på Tourpage Portal, antingen öppen eller via Member Login där man anger Sajtnamn och domän/url och tourpageUrl, ex: Jacob Glennemo. www.jacobglennemo.se och jacobglennemo.tourpage.se
  • Ovan formulär ska ju även ta med skapande av User (ej Member) som kan logga in via /Umbraco! Så här måste då LoginName, Emaill, Namn samlas in och då sajten kopierats skapas Usern som sätts som Redaktör, svenska och knyts till nya kopian av sajten. Jag tror detta blir det mest knixiga att få till men vore så snyggt!
  • Ovan ska då göra en Copy av "Mall" till ny med namnet Jacob Glennemo och URL sätts som jacobglennemo.tourpage.se, då Copy är klar så ska Url/Domäner postas till "BackspinnWebServerBindAdder"
  • Här ska jag då skriva en Server applikation som är "BackspinnWebServerBindAdder", denna applikation kolla i DB för IIS SiteId och önskade Bindings och via cmd.line så addas bindings till IIS SiteId. Detta är en snurra som kan köras varannan minut eller så. Denna ska även fram för KvippShop.

Jag anser det ganska viktigt att man ser bredden och tänker lite utanför boxen nu då vi bygger detta och ser kanske framtida behov så att TYPERna kommer med från början så kan vi alltid bygga alternativa HTML mallar i framtiden (HTML mall == hur html elementen placeras på sidan, CSS mall == utseende på html elementen).

 

 

2016-03-29

Bygger vidare på header, uppdaterar till UMB 7.4.2 och de konstiga Models errors för dynamic models verkar ha lösts. Bygger footer, bygger hamburgare för sidor som EJ är med i startpage sections. Har gjort om så att kompletta länkar för sociala medier ska anges, enklare för den som lägger in. DOCK måste man slå upp Instagram Profile ID via api.backspinn.com/instagram

 

Natt sessionen byggde jag skapande av custom-"siteIdentifier".css och montering, Contact MVC Models.

 

 

2016-03-23

DocTypes, felhanteirng, skriver om "puffar" till subnodes, Kalender och SPonsors... pular med "Pågående tävling".,.. NavBar, Textpage samt ContactForm kvar, Bygger vidare på sidors html och css. Bygger header cshtml, Calendar, Sponsors, TextPage

 

 

 

2016-03-18--2016-03-20

Tid: 10h

 

Jag har sedan fredagen 18 mars t.o.m söndagen 20 mars gjort stora framsteg i hur man bygger bra Umbraco! Med det menar jag mindre scripting för att kunna ha olika "funktioner" och utseende för olika sajter på delad kod, jag har m.a.o fått polletten för Templating att ramla ned. Detta gör att man MÅSTE tänka till från början beträffande Document Types som motsvarar de formulär vi bygger i Custom .NET och där admin/användare ställer in saker, skriver texter, rubriker, anger e-post adresser för kontaktformulär mm. Det man bygger upp i Document Type återspeglas då under Content/Innehåll där webbmastern populerar sajten. Till Document Type skapar man då en eller flera Templates som är HTML (plus kod då det behövs) som presenterar inmatat data. Det STORA jag har lärt mig är att man programmatiskt kan Rendera den Template som man via Content har valt för sin node så inga mer Razor script som blir på flera tusen rader så man har en sajt som programmeras upp. Givetvis så måste man använda en del kod för att avgöra vad/hur data från Content ska presenteras.

Den stora utmaningen i denna Portal/Huvud sajt för TourPage 2.0 som byggs i Umbraco är då att KOPIERA en fördefinerad TourPage sajt som vi konfat upp fint i BackOffice. Det handlar om att:

  • I koden sätta en fast nodeID för den struktur som ska kopieras.
  • Utföra kopieringen via Umbraco API
  • Då man kopierar i Umbraco så blir de ej publicerade
  • Då man kopierar i Umbraco så får man inte ett returnvärde för exempelvis kopians root nodeId vilket är den STORA utmaningen...
  • ... För jag måste på något sätt loopa igenom kopian och via Umbraco API utföra en .SaveAndPublish() för hittade noder.
  • ... OM det även ska finnas ett formulär på denna "portal" / formulär som initierar kopierar som har data för domän/URL, logotyp upload, färgval mm så ska då kopians olika noder uppdateras med denna information!
  • Till ovan ska det skapas en /Media/"NewNodeCopy" struktur
  • Till ovan ska det så skapas en USER knyts till kopierad rootNode så denna USER endast ser den nya kopian i BackOffice samt då att ovam Media/"NewNodeCopy" blir root för USERns media
  • Förmodligen ska ett lösenord genereras och loginuppgifter ska mailas till en angiven e-post adress

Får jag till ovan så har vi kommit extremt långt för att sätta upp TP och kanske ett par extra "generella" Umbraco installationer där vi snabbt kan sätta upp ny sajt som ska vara mest för presentation. Det viktiga här är att särklija HTML/CSS från "struktur" och för "custom", dvs det finns en main struktur i botten (/css/main.css) som aldrig ändras och därför måste den vara "perfekt" från början och en CUSTOM där varje sajt får sin egna override CSS (typ /css/sajt-node-id-XXXX.css) som läggs till.

CSS

Då man bygger sajter i .NET (oavsett webforms/mvc) så använder man alltid MasterPages (webforms) eller Layouts (mvc) och dessa är en överordnad HTML (kan ha kod, har oftast lite) som används av alla script/mallar/sidor på sajten, i dessa lägger man in meta, laddning av css/js filer, definerar element som ska finnas på alla sidor, oftast header (nav pinne) och footer, däremellan har men en ContentPlaceHolder (webforms) / RenderBody (mvc) där själva nodens/scriptets data renderas och det är ett script. Man (jag) brukar även lägga in generella saker som cookiebars/js, GenericModal som kan återanvändas av andra sidor mm.

I denna TP så läser jag in Data/Inställningar för färger för sajt och header och skapar en inline style section i head DOM där jag skriver ut override CSS. Jag kontrollerar även inställningar för header, som vart den är placerad då man kan lägga den sist i BackOffice noder eller mellan två sektioner på startsidan och då klicka i saker som Dock On Scroll som dockar header vid scroll. Kommit en bra bit.

WebFonts

Jag kan även förbereda en mappstruktur med "vanliga" fonter vi jobbar med (Open Sans, Lato, Robots mm) och skapa en dropdown där man väljer den font man vill använda. Denna font gäller då för hela sajten eller om vi väljer en "grundfont" som alltid ska vara med för exempelis H taggar, NAVBAR osv så kan "kund" välj font för ingresser och text/brödtext.

 

HTML Template

I denna version så är det endast för Startsidans sektioner > Text som jag lagt in en alternativ Template under Egenskaper där det finns Text och Text v2

 

NavBars

Det är även viktigt att alla förstår "problematiken" med att bygga en NavBar. Har vi en SWP (som jag kallar lång Single Web Page sajt för) så skriver vi ut en NavBar med #LINK som ger en animerad scroll till den sektionen, har man 6 s sektioner så blir det 6 st länkar, som vi alla vet kan det bli långa namn och trångt i navigeringen. Ska detta då även kombineras med vanliga Textsidor (där vid klicka så laddas annan mall in och typ headerbild, rubrik och texten visas) och man har 4 st sådana så blir det 10 st. items i Navbar och detta ÄR ett problem. Det är "lätt" då en ny sajt tas fram att identifiera NUVARANDE behov men dessa kan förändras i framtiden, sidor tas bort, sidor läggs till. Jag tror att det är därför fler och fler går över till Hamburgare i sina menyer/navbars. För att råda bot på detta problem så skulle man då kunna använda flera "tekniker":

  • Använda responsive font-scaling som jag lärt mig och gjort en mockup för.
  • Allt i Content/Innehåll måste under Egenskapar ha en Checkbox för "Göm i navigering" så det hårt går att välja vad som ska ingå.
  • Ibland mixar vi navbars, en MAIN navbar med sidor och en MINI navbar där vi lägger upp "Logga in", "Om oss", "Kontakta oss" som ligger upptryck i hörnet i header pinnen. Här skulle jag då lägga in ytterligare en checkbox för "Addera till mini-navbar" eller kanske en dropdown för ALLA Contents som innehåller "Main navbar" och "Mini navbar" (fast bättre namn). Scripten som skapar respektive Navbar letar då noder för main/mini och där man EJ klickat i "Göm i Navigation".

 

 

Jag skriver om ovan CSS/FONTS/HTML för att jag behöver "hjälp" att ta fram en perfekt struktur som täcker behoven och som även tänker fram till som "Jaha, om man väljer den färgen där, laddar upp en sån Logo där och väljer den fonten, funkar det? Ska det till val/inställningar för hur man ska kunna klicka i NavBar, ska navbar kunna ha olika libs för att skapa menyer (javascript libs för navs) osv". Det fiffiga med externa Templates är ju att jag kan bygga en HeaderNavbar template för Bootstrap Menues, en HeaderNavBarDropdowns baserat på lämpligt script, en NavBar template för tja, delad navbar med en del till vänster och en del till höger med logo i mitten. Detta skulle bli 3 templates och alla 3 templates blir valbara för alla sajter på denna Umbraco Installations. :) (upprepning). Det jag försöker få fram är att allt i template väg blir valbart för alla samt att det måste tänkas, inga "specialfall" för vissa sajter kan användas. :). Det bör alltså skapas en struktur, exempelvis bara i Excel med en "typ" (exempelvis Kontakt) och därunder specar men de fält som behövs, eventuella egenskapar/data inställningar i form av checkboxes,Dropdowns,RadioButton lists etc, detta ger en bra överblick och man kanske direkt kan identifiera "ahh, kanske den typen kommer att behöva detta alternativ för att täcka detta behov."

Scenario:

Jag tror att detta är mycket viktigt att känna till så att inga antagande görs så det tar stopp i framtiden.

  • Säg att vi har en Document Type för Contact. Denna innehåller fält för Namn, Epost, Meddelande (+ settings för MailFrom och MailTo samt MailSubject som används för att skapa och skicka mailet med), vi döper Docuemnt Type till "Kontakt".
  • Under Innehåll (det som kund/webbmaster hanterar) så kan man då skapa en node baserat på "Kontakt" som kanske döps till "Kontakta oss". Denna läggas in på sajt d1.se, d2,se och d3.se.
  • Vid ett senare tillfälle så vill d2.se ha en dropdown med ämnen (support, sälj, generellt). Det är inga problem, då lägger jag till denna i Document Type "Kontakt" och vips så kommer den upp i Innehåll, för alla, i samma sväng uppdateras mallen/template för Kontakt så denna dropdown finns (samt då även BackEnd code för att ta med info från dropdown vid knappklick)! Dvs för d1.se, d2.se, d3.se, alla har denna dropdown i sitt Innehåll (Content).
  • Här kan man då välja att har kvar den första Template som EJ har denna dropdown och skapa en ny Template som har dropdownen (eller som jag skrev ovan, uppdatera befintlig mall med dropdown), då måste kunden d2.se aktivt gå in och välja denna mall under Egenskapar. Ska det vara så att endast d2.se ska kunna använda denna Document Type för Kontakt så finns ingen annan lösning än att sätta upp en helt ny Umbraco Installation, göra en export av nuvarande d2.se och importera på den nya installationen, det finns INGEN lösning för att lägga till så att en specifik NodeId kan få just en Document Type med denna dropdown.'
  • Denna puck är även viktig att känna till. Det går inte i Umbraco att för redan adderat Innehåll/Content att ändra Document Type. Säg att vi har en DocType som heter "Kontakt", gör man då en som heter "Kontakt med Ämnesdropdown" så kan man alltså för noden "Kontakt" i sitt Innehåll/Content ÄNDRA från "Kontakt" till "Kontakt med Ämnesdropdown". Man måste då manuellt lägga till ny node som "Kontakt med ÄmndesDropdown", kopiera sitt innehåll från "Kontakt" till "Kontakt med Ämnesdropdown" för att till sist Radera/Avpublicera den första noden som använda "Kontakt". Hmm, ja så är det.

Notera: Ovan är endast ett "problem" där vi skriver MultiSite-On-Single-Umb-Installation.

Notera igen: Ovan är ju egentligen inga problem, vi kan skapa en sida på portalen eller sajten som heter "Platform - Versionshistorik" och där skriva information om vad som tillkommit/ändrats och hur man som kund/webbmaster kan tillämpa ändringarna. Det som man måste ha i bakhuvudet är att aldrig göra en ändring som får befintlig platform att sluta fungera, det måste alltså alltid vara bakåtkompatibelt.

 

Exempel på hur det hänger ihop och den ordning man sätter upp det på

 

Umbraco BackOffice

Det finns som sagt saker som ej just nu går att lösa i BackOffice som jag nämnt ovan och då bl.a ej byta Document Type för existerande node (byta från TextPage till TextPageLeftNav som exempel). ALDRIG ändra en GridContent property som tagits i bruk, detta raderar innehållet i existerande noder som använder den (dvs text, bilder ja innehållet försvinner och detta pga att GridContent ligger som ett json object i databasen).

Jag bygger detta i slutet av Mars 2016 på UMB7.4.2 som är senaste version. Det finns en stor sak som flera requestat som bör (måste) in i BackOffice med tanke på att the crew har gett oss List View för childs som ger bra överblick och vi kan lägga till egna kolumner från vår document type. Det som EJ går är att lägga till vår custom field/property för Sortera, dvs, om vi har OurStartDate som är ett datum så kan vi lägga till den i List View men vi kan ej utföra en Order By (ASC/DESC) baserat på denna vilket är extremt synd och tydligen ett större core-problem än vad man kan tro! http://issues.umbraco.org/issue/U4-6003

 

Info

Jag samlar länkar här:

https://our.umbraco.org/forum/developers/api-questions/8608-How-do-you-get-the-Id-of-a-newly-copied-document-in-the-API