5 november 2009, Jeroen Moors
Af en toe krijgen we wel eens de vraag om een volledige backup af te leveren van een subversion repository. Gewoon just in case…
Voortaan kan je zelf op elk gewenst moment een volledige backup maken van je subversion repository. Zo’n backup bevat dan elke revisie van de repository zodat je op basis van de dump de volledige historiek terug kan opbouwen.
Deze nieuwe feature wil natuurlijk niet zeggen dat wij geen backups meer gaan maken. Alles blijft wat dat betreft bij het oude. We voorzien zelf dan ook automatisch van de nodige backups. Gewoon just in case…
Zelf een dump maken en terug importeren kan in drie stappen.
Stap 1: Log in en ga naar de gewenste repository

Kies in het overzicht “manage” langs de gewenste repositories.
Stap 2: Download de dump

Kies onderaan de pagina onder het item “Manage”, “Download”. Het downloaden van de dump begint. Het maken van een backup of dump kan even duren omdat de volledige historiek van de repository geëxporteerd moet worden.
Stap 3: Terug importeren van de repository
Gebruik volgende commando’s om de repository lokaal terug te importeren.
svnadmin create demo
zcat dump_demo_20091105.gz | svnadmin load demo
Posted in Weble | No Comments »
18 september 2009, Jeroen Moors
Aanstaande zondag, 20 september 2009, zullen er werkzaamheden uitgevoerd worden aan de electrische installatie van Scarlet.
Hieronder de mededeling van Scarlet:
Further to our commitment to improve the power supply to the datacenter, we would like to inform you of the following maintenance works, whereby we will switch from the B path supported by MUPS to the A path, supported by DUPS, as shown in attachment.
Between September 14th and 19th various works are planned without impact for you. The activities will be isolated from the power supply currently used for production.
On September 20th (between 07.30 and 17.00), the planned activities can have an impact on the power supply, although all appropriate measures are being taken to prevent a downtime.
The maintenance work will be finalized on September 27th, the exact time window will be communicated in due course according to standard procedure of planned maintenance window requests.
Zoals steeds volgen we dit nauwgezet op.
Update: 20/09/2009 - 14u20, de werken zijn afgerond. Er was geen onderbrekingen tijdens de werkzaamheden.
Posted in Events | No Comments »
14 september 2009, Jeroen Moors
Vandaag is het de laatste dag dat er Early Bird tickets zijn voor de Weble Tutorail Days. Hoogtijd dus om nog een workshop te belichten: Ext JS.
Ext JS is een javascript framework, familie van Jquery, prototype, … Ext JS heeft echter ongetwijfeld de meest uitgebreide set widgets: datagrids, buttons, sliders, tree-views, tabs, panels, …
Telkens hebben ze hetzelfde pixel-perfected strakke design. Ext JS is dan ook de ideale basis om gebruikersinterfaces te ontwikkelen, zeker als je grafische talenten niet zo ontwikkeld zijn.
Naast het het mooie grafische resultaat zijn de functionaliteiten ook haast onbegrensd. Deze voorbeelden geven een goed idee van wat je allemaal, relatief eenvoudig, kan bouwen.
Het is natuurlijk niet alleen rozengeur en maneschijn. Persoonlijk vind ik dat Ext JS, vooral in het begin, een behoorlijke steile learning curve heeft. Een extra duwtje is dan zeker welkom. Op 30 oktober geeft Chris Ramakers dat duwtje.
Posted in Development, Events, Weble | No Comments »
11 september 2009, Jeroen Moors
Een Django workshop. Maar is Django dan eigenlijk niet zo’n beetje het zelfde als Ruby on Rails? Nee.
Er zijn inderdaad gelijklopende dingen. Ook Django is een web application framework, gebaseerd op het MVC-model. Ook Django heeft als doel snel web applicaties te kunnen bouwen met een minimum aan overhead. Ook Django is relatief jong. Maar toch zijn er zeker voldoende verschillen om ook Django een bestaansrecht te geven.
Django als framework is ontstaan uit het refactoren van bestaande nieuws sites totdat deze een gemeenschappelijk framework gebruikten. Omdat het over nieuwssites ging lag de focus heel erg op snel kunnen werken. Dit zowel voor de inhoud van de sites, de programmatie als voor het deployment.
Voor het bijwerken van content en andere databank gegevens heeft Django zijn standaard administratie interface. Hiervoor hoef je geen enkele lijn code te schrijven en kan je meteen de content van je site beginnen te bewerken. Vanzelfsprekend kan je deze out of the box tool uitbreiden zodat die precies doet wat relevant is voor het project.
Programmeren in Django gebeurt in Python. Python heeft inderdaad een aantal kenmerken die Ruby ook heeft. De taal is ook volledig object georiënteerd, alleen durft men soms wel eens beweren dat Python mooiere code levert. Ongetwijfeld zullen de Ruby fans dit ook wel van Ruby zeggen.
Je maakt iets, maar vroeg of laat wil je dit natuurlijk aan de wereld tonen. Deployment, bij vele frameworks is dat vaak een hekel punt. Juist omdat de initiële ontwikkelaars van Django heel vaak moesten deployen is dit voor Django erg goed geregeld.
Als kers op de taart is Django dan ook nog erg snel en schaalt het vrij eenvoudig.
Op 23 oktober gaan we samen met Jan Geboers aan de slag in Django. In één dag zullen we een applicatie bouwen die gebruik maakt van Django, de templating kracht en enkele extra modules. Tot slot zullen we de applicatie dan ook deployen.
Wie snel is kan nog een Early Bird ticket bemachtigen tot 14/09/2009.
Posted in Development, Events, Weble | No Comments »
10 september 2009, Jeroen Moors
Nog net iets minder dan een maand tot de eerste Weble Tutorial Day en nog juist 5 dagen, tot 14 september dus, om Early Bird tickets te kopen. Het juiste moment dus om alle workshops nog even toe te lichten.
Ruby on Rails. Als je de naam nog nooit gehoord hebt, heb je waarschijnlijk zopas je eerste internet verbinding in gebruik genomen. Er is zonder twijfel al behoorlijk was buzz geweest rond Ruby on Rails of kortweg RoR. Maar wat is het nu? En waarom moet je het gezien hebben?
RoR is een web application framework gebaseerd op de taal Ruby. Die taal bestaat ondertussen een jaar of 15 en werd initieel ontwikkeld in Japan door Yukihiro Matsumoto. De syntax lijkt erg op die van Perl of Python en is volledig object- en gebruikersgeoriënteerd. Dat laatste is misschien geen bestaande term maar daar draait het bij Ruby en ook Ruby on Rails wel voor een groot stuk om. Vaak worden programmeer talen ontwikkeld van uit het standpunt van de computer. Hoe kan een CPU het makkelijkst omgaan met dit of hoe kan het werkgeheugen dat doen. Ruby probeert dit soort dingen in de achtergrond in goede banen te leiden en ondertussen in functie te staan van de ontwikkelaar. We are the masters. They (computers) are the slaves.
Ruby on Rails hanteert het MVC (Model-view-controller) design pattern om applicaties op te bouwen. Ondertussen zijn er vele MVC implementaties in verschillende talen, maar RoR was misschien wel de grote doorbraak van het MVC-model.
Naast een strikt MVC model heeft Ruby on Rails ook een erg vaste structuur. Heb je bijvoorbeeld een model met een class “kalender”, dan zal de daaraan gerelateerde tabel ook “kalender” noemen. Deze duidelijke structuur maakt heel wat extra denkwerk en overwegingen overbodig. Daarnaast kan iedereen met wat ervaring makkelijk inpikken op bestaande projecten.
Natuurlijk is er ook nog het zeer krachtige template systeem dat probleemloos webpagina’s, emails of andere documenten genereert. Of de database versioning die rollbacks tussen verschillende versies toelaat. Of het grote aantal beschikbare plugins.
Kortweg, Ruby on Rails, webdevelopment that doesn’t hurt.
Is voor jou de overstap van bv. PHP een te grote sprong in het ongewisse, dan kan een kennismaking met Ruby on Rails toch nog erg leerrijk zijn. Het beter begrijpen van Ruby on Rails legt design paterns bloot die zeker ook in andere omgevingen en talen bruikbaar zijn.
Op 9 oktober wagen wij alvast samen met Stijn Mathysen de sprong. Wie snel is kan nog een Early Bird ticket bemachtigen tot 14/09/2009.
Wil je Ruby on Rails meteen aan in actie zien? Bezoek dan even http://rubyonrails.org/applications.
Posted in Development, Events, Weble | No Comments »
9 september 2009, Jeroen Moors
Gisteren was ik te gast in Brussel bij Microsoft voor een “round table” gesprek met Hank Janssens.
Natuurlijk heb je al mijn vorige posts gelezen en weet je wie Hank is. Mocht die specifieke post toch aan je aandacht ontsnapt zijn, Hank Janssens is “Group program manager” bij Microsoft’s Open Source Lab.
Het Open Source Lab heeft een drietal kernprojecten: Samba, Apache en PHP. Dat laatste trekt natuurlijk onze aandacht. Om niet in herhaling te moeten vallen lees je best even het stukje “PHP on Windows” uit de PHP UK Conference post die ik eerder schreef.
Vandaag, ongeveer 7 maanden later, is er nog niet zo heel veel veranderd in het MS OSL. De MS SQL driver waaraan gewerkt wordt ondersteunt zo bijvoorbeeld nog steeds enkel PHP op Windows. De drang om Windows als besturingssysteem te pushen is dus, begrijpelijk, altijd een beetje aanwezig. Van diezelfde MS SQL driver is er sinds twee weken wel een nieuwe versie. Je mag dus ook weer niet stellen dat ze daar in Redmond stil zitten.
Wel helemaal nieuw, voor mij dan toch, is Microsoft Web Platform Installer. Deze tool maakt het in Microsoft next-next-finish-stijl mogelijk om je Windows desktop of server om te vormen tot een webserver met veel kant en klare toeters en bellen. Zo kan je hiermee bijvoorbeeld met enkele klikken een webserver met PHP en Wordpress opzetten.
Voor iedereen met een Windows desktop is Microsoft Web Platform Installer het proberen zeker wel eens waard.
Posted in Development, Events | No Comments »
11 augustus 2009, Jeroen Moors
Het eerste Weble event RidingRails was een groot succes, iets waaraan een vervolg gebreid moest worden. Vele slapeloze nachten later is er een nieuw concept: Weble Tutorial Days.
Er komen constant nieuwe talen, frameworks en platformen bij die allemaal even interessant zijn. De eerste stappen zetten zijn vaak het moeilijkst. En nog meer: Goed begonnen is half gewonnen.
Daarom de Weble Tutorial Days. Op één dag, vertrekkende van een basiskennis (web) programmeren, aan de slag met een nieuwe technologie. De kick-start gebeurt in kleine groepjes en volledig hands-on. Een instructeur met ervaring begeleidt je in het bouwen van een eenvoudige applicatie op basis van de gekozen technologie.
Er zijn vijf tutorial days voorzien, met telkens boeiende technologieën:
De tutorial days zullen telkens op vrijdag plaats vinden. Naast een goed gevulde inhoudelijke dag word je ook voorzien van de nodige drankjes en een lekkere lunch.
Tickets zijn zijn vanaf vandaag te koop. Wie snel is kan een Early Bird ticket kopen aan € 150. Standaards tickets kosten € 200.
Posted in Development, Events, Weble | No Comments »
6 augustus 2009, Jeroen Moors
Alles begint met de basics. Om een reeks subversion posts te schrijven als eerste post dus een korte rondleiding door de Weble Subversion Hosting.
Wie nog niet overtuigd is van Subversion leest best nog snel even deze post: 5 goede redenen om met subversion te starten. Mocht je nog niet vertrouwd zijn met Subversion kan je in dezelfde post ook het basis concept terug vinden.
In deze mini-tutorial gaan we drie dingen bekijken:
- Het aanmaken van een Subversion repository
- Het aanmaken van gebruikers en deze rechten geven op een repository
- Enkele extra opties zoals trac, websvn en code validatie
Inloggen
Het beheer van een Subversion account gebeurd via de support site: https://www.weble.be/support/. Eens hier ingelogd kom je via “accounts” -> “subversion” in de Subversion module.
Een repository aanmaken
Om een repository aan te maken klik je op “Create new repository”. Je kan hier eender welke naam kiezen, maar gebruik best geen te vreemde tekens om later problemen met je Subversion client te vermijden. Voor deze tutorial kies ik als naam demo.

