Hollyrosa har fått ett ansiktslyft

Programboknings-systemet Hollyrosa har fått ett större ansiktslyft. Efter att ha uppgraderats till HTML5 så har jag nu valt Bulma som CSS system och i och med det så har sidor uppdaterats för att dra nytta av allt som Bulma har att ge.

Hollyrosa har fått ett nytt menysystem vilket är mycket smidigare och visa sidor har fått lite mer förbättringar än bara ny CSS.

Hollyrosa är inte designat för att primärt vara mobile-first, men med Bulma så börjar vi nu använda flex-box design så de sidor som man typiskt titta på i mobilen eller sin padda kan man lägga ner lite möda på att göra mer mobilvänliga. De delar av Hollyrosa som kräver relativt mycket skrivande behöver primärt inte se bra ut i mobiler.

Ett av grundmålen med Hollyrosa var att ge en bra och fullständig överblick och det kräver en stor skärm. Hollyrosa är en fröjd i 24 tum.

Hollyrosa upgraderad

Programbokningssystemet Hollyrosa har nu i vinter upgraderats internt. Det är ett rätt omfattande arbete som om allt gått rätt knappt syns alls.

Hollyrosa har uppgraderats till senaste TurboGears 2 – version 2.3.11 och i samband med det så koverterades alla sidor till HTML5 (vilket är en av de stora förbättringarna) och för att lyckas med det så var jag tvungen att byta ut template-maskineriet från Genshi till Kajiki och därmed även upgradera alla widgets från Tosca Widgets 1 till Tosca Widgets 2.

Huvudpoängen är att Hollyrosa nu är upgraderad till HTML5 vilket gör att vi kan bygga vidare med moderna CSS tekniker och reaktiv programering framöver.

I samband med upgraderingen så passade jag på att uppgradera till dojo 1.11.3 men det bör knapt märkas heller.

Enjoy

Bokningssystemet inför säsongen 2017

Har du någons sin tänkt att “det kan inte ta så lång tid att städa”?

Det visade sig att det var mer att städa än jag hade hoppats på, men när man väl kommer igång så är det svårt att sluta.

Väldigt kort så har programbokningssystemet Hollyrosa behövts anpassas till att de system som driftsätter Hollyrosa ibland måste uppgraderas och den här gången var det en del genomgripande ändringar som behövdes göras. Efter allt detta arbete så finns det inte mycket ny funktionalitet än och vissa barnsjukdomar kan ha återuppstått.

Hollyrosa är nu redo för 2017 med schema och allt. Sommarens dagsscheman ser just nu ut precis som sommaren 2016 års scheman. 60 Degrees North dagarna har ett egen 60 Degrees North schema som bygger på 2013 års 60 Degrees North.

Nya Features

  • List Users och List Active Users har snyggats till lite och fått stöd för “last login”
  • Me har fått lite mer text i slutet som pekar på dokumentation för Hollyrosa.
  • Edit Activity sidan har fått en snygg färgväljare för bakgrundsfärgen för aktiviteten.
  • View Activity har fått lite kärlek, bland annat har den nu de “nya” Dojo menyerna.

Saker som har uppgraderats och fixats till (det stora arbetet) under huven (endast för utvecklare)

  • TurboGears 2 har uppgraderats från version 2.3.3 till version 2.3.9   Uppgraderingen till version 2.3.9 betyder att vi snart är Python3 och HTML5 redo vilket är en av de stora poängerna, men också att vi helst inte vill vara beroende av en för gammal Python version jämfört med den version som en modern Ubuntuinstallation har som standard. Uppgraderingen av TurboGears är det som tagit mest tid eftersom vi behövde konvertera ett bibliotek som heter ToscaWidgets.
  • Uppgraderingen av TurboGears innebär att vi tagit klivet helt in i WSGI och i samband med det så använder vi nu mod_wsgi i apache. WSGI är en standard för olika slags webservrar i Python. I princip alla moderna web-frameworks i Python är anpassade för WSGI.
  • Vi har konverterat från ToscaWidgets1 till ToscaWidgets2 vilket varit lite smärtsamt. Det var dock nödvändigt på sikt, för ToscaWidgets2 är en omarbetad version av ToscaWidgets anpassad för WSGI. Jag förväntar mig också flest buggar i de delar av koden som berör ToscaWidgets konverteringen.
  • Apache har trimmats lite så att vi kan lagra mera statiska sidor i browser cachen.
  • Logging konfigurationen har uppgraderats ordentlig.
  • Dojo Tookit har uppgraderats från 1.8 till 1.11.2. Detta har gått relativt bra.
  • Allmän uppstädning av JavaScript och en hel del JavaScript har flyttats från genererade HTML sidor till rena JavaScript moduler vilket gör att vi kan cacha mer data i webläsaren dvs. överlag borde Hollyrosa gå fortare.
  • BookingDay-controllern har splitrats i en BookingDay-controller som bara har hand om bokingar och en Activity controller för activity relaterad funktionalitet.
  • En liten säkerhets funktion har införts som vägrar HTTP GET request till funktioner som har sido-effekter.
  • Calendar overview sidans JavaScript har rensats ordentligt och det mesta laddas nu från andra JavaScript moduler.
  • Attachment och notes kan nu raderas.

