handdator

Visa fullständig version : Arkitektur



BrJohan
2011-05-13, 16:52
Skulle man i någon inte alltför avlägsen framtida version av Disgen kunna tänka sig en arkitektur som tillåter/möjliggör användandet av plug-ins och eller 'scripting' så att man själv - vid behov - kan skräddarsy programmets förmågor och egenskaper?

Disgen - i sin hittillsvarande form - fungerar utmärkt som släkt-'registrerings'-verktyg och - mestadels - som en god GEDCOM-exportör.

För att kunna ta fram något mera kvalificerade analyser/rapporter ur det registrerade materialet har jag därför behövt göra egen GEDCOM-parsing och analys-backend. Min lust att behöva hålla på med den typen av programvaruarbete har börjat - och fortsätter - att avta.

Därav mitt intresse för en något mindre arbetskrävande metodik.

Tilläggsfråga:

Kan nästa 'major-release' av Disgen kunna tänkas bli mindre plattformsspecifik?

DanielBerglund
2011-05-17, 11:28
Håller helt med om att någon slags pluginarkitektur eller dokumenterat API behövs, men första steget blir att byta databasmotor. Pluginer kan komma först därefter.

Vad gäller plattformsberoendet så finns det gott hopp om att nästa version av delphi (som Disgen är skrivet i) har stöd även för OS X och Linuxprogram och därmed finns det hopp även för Disgen även om det blir ett avsevärt arbete att ändra källkoden så att det fungerar också.

BrJohan
2011-05-17, 13:48
Intressant och glädjande att samsynen om behoven finns.

Vågar man hoppas att databasen kan installeras som server? Eller - i annat fall - att data kan nås via ODBC eller motsvarande?

DanielBerglund
2011-05-18, 22:49
Det blir med största sannolikhet sqlite. En databasserver är utesluten eftersom Disgen ska vara lätt att installera på de mest konstiga datorer, alltså är det ett krav att databasmotorn följer med disgen-installationen och inte är en självständig produkt.

Det finns visst odbc-drivare till sqlite ser jag via google, så läsa data den vägen ska nog inte vara några problem.

BrJohan
2011-05-18, 23:32
Det är naturligtvis riktigt att det måste vara lätt att installera Disgen, så därför förstår jag att en serverinstallerad databas, trots en hel del andra fördelar, inte kommer att väljas. SQLite hade jag en flyktig kontakt med för några år sedan, och jag föreställer mig att SQLite blir ett bra val bl.a. därför att det - som du skriver - tycks finnas ODBC-möjligheter.

Dock - med 'cloud-computing' och andra trender i server-riktningen i beaktande - skulle kanske en installation där en server defaultmässigt installeras på lokal maskin och med kommunikation via localhost, kunna bli ungefär lika lättinstallerad, men också ge frihet åt dem som vill och kan att konfigurera installationen efter egna önskemål, samtidigt som en ökad grad av 'framtidssäkerhet' skulle tillkomma.

Men, som sagt, med kunskapen om SQLite och bättre portabilitet i Disgens rörelseriktning, så nöjer jag mig.

Finns det någon tidplan eller kvalificerad gissning om när en sådan ny version kan tänkas bli verklighet?

DanielBerglund
2011-05-18, 23:55
...en installation där en server defaultmässigt installeras på lokal maskin och med kommunikation via localhost, kunna bli ungefär lika lättinstallerad...
Ja, för dig och mig, men sannolikt inte på en hel del andra datorer. Däremot är det så att det är ganska lätt att tillåta att den avancerade användaren kan "peka om" Disgen till att använda en annan databas. Däremed inte sagt att vi prioriterar det i första varvet...

Finns det någon tidplan eller kvalificerad gissning om när en sådan ny version kan tänkas bli verklighet?
Vi har lite brist på utveckare! Men en vild gissning är betaversioner om något år kanske. Dvs just nu finns ett utkast till datamodell för databasen. När väl 8.2b är ute ut huset kan vi fokusera lite mer på att göra det utkastet bättre, för att sedan harva igenom all källkod och se till att den nya datamodellen används. Vi vill dessutom uppgradera Delphi till senaste version.

Så den som har sysslat mycket med databaser eller är driven delphiprogrammerare får gärna hjälpa till. Men det är sannerligen inget nybörjarprojekt...

Christer
2011-05-19, 09:51
När det gäller tidplanen så ska man beakta att vi ska komplettera med lite ny funktionalitet oxå, inte bara göra en teknisk förändring som inte syns för de flesta men ändå nödvändig för nya funktioner.

DanielBerglund
2011-05-19, 10:45
Man ska också beakta pi-regeln: allting tar tre gånger så lång tid, plus fjorton dagar.

