Dit is de 'brainstorm' pagina voor open syn3.
Update systeem
Het huidige update systeem is gebaseerd op de shop en hangt nouw samen met aangeschafte licentie opties. Voor open syn3 willen we een los update systeem.
Implementatie update systeem via SVN
In plaats van een uitgebreide update manager op basis van php, werken we met simpelle tekstfiles of branches in de svn tree.
Met het svn copy commando kan je handig een 'branch' maken van iets. Dit kunnen we gebruiken als update systeem op de volgende manier:
Stel we hebben een nieuwe asterisk versie die we willen beschikbaar maken voor versie 4.1 van open syn3.
Het pakketje bevind zich in:
svn://172.16.137.102/syn3/trunk/npl/phone/asterisk/asterisk.pkg
We maken het pakketje dan beschikbaar op de volgende manier:
svn copy svn://172.16.137.102/syn3/trunk/npl/phone/asterisk/asterisk.pkg svn://172.16.137.102/syn3/branches/4.1/P/asterisk.pkg
Nu staat in branches/4.1/P/ het asterisk pakketje.
Een server side copy kost bijna geen resources en er word in de log bijgehouden van welke svn versie deze .pkg gekopieerd is.
De syn3 server updaten zichzelf door via svn te kijken in de juiste branch (bijvoorbeeld 4.1). De pakketjes die ontbreken of outdated zijn worden opgehaald via svn (met svn cat) en geinstalleerd. Alle syn3 servers hebben pakketjes ui branches/4.1/base/. Maar alleen de servers die de 'P' optie hebben aanstaan krijgen pakketjes uit branches/4.1/P/.
Bij een grote wijziging of release gaan we over naar een nieuwe branch, bijv 4.2 of 5.0.
Eventuele problemen:
- Hoe hanteren we de package installatie volgorde, of is dit niet nodig?
Implementatie update systeem via apt-get
Is het misschien beter en handiger om een eigen 'debian repository' op te zetten? Dit heeft dan niks met debian te maken, maar we gebruiken dan wel de debian package manager tools. Opties worden dan geimplementeerd door extra repositories toe te voegen.
Het voordeel is dat het coden scheelt in de scc. We hoeven slechts een simpelle apt-get wrapper te maken die laat zien wat er geinstalleerd word en die een 'install alles' button heeft.
Verder kunnen we op deze manier dependencys aangeven en syn3 pakket beheer volwassenner maken. Als dit goed blijkt te werken porten we het terug naar de commerciele syn3.
Er is inmiddels een getdeb script aanwezig die een pakketje in de svn tree opzoeken en automatische returned als een .deb file.
Installatie CD genereer script
Het maken van een installatie CD is afhankelijk van de gekozen update mehode. Momenteel haalt de installer de juiste pakketjes uit de shop. Bij het nieuwe systeem zullen deze pakketjes dus op een andere manier opgehaald moeten worden. Veel aanpassing is hier niet voor nodig.
Er zal een nieuw pakketje genaamd 'opensyn3' komen. Hierin staat onderandere de speciale opensyn3 licentie die nodig is voor de SCC en misschien nog meer dingen die alleen voor opensyn3 gelden.
Installer scripts
De installer scripts zijn de scripts die de daadwerkelijke installatie vanaf de livecd uitvoeren.
Deze hoeft alleen aangepast worden indien we voor het apt-get systeem kiezen.
Language labels
Bepaalde scripts, waaronder syn3_scripts maakt gebruik van language labels. Deze roepen de regserver aan om de vertalingen binnen te halen. Dit zal waarschijnlijk gewoon werken, maar is ook van latere zorg.