Bokningssystemet inför säsongen 2016

Det har varit ett väldigt intensivt år och det finns fortfarande lösa trådar kvar att ta tag i för 2015.

Inför säsongen 2016 har jag nu tagit tag och utvecklat vidare bokningssystemet Hollyrosa. Nyheterna i år är att drop-down listorna för grupp och program nu är smarta filtrerande drop-down, hela user-management har fått ett lyft och room & staff bokningsdelarna har fått en massa buggar fixade. Dessutom kör vi nu helt bakom SSL.

Dagarna för säsongen 2016 är inlagda och jag har gjort en schema ändring som vi talat om, “Lots” och “Torekov” aktiviteterna är nu sammanslagna till en aktivitet som heter “storbåt”.

På den pedagogiska fronten så har jag gjort en liten insats och gjort en screencast för systemet i hela fem delar.

Välkommen till 2016

Hollyrosa 2016 – Arbetsblock 2

Schema 2016

[ X ] Lots+Torekov = Storbåt
[ / ] Verify external booking request works with lot/storbåt

Maintainance

[ X ] dojo-1.11
[ X ] JavaScript cleanup

[ X ] Move from Toscawidgets1 to Toscawidgets2
[ X ] supervisord (not needed as latest version now runs behind WSGI which is a much better idea)
[ X ] tg.2.3.8 and gearbox – major progress since everythings cleaner now and with tg 2.3.9 we are close to python3. mod_wsgi also fairly easy now.

Hollyrosa 2016 – Arbetsblock del 1

För att fortsätta historien om den tid på året då man sitter inne och tittar ut mot brun snö täckt av grå himmel. Det är tid att programmera.

Nu är det dags att planera 2016 års arbete och det här är del 1 (sprint 1 om man så vill)

Del 1 – room/program/staff

Sommar förberedelser

[ X ] Lägg in rums-scheman för hela sommaren

[ X ] Lägg in funk-scheman för hela sommaren, betyder att vi måste återanvända booking_day.live() , men också att adressboken börjar bli akut.

UTB

[ X ] Screen Cast

Utveckling

[ X ] new booking fungerar inte bra Live vyn, den listar inte grupper och den får inte datumen rätt heller. Plus att den borde ha auto-uppslagning av namn och kanske även import från adressboken.

[ X ] block slot / unblock slot har problem, den behöver få reda på subtype på schema för att göra redirecten korrekt. Ev. skall schema slås upp från slot_id men det är lite vanskligt.

[ X ] new booking skall bara lista vissa aktiviteter, så man måste kolla i schema och slå mot listade visiting groups id för att få det rätt. (klart för program booking, ej room booking/staff booking)

[ X ] Listning av grupper mm måste göras om så den tål att alla funktionärer finns inlagda jämte alla grupper, annars kommer våra list views fullständigt explodera överallt. Vi kommer i princip inte klara av rums- och funk- bokning om inte detta löses. Förmodligen får vi gå mot att intelligenta text-fält med auto-ifyllning eller liknande.

[ X ] List all visiting groups skall bara lista ifyllda: visiting groups, funk, kurs – iden är att ha en drop down meny likt filer activity groups.

[ X ] Autoifyllning på övriga alternativt bara lista visiting_group. (klart för program booking, ej room booking/staff booking)

Hollyrosa 2015 – Arbetsblock del 1

Det är den tid på året då man sitter inne och tittar ut mot brun snö under grå himmel. Det är tid att programmera.

Att köra programbokning på datorn kan tyckas nytt, men i vinter har vi faktiskt fem års jubileum för programbokningssystemet. Under dessa fem år har vi hunnit ta oss från första åren med SQLite backend till MySQL backend och nu med CouchDB. Vi har hunnit gå från knappt något javascript till massor av Dojo baserad kod på klienten. När vi började hade knappt någon en smartphone och nu har vi ett system som fungerar alldeles utmärkt i smartphonen.

Det vi inte riktigt har hunnit med är att få ordning på adressboken, rumsbokningarna, funkplaneringen och matplaneringen.

Nu är det dags att planera 2015 års arbete och det här är del 1 (sprint 1 om man så vill)

Del 1 – allmänt och uppstädning

[X] Listning av programbokningar måste framöver göras på id och inte på namn, tyvärr, men nu börjar vi få flera bokningar med samma namn.

[X] Lägg in rums-scheman för hela sommaren

[X] Lägg in funk-scheman för hela sommaren, betyder att vi måste återanvända booking_day.live() , men också att adressboken börjar bli akut.

[X] Kolla hur det blir med block, ser ut som en block slår igenom på flera scheman. Ev. har vi et problem med unika slot id’n