Wanneer een repository aangemaakt is verschijnt meteen de http-url van de nieuwe repository. Dit is de url die je zal moeten ingeven in je client. Je kan hier zoveel repositories aanmaken als je wenst.

Gebruikers & rechten
Per repository moeten rechten toegekend worden aan gebruikers. Hiervoor heb je natuurlijk eerst gebruikers nodig. Via “Switch to user management” kom je in de module waar je gebruikers en hun rechten kan beheren.

De link “Add user” geeft je de mogelijkheid om een nieuwe gebruiker aan te maken. Ik maak een gebruiker jeroen aan. Eens een gebruiker aangemaakt is moet je per repository rechten toekennen aan een gebruiker:
- de gebruiker heeft geen rechten (standaard)
- de gebruiker heeft enkel lees rechten. De gebruiker heeft dan ook rechten om in te loggen in de Trac en WebSVN.
- de gebruiker heeft schrijfrechten en ook toegang tot de Trac en WebSVN
Ik geef de gebruiker jeroen volledige rechten op de repository demo.

Je kan zo veel gebruikers aanmaken als je wenst. Telkens met de gewenste rechten per repository.
Een repository beheren
Via de link switch to repository management kan je terug keren naar het overzicht van de eerder aangemaakte repositories. Wanneer je klikt op manage achter een repository kom je in de detail pagina van die repository.

