Jumping Display System

A project by Selentic for Manege Bosscherhof

2x jumping

Author: Ingo Berben | November 27th, 2007 0:30

Ok een heel klein verslag over de afgelopen 2 jumpings. De eerste jumping was niet zo’n succes, de stroom viel uit en daardoor kreeg de server een ander adres. Toen dat opnieuw ingesteld was, was er al een tijd voorbij. Daarna viel de stroom opnieuw uit… Toen heb ik het opgegeven.
De 2e jumping ging het eigenlijk super. Er is een UPS aangekocht om het verlies van stroom op te lossen. De inschrijvingen gingen goed. Bij de jury liep er wat meer mis… Het afhandelen van strafpunten liep mis af en toe. Ook het weergeven van resultaten liep niet altijd goed… De server liep ook 3x vast. Ik weet niet waaraan dit ligt.

Er is een week om de huidige bugs op te lossen

Tests

Author: Ingo Berben | October 27th, 2007 18:09

Vandaag een aantal testen uitgevoerd voor het programma. Het lijkt goed te werken op hier en daar een foutje na. Maar tot nu toe zijn er nog geen grote fouten gevonden. Het is meer wat perfectioneren…

Posted in: Testfase | No comments

Laatste hand?

Author: Ingo Berben | October 10th, 2007 15:56

Ik heb nog wat gewerkt aan het udpaten van de GUI wanneer de cache wordt geupdate via een andere computer. Er moeten nog een paar dingen gedaan worden:

  • Het updaten van een proef de gewijzigd werd
  • Wanneer je de prijslijst of de resultatenlijst weergeeft, mss al juist zetten op de tab die momenteel geselecteerd is
  • Als je op de refresh knop klikt moet even alles gedisabled worden tot dat de update erdoor is

Zijn er nog dingen????

De eerste jumping is uitgesteld van 21 oktober 2007 naar 22 november 2007, maar ik wil het zo vlug mogelijk afronden zodat we nog een maand de tijd hebben om te debuggen en dus te testen….

XmlSerializable

Author: Ingo Berben | October 01st, 2007 16:15

Vandaag een beetje gepruld met het probleem dat Dictionary niet serializable is. Dus heb ik een wrapper errond geschreven en deze de interface IXmlSerializable laten implementeren. Hierdoor heb ik ook extra items gelijk ‘LastKey’ en ‘LastValue’ kunnen bijschrijven. Omdat in de dictionary ook de klasse ‘Update’ bevatte, moest ik deze ook volledig serializable maken.

Alles is getest en het werkt. Wat zijn de andere veranderingen die ik heb aangebracht aan de update service:

  • Het werken met een updatenummer
  • In het splash scherm wordt de cache opgebouwd en nu ook geupdate indien nodig
  • De webservice ‘Updates’ toegevoegd en volledig geïmplementeerd

[ ... Time for a break ... ]

Update data structure

Author: Gert Van Gool | September 01st, 2007 11:17

We gebruiken simpel weg een eigen XML formaat om de wijzigingen door te sturen.
Nu kunnen we ofwel 1 update per packet toe te laten of meerdere updates.

Persoonlijk zou ik zeggen meerder updates per packet.

  • cycle number
  • Operation (add/edit/delete)
  • Payload
    • add: volledige combinatie
    • delete: combination id
    • edit: volledig nieuwe combination of enkel de aangepaste dingen
Posted in: Cache | 1 comment

Incrementele updates

Author: Gert Van Gool | September 01st, 2007 10:21

Het idee van incrementele updates is simpel. Server stuurt de wijzigingen door en de client “patcht” zijn cache.

Nu het probleem hierbij zit er in de manier waarop we de updates sturen.

  1. Server start de update (bij elke wijziging dan)
  2. Client vraagt updates aan sinds zijn laatste patch

Beide hebben enkele nadelen.

  1. Hoe laat je een webservice een call naar client starten?
  2. Time sync van client & server; network polution door te veel polling

At the moment ben ik die patching code aan het maken… Denk even mee na hoe we de updates uiteindelijk gaan opstellen?

Samenvoegen / Splitsen

Author: Ingo Berben | August 28th, 2007 13:46

Het samenvoegen en splitsen van de proeven is in orde. Dit nam enkel wat tijd in beslag om cross-references van proeven te detecteren, maar de rest van de code nam slechts een kwartier extra in beslag :) . Even wel de opmerking maken dat enkel nog maar een proef samenvoegen met een andere proef en daarna deze proeven terug splitsen in orde is.

