Kildekoden til Folkets Ting er lagt på GitHub og kan frit videredistribueres under GNU GPL v.3 licensen. Der har faktisk aldrig rigtigt været gode grunde til at gemme koden væk. I starten tror jeg at jeg var bekymret for at nogen skulle kopiere konceptet, senere har det været et spørgsmål om vi ikke har haft tid til at pudse koden af og frigive den.
Der er tale om et eksport at det Git-repositorie vi har brugt til udviklingen indtil nu. Historikken indgår således ikke, primært fordi den indeholder gamle passwords og koder til diverse eksterne tjenester, sekundært fordi commit-beskederne sommetider indeholder uhøviske referencer til kønsdele m.m..
Hvis du vil i gang med at arbejde med kildekoden til Folkets Ting skal du (hvis du ikke allerede har dem) installere Visual Studio 2010 og SQL Server 2008 R2 Express, begge gratis tilgængelige. Du får også brug for Git, msysgit virker udemærket på Windows. GitHub har en god installationsguide. Med det på plads kan du clone repositoriet til din egen maskine. Opret en database og kør scriptene i dbscripts folderen for at oprette de nødvendige tabeller og tilføje nødvendig data.
Du kan kigge på koden i Visual Studio ved at åbne TTF.sln filen (jeg kaldte oprindeligt Folkets Ting for “Ting til Folket”, deraf forkortelsen). Folkets Ting består af følgende projekter:
- FT.Web: Det primære website kodet i ASP.NET MVC.
- FT.DB: Primær database-interaktion via LinqtoSQL. Indeholder desuden diverse model-valideringskode.
- FT.Model: Repositories der fisker data ud af databasen.
- FT.Scraper: Koden der henter data fra Folketingets hjemmeside (“screen-scraperen”). Koden håndterer al kompleksiteten og retarderetheden ved ft.dk. Der bor drager i den. Jeg undskylder på forhånd.
- FT.Search: Kode der wrapper søgning via Solr — ikke aktivt på sitet for tiden.
- FT.ODataApi: Kode der driver Folkets Ting’s data API.
- FT.Data: Entity Framework database-wrapper som API’et bruger.
- Feedreader: Henter blog-posts til visning på forsiden.
Hvis du laver ændringer som du synes skal med på folketsting.dk, så push koden med dine ændringer til dit eget repo på GitHub og send et pull-request — så lover jeg at kigge på det. Jeg vedligeholder en privat release-branch med database-connection strings og andet godt. Hvis der kommer brugbare ændringer merger jeg dem ind og pusher til AppHarbor, hvor Folkets Ting nu er hostet.
February 4th, 2011 at 8:38 am
[...] This post was mentioned on Twitter by Michael Friis, Christian Dalager, Ask Hybel, Tine Müller, mikkelhippe and others. mikkelhippe said: RT @dalager: Så er Folkets Ting open sourcet: http://blog.folketsting.dk/2011/02/03/folkets-ting-kildekode-aben/ <– megaprops til @friism ! [...]