Eindpresentatie
Ik ben van plan de timeline net zoals 20/6 weer te gebruiken in de presentatie
Héél globale presentatie opbouw:
- 4 fases:
- maart - april: Tools
- Problemen
- april - mei: Algemene functionaliteit
- Problemen
- Verhaal Chris Platonos / Updater
- mei - 23 juni: Kenmerkende functionaliteit
- Problemen
- Verhaal Durk Adviesgedeelte
- 23 juni - 4 juli: Ready 4 launch
- Problemen
- maart - april: Tools
- Samenvatting
- Vragen?
Fase 1: maart - april: Tools
Keuzes moesten gemaakt worden: Voorkeurstaal was JAVA. Ervaring was hiervoor al aanwezig. Eclipse als ontwikkelomgeving gekozen. Subversion als versioning systeem aangesteld. Aan het begin gebruik gemaakt van de mogelijkheden van de Uni. Duidelijk was dat we onze eigen server nodig hadden. Op zoek gegaan naar VPS en daar alles op geïnstalleerd. Zowel tools als website / blog / wiki. Buildtool Maven was een probleem wat een stuk langer heeft geduurd. Daar zo meer over. WiredReach al bestaand iets wat qua netwerk- en databasevlak op ons beoogde programma leek. Platonos plug-in engine na een tijd rommelen gekozen om. Bleek de elegantste oplossing.
Problemen
- WiredReach: bood goede dingen als P2P functionaliteit & RDF DB, echter zaten we qua keuzes dan gelijk vast aan Eclipse (voor het bouwen van de GUI) en JXTA (als dragend protocol). Omdat we dit niet wilden zijn we op zoek gegaan naar alternatieven. Na ong. 1 á 2 weken kwam WR zonder Eclipse. JXTA bleek na onderzoek ook beste protocol. Alle problemen waren in 1 x verdwenen. Hierbij hebben we ong. 2 weken verloren.
- VPS staat in Amerika. Het installeren werkte niet altijd even goed en server heeft al aantal keer tekort aan geheugen gehad tijdens acties. VPS is nodig voor site, maar met name voor Subversion depot.
Fase 2: april - mei: Algemene Functionaliteit
Problemen
Platonos
Wat willen we?
- Klant
- Klik op Cheetah > Check for updates
- Update Now!
- Geen centrale server
- Onze vertaling
- 3d-party libraries
- Hot-swapping van .jars
- Eenvoudig voor de gebruiker
- Support voor versienummers
- Alle functionaliteit als plugin
- Mirrors
Hoe hebben we het opgelost?
- Launcher-project
- 1 class: Launcher.java
- 80 regels code
- Zo klein mogelijk
- Herstarten / Afsluiten
- Platonos
- plugin.xml
<plugin> <uid>aardrock.cheetah</uid> <name>Cheetah</name> <lifecycleclass>aardrock.cheetah.lifecycle.CheetahPluginLifecycle</lifecycleclass> <dependencies> <dependency uid="com.hp.hpl.jena" /> <dependency uid="aardrock.cheetah.wiredreach.rdf" /> <dependency uid="edu.stanford.ejalbert" /> <dependency uid="org.apache.xerces" /> </dependencies> <version>0.0.19</version> </plugin>
Problemen?
- Lange laadtijden van plugins
- Dependencies
- Automatisch bouwen van juiste directory-structuur