kneten
2011-10-27, 15:22
Ja, för dig och mig, men sannolikt inte på en hel del andra datorer. Däremot är det så att det är ganska lätt att tillåta att den avancerade användaren kan "peka om" Disgen till att använda en annan databas. Däremed inte sagt att vi prioriterar det i första varvet...

Vi har lite brist på utveckare! Men en vild gissning är betaversioner om något år kanske. Dvs just nu finns ett utkast till datamodell för databasen. När väl 8.2b är ute ut huset kan vi fokusera lite mer på att göra det utkastet bättre, för att sedan harva igenom all källkod och se till att den nya datamodellen används. Vi vill dessutom uppgradera Delphi till senaste version.

Så den som har sysslat mycket med databaser eller är driven delphiprogrammerare får gärna hjälpa till. Men det är sannerligen inget nybörjarprojekt...

Hur kommer man igång med att bidra till utvecklingen?

DanielBerglund
2011-10-28, 01:46
Hur kommer man igång med att bidra till utvecklingen?

Vad har du för bakgrund vad gäller programutveckling och särskilt Delphi?

kneten
2011-10-28, 11:23
Vad har du för bakgrund vad gäller programutveckling och särskilt Delphi?

Jag är systembyggare och IT-arkitekt.
Har ej jobbat med Delphi/TurboPascal men har en väldigt lång erfarenhet av systembyggnad i de mest skiftande miljöer med alla möjliga verktyg.
Att gå in i detaljer i detta forum är kanske inte så bra då det dels omfattar företag utanför släktforskningen och dels skulle kunna uppfattas som reklam för mig själv som egen företagare.

Om ni trots brist på Delphi-erfarenhet är intresserade så mejla mig på min privata adress.

DanielBerglund
2011-10-28, 23:33
Ok, jag skickar ett email.

BrJohan
2013-03-20, 00:52
Något år har gått - och snart ytterligare ett. Har någon betaversion byggts? Finns någon releaseplan? Det vore också intressant att få reda på vilken utvecklingsmodell som används.

Som DIS-medlem kan man rimligen antas vara intresserad av såväl släktforskning som av föreningens datorhjälpmedel och de sätt på vilka dessa tas fram.

DanielBerglund
2013-03-20, 22:29
Releaseplan är "inte i år", det är ungefär så mycket man kan säga i dagsläget. Utvecklingen går lite långsamt med enbart ett fåtal fritidsprogrammerare, så vi har som kanske känt anställt en utvecklare på heltid och därmed har utvecklingen i alla fall styrfart. Men det är mycket att göra!

"Beta" betyder ju att all funktionalitet är på plats, och någon sådan finns inte än, nej. När du säger utvecklingsmodell, vad tänker du på då?

BrJohan
2013-03-20, 23:14
I det sammanhanget tänker jag på ex.vis Vattenfall, RUP och XP. Det handlar alltså om vilka principer som styr arbetsgången vad avser dokument, kodning, testning, verifiering mot formulerade krav och validering mot faktiska krav.

Jag avstod - och avstår fortfarande - däremot från att fråga angående utvecklingsprocess.

Å ena sidan inses lätt att Disgen-situationen till vissa delar inte kan jämföras med den som gäller för kommersiella och kritiska programvarusystem. Å andra sidan är det ju lika lätt att inse att utveckling/modifikation av Disgen - för att lyckas - måste bedrivas rationellt och effektivt, vilket i sin tur förutsätter en väl genomtänkt, preciserad och planerad arbetsgång (som kan baseras på någon 'lämplig' modell).

DanielBerglund
2013-03-21, 01:00
Det går grovt sett till så att produktrådet tar ställning till stora saker som exempelvis ny funktionalitet, och hur den ska utföras. Hur ska t ex "flera föräldrapar till en individ" eller "samkönade äktenskap" implementeras, ur användarens synvinkel, och hur påverkar det Disgen.

Detta resulterar i ett antal kravspecar med större eller mindre detaljgrad. Organisationen är nu inte större än vad den är, så sedan blir det ett samspel mellan utveckling och produktråd. Vissa krav visar sig kanske inte fungera i verkligheten. Andra krav är kanske orealistiska att implementera. Osv.

Mindre funktionalitet som inte finns på produktrådets radar, och tekniska implementationsdetaljer, görs direkt av utvecklarna.

Med andra ord jobbar vi som man gör i en rätt liten firma och det tror jag är precis vad vi ska fortsätta göra. Organisatoriskt och resursmässigt är vi ju just en liten firma. Det ställer förstås stora krav på utvecklarnas kompetens och omdöme men där har vi inga problem idag. Däremot vore det trevligt med ett par drivna delphiutvecklare till..