[   ] new booking fungerar inte bra Live vyn, den listar inte grupper och den får inte datumen rätt heller. Plus att den borde ha auto-uppslagning av namn och kanske även import från adressboken.

[   ] block slot / unblock slot har problem, den behöver få reda på subtype på schema för att göra redirecten korrekt. Ev. skall schema slås upp från slot_id men det är lite vanskligt.

[X] Man kan inte hoppa med kalendern längre i Live vyn, den saknar info om Live eller Funk.

[   ] new booking skall bara lista vissa aktiviteter, så man måste kolla i schema och slå mot listade visiting groups id för att få det rätt.

[X] Lägg in Arcanum-schema efter att vi vet vilka aktiviteter som blir av. Vi borde kunna räkna lite på hur många aktiviteter det blir.

[   ] Listning av grupper mm måste göras om så den tål att alla funktionärer finns inlagda jämte alla grupper, annars kommer våra list views fullständigt explodera överallt. Vi kommer i princip inte klara av rums- och funk- bokning om inte detta löses. Förmodligen får vi gå mot att intelligenta text-fält med auto-ifyllning eller liknande.

[    ] List all visiting groups skall bara lista ifyllda: visiting groups, funk, kurs – iden är att ha en drop down meny likt filer activity groups.

[    ] Autoifyllning på övriga alternativt bara lista visiting_group

[ X] Styr upp och snygga till hur man skapar nya användare och byter lösenord.

[X] VoDB statistics måte fixas så vi kan förutse sommarens storläger Arcanums deltagarantal bättre.

[X] Updatera CSS så vi har en minhöjd på booking day så vi inte får den irriterande radbrytningen i början

 

Live Calendar Beta i Bokningssystemet

Tänk er två scoutkårer som vill åka på ett läger och tillsammans planera sitt läger men på distans. Hur göra enklast? Ett sätt är att använda ett konferenssystem tillsammans med programbokningssystemet nya kalender vy. Kalender vyn är till för grupper och den visar lägerperioden med flera lager. Varje lager är kopplad till en grupp.

Låt oss säga att Solna sjö och Enskede vill åka på Miniscout tillsammans och ha tillgång till en gemensam kalender där man ser både Solna sjös program, Enskedes program och programmet för Miniscout. Lägg till ett speciellt lager där man själv kan lägga in text i kalendern för att utöka det bokade programmet med ens eget program.

Allt detta finns i en beta-version nu. För de som vågar gå först.

program_layer_illustration

Douglas Engelbart

Det har kommit ut en jubileumsbok med anledning av att Vässarö firar 70 år. Undertecknad har skrivit ett av avsnitten i boken. Allt jag skrev kom inte med i boken, de modernare delarna klarade sig inte förbi publicist-delen så istället kommer mitt bidrag publiceras här på bloggen i sin helhet, dock inte riktigt än.

Till de delar som försvann på vägen mot bok fans ett avsnitt från min uppväxt och maskinskrivningen och hur hopplöst efter det kändes med maskinskrivning när vi redan hade datorer. Det var i mitten av 80-talet. Det jag inte visste när jag skrev den texten är att redan 1968, samma år som lägret sjö-68 inträffar på Vässarö (går att läsa om i jubileumsboken) så ger Douglas Engelbart en häpnadsväckande demo. 1968 visar han upp en dator med skärm, mus, hypertext, ordbehandling, multitasking och videokonferens.

2:a juli i år gick Douglas bort. Demon fins idag på nätet, den är rätt lång men kom ihåg, detta var 1968 när de flesta inte alls interagerade med datorer och de som gjorde det använde hålkort.

Stort tack för allt du gjorde.

Hollyrosa <3 Vässarö-databasen

Våren står i antagande och ett stort arbetsblock som gjorts på Vässarödatabasen och programbokningsystemet Hollyrosa håller på att nå en milstolpe.

Datamodellen för Vässarödatabasen har hittat sin form och det behövdes inte så många vyer (det heter så i CouchDB) för att få fram det data vi söker efter.

Det finns ett rudimentärt sätt att mata in boende och mat, vilket gör att vi kan förutse beläggningen på ön och se vad statusen är på alla lägergrupper. För kansliet så finns en mycket klurig tag-sheet som tillsammans med taggar, attachments och noter bör täcka in alla behov för datalagring. En stor framgång är att vi lyckats unifiera lägergrupper, funk och kurser i systemet.

I år kommer vi därför att inte bara använda Hollyrosa skarpt som programbokningssystem men även använda systemets nya delar för att skarpt testköra att datamodell och grundfunktioner fungerar även för kansli. Går allt bra kan vi ägna hösten åt att partitionera systemet och bygga kopplingar mellan delarna. Att vi först bygger ett gemensamt system och sedan splittar det är för att vi vill ha samma datamodell i hela systemet, annars blir det för dyrt att underhålla.

Lägergruppsöversikt