Om één enkele proef te splitsen en samen te voegen is nog niet in orde. Dit is voorlopig een extra feature die nog niet geïmplementeerd is.

Het zoeken is nu ook volledig in orde. De rijen komen in de juiste kleuren te staan en het zoektabblad wordt juist geselecteerd. Hiermee was een probleem dat ik opmerkte. Het was namelijk zo dat enkel het tabblad bovenaan geselecteerd werd en niet de volledige tab. Er moest nog een extra functie worden aangeroepen om die tab ook daadwerkelijk te tonen.

Ok voor de rest ga ik nog even kijken dat de juiste tab geselecteerd wordt na een refresh en misschien al eens beginnen kijken voor wat optimalisaties om stukken code sneller te doen gaan. Als dit allemaal in orde is, wordt het stilaan tijd om aan de handleiding te beginnen. Het is allemaal nog wel wat werk, hopelijk geraakt het nog op tijd af, want er moet nog gedebugged en getest worden om de fouten eruit te halen.

Boodschap

Author: Ingo Berben | August 24th, 2007 0:19

Ok, het venster om weer te geven welke proeven zijn samengevoegd en welke niet is klaar en werkt volledig. Nu om direct weer te geven dat een proef is samengevoegd wou ik een boodschap weergeven boven het datagrid. Dit heb ik gedaan door het allemaal te docken in een splitcontainer. Nu leek het eerst of het ineens langzamer ging, maar ik denk dat het aan mijn pc lag of aan de debugger. Bij het runnen van de code in debug mode gaat het een stuk langzamer. Het zal waarschijnlijk aan alle debug code van Visual Studio hebben gelegen. Nu wat ik aanraad is toch computers aan te schaffen met minumum 1GB aan geheugen en genoeg processorkracht om optimale prestaties te krijgen. 512MB gaat ook wel, maar dan zal het allemaal wat langzamer gaan.
Nu heb ik er een profiler op losgelaten en het geeft een beetje een rare output, maar wat ik heb gezien zijn er toch wel een paar dingen die geöptimaliseerd moeten worden omdat ze veel worden aangeroepen. Ik heb slechts een halve minuut rondgeklikt, en bij sommige stukken code stond dat ze +500 keer werden aangeroepen.

..That’s all for now, off to bed..

Update

Author: Ingo Berben | August 23rd, 2007 19:21

Ok wat is er vandaag allemaal verandert:

  • Auto completion nu ook in het jury formulier
  • een try { ... } catch () {} blok rond ieder window dat opent (zo sluit niet alles af wanneer er een fout gebeurt
  • een try { ... } catch () {} blok rond iedere wrapper functie
  • Het begin van de code en het formulier om proeven samen te voegen en terug te splitsen (dit zal nog wel even duren)
  • De communicatie met de database is verandert. Het werkt nu met transacties, het is niet getest of deze volledig werken. Het is te hopen :)

Er is dus nog wel een beetje werk vandaag en ik zal waarschijnlijk niet alles afkrijgen. Vooral dat van die proeven samenvoegen en splitsen is niet gemakkelijk…

Posted in: Code, Database, Todo | No comments

Search

Author: Ingo Berben | August 22nd, 2007 15:38

Het zoeken is nu ook geïmplementeerd. Dit was wel noodzakelijk :) Ik snap niet dat ik dit bijna over het hoofd heb gezien…
Maja de resultaten bevinden zich in een extra tab. Deze tab blijft altijd staan. Ook de zoekresultaten blijven onthouden.
Ok nu, stand van zaken, wat rest er nog:

  • Updaten van de cache door een systeem van broadcast
  • Auto completion van namen
  • 10 combinaties tussen eenzelfde combinatie
  • Proeven samenvoegen en terug splitsen
  • Eventueel: proeven splitsen

Wat is nu het verschil tussen het laatste item en het voorlaatste? Bij het voorlaatste gaat het om een proef samenvoegen met een andere proef en deze terug splitsen. Bij het laatste item gaat het om eenzelfde proef te splitsen omdat er teveel combinaties in die proef zit. De inschrijvingen verlopen dan anders… (Dit is een eventuele extra).

[UPDATE]

AutoCompletion van namen is in orde. Dit zou het ingeven van combinaties normaal wat sneller moeten laten gaan :) . Het leuke is dat SWF precies zelf al case-insensitive is ^_^.

Next Page »