Beta 1 klar

Dagens build: 1.0.2855.10124

Beta 1 er nå endelig klar får testing.

Det som er lagt til i dagens build er:

  • Aboutboks
  • Mannskapslister tilknyttet hver spillmal
  • Lagt til egen menylinje i hovedvinduet for aboutboks og kaosmeldinger
  • Mindre endringer i datamodell i forbindelse med testing
  • Rettet diverse småfeil

Datamodell i endring

Fortsatte arbeidet på datamodellen i dag. Har begynt å skrive om en del kode til oledb. Denne datatilkoblingen benyttes pga kompatibilitet med CrystalReports, som jeg sålangt bare har fått til å virke med den type datakobling.

Det er klassen DBTools som har fått gjennomgå sålangt.

Det går fremover

Følgende er gjort i dagens build, 2850 :

  •  Vindu for kaosmeldinger er laget og testet
  • Korrigert format i database slik at det er plass til lengre meldinger, endret datatype til text på en del felter. Dette er under testing, oppdatert datamodell kommer.
  • Lagt inn sjekk på at kaosmeldinger er lukke tnår man avslutter programmet, samt advarsel om at man må lukke alle spillmaler før man avlslutter for å sikre lagring.
  • Lagt inn knapp i menylinje for kaosmeldinger, bilde av en gretten ilder.

Beta nærmer seg

Spillarkivet er nå egentlig i Beta-kavlitet. En del småbugs med lagring av data er rettet, og det er lagt inn versjonskontroll av program vs database, slik at programmet ikke starter såfremt databaseversjonen ikke stemmer overens med programmet.

Det er også lagt inn sjekk av datatilkobling, og mulighet for å endre denne dersom den ikke lar seg koble opp.

Log4Net er implementert, 2 loggfiler genereres. Log.txt, som nesten er lesbar, og debug.log, som inneholder full traceinformasjon, linjenr osv.

Dagens buildnummer er 2847.

Alpha version/Design study

En alfaversjon av PLO Spillarkiv er nå utviklet. Se vedlagte screenshot. Et reelt testspill er lagt inn, derfor er bildet sensurert. Av samme grunn vil ikke programmet bli distribuert med datasett.
Det er sannsynligvis masse morsomme bugs og andre småkryp i dette programmet, og det er overhode ikke tatt hensyn til sikkerhet. Ilderne har ikke vært involvert så langt for å si det sånn. Programmet er laget for å få et innblikk i hvordan gui/datamodell er tenkt. Avventer tilbakemeldinger på dette, samt om hvorvidt det i det hele tatt er noen vits å utvikle dette, om det finnes noe ønske/behov.
Så langt har det blitt kjørt som opplæringsprosjekt i forbindelse med PLO Planspill, og det vil sannsynligvis komme en alpha 2 som inneholder utskriftsmulighet, da jeg trenger å finne ut av hvordan man inkluderer rapporter i slike program. Dersom det virker å være et behov for programmet kommer det til å bli utviklet videre.

Planlagte features så langt er:

  • Kaosmeldingsregister, tenkt brukt fra PLO PlanspillCrystal Reports utskrift av planspill
  • Søkefunksjon for å søke opp planspill
  • Passordbeskyttelse/login

Kjente bugs:
Ingen så langt, men det kommer nok…

SQL script for database

drop table Actions;
drop table Logs;
drop table Teams;
Create table Teams(
	ID int not null,
	TName nvarchar(12) not null,
	TLeader nvarchar(40),
	TStatus nvarchar(100),
	TMission nvarchar(400),
	Constraint TeamPK Primary Key (ID)
);

create table Logs(
	ID int identity(1,1) not null,
	TeamID int,
	TimeLogged int,
	Msg nvarchar(1000),
	Constraint LogsPK Primary Key (ID),
	Constraint FKTeam Foreign Key (TeamID) references Teams (ID) On delete set null
);

create table Actions(
	ID int identity(1,1) not null,
	TeamID int,
	ActionTime int,
	ActionMsg nvarchar(100),
	Constraint ActionPK Primary Key (ID),
	Constraint FKAction Foreign Key (TeamID) references Teams (ID) On delete set null
);

SQL script for database

drop table Inputs; 
drop table Exercises; 
drop table Timing; 
drop table PolecatEvents; 

create table PolecatEvents( 
	ID int identity(1,1) not null, 
	MsgText nvarchar(400) not null, 
	Probability int not null, 
	Constraint PCEPK Primary Key (ID) 
); 

Create table Exercises( 
	ID int identity(1,1) not null, 
	EName nvarchar(30) not null, 
	InitialReport nvarchar(800), 
	WhosMissing nvarchar(800), 
	KnownStory nvarchar(800), 
	MapCoords nvarchar(800), 
	ExternalR nvarchar(800), 
	WhatReallyHappened nvarchar(800), 
	Crew int, 
	EStartTime nvarchar(30), 
	Constraint ExercisePK Primary Key (ID) 
); 
create table Timing( 
	ID int identity(1,1) not null, 
	TName nvarchar(100), 
	Constraint ATimingPK Primary Key (ID) 
); 

create table Inputs( 
	ID int identity(1,1) not null, 
	ExerciseID int, 
	TimingID int, 
	IMsg nvarchar(1000), 
	Constraint InputsPK Primary Key (ID), 
	Constraint FKExercise Foreign Key (ExerciseID) 
references Exercises (ID) On delete set null, 
	Constraint FKTiming Foreign Key (TimingID) 
references Timing (ID) On delete set null 
); 

insert into Timing (TName) Values( 'Skal gis'); 
insert into Timing (TName) Values( 'På forespørsel'); 
insert into Timing (TName) Values( 'På jordet');