Repository URL’s
Bij elke repository horen 3 url’s:
- De eerste url is de url van de repository zelf. Deze gebruik je in je subversion client.
- De WebSVN url geeft toegang tot de WebSVN browser waarmee je via je browser eenvoudig door de versies en comments kan gaan.
- De Trac url geeft toegang tot de Trac interface. Hiermee kan je projectmanagement en bugtracking koppelen aan je repository.

Code validation
Wanneer een repository php-code bevat kan code validation geactiveerd worden. Code validation gaat er voor zorgen dat enkel code die aan een bepaalde codingstandaard voldoet gecommit kan worden in deze repository. Vergeet bij het instellen van een codingstandaard niet op “Save” te klikken om de standaard te bevestingen. Disable (standaard waarde) schakelt de validatie volledig uit.

Delete repository
Wanneer een repository niet langer noodzakelijk is kan deze via de “Delete” link verwijderd worden. Het verwijderen kan niet ongedaan gemaakt worden en verwijderd ook de bijhorende Trac.

Referentie
Deze tutorial beschrijft het gebruik van de Weble Subversion Hosting. Wie wil kan gratis proberen en experimenteren.
Posted in Development, Weble | No Comments »
27 juli 2009, Jeroen Moors
Als eeste reactie op de storing van gisteren hebben we volgende officiële bericht van Scarlet ontvangen:
Dear Customer,
Yesterday, Sunday July 26, Scarlet preformed the planned intervention for the installation of an additional power feed towards the datacenter in Vilvoorde.
This intervention was necessary to improve the Scarlet datacenter power supply situation. The works were planned to be without any downtime.
Unfortunately, due to a defect switch in the old system, the intervention did not go according to the plans worked out with our subcontractor.
As a result, we experienced a power cut between 9h and 18h30.
However, the current situation is that the datacenter is provisioned through the electricity network using the newly installed power feed, backed up by a MUPS. The original power feed and DUPS will be fully revised in the coming days.
The complete installation is foreseen by August 8, 2009.
This investment is necessary to enhance the reliability of the Vilvoorde data center.
We apologize for the inconvenience caused, and Scarlet remains committed to take all necessary actions to re-establish Scarlet as a reliable partner.
Please do not hesitate to contact us if you require more information.
Scarlet NMC
Posted in Weble | No Comments »
25 juli 2009, Jeroen Moors
Ondertussen heeft iedereen al wel ooit eens van subversion gehoord. Versiebeheer. Maar waarom is dat nu zo belangrijk? Zelfs als je alleen werkt.
1. Gemakkelijk
Het basisconcept en -gebruik van Subversion is erg eenvoudig. Je hebt per project een repository die alle versies van het project zal bevatten. Daarnaast heb je een working directory, een lokale map waarin je effectief bestanden gaat bewerken. Gewijzigde bestanden terugzenden naar de repository wordt een commit/checkin genoemd. Een bepaalde (bijv. de laatste) versie van bestanden ophalen gebeurt via een update/checkout.
Het bewijs in 5 stappen:
- Download Subversion
http://subversion.tigris.org/getting.html
- Een repository aanmaken:
# svnadmin create mijnProject
of online bij via je hosted subversion provider
- Initiële import van bestaande code
# cd lokaleMapMetCode
# svn import lokaleMapMetCode http://svn0001.svn.weble.be/mijnProject
- Een lokale kopie van de laatste versie maken in een nieuwe working directory
# svn checkout http://svn0001.svn.weble.be/mijnProject
Hierna beschik je over een lokale map met de naam mijnProject waarin je kan werken
- De huidige versie verzenden naar de server
# svn commit
2. Backup van je code
Hiervoor is het natuurlijk vereist dat je subversion repository op een afzonderlijke computer staat. Best maak je van je repositories natuurlijk ook nog backups. Een hosted subversion oplossing verzorgt dit voor jou.
3. Probeer, maak dingen stuk en ga terug
Met Subversion kan je eenvoudig alle wijzigingen in je code bijhouden. Steeds kan je terug naar een vorige versie waardoor je zonder risico’s kan experimenteren.
4. Tools en integratie
Wie niet van de standaard Subversion commandline interface houdt, kan kiezen uit een hele reeks tools. De meeste editors bieden tegenwoordig ook integratie met subversion. Voor Windows gebruikers is Tortoise zeker een aanrader.
5. Subversion is goed gedocumenteerd
Zoeken naar Subversion geeft 26 miljoen resultaten in Google. Je bent echter niet verplicht om daarin te gaan graven. De gratis online versie van het O’Reilly boek beschrijft ook bijna elke situatie in detail.
Posted in Development | 1 Comment »