Gudinna Wiki VisaÄndraBifogaVersionerUppdateratSökKarta

Buggar och svenskt konverteringsarbete med Gudinna Wiki

Att konvertera wikimjukvaran till svenska är inte svårt om man kan en gnutta smalltalk syntax samt vet hur smalltalks browser fungerar. Det är i princip bara ett par klasser till swikis sidgenereringskod som behöver skrivas om för att pressentera datum och tid i svenskt format samt byta ut all statisk text ocg rita om knapparna.. Men det tar tid eftersom utskrifterna an all automatisk infogad eller genererad text ligger utspritt över separata filer utanför squeak.image filsen samt i en del klasser internt.

Förslag på nya finesser till Gudinna Wiki

Pågående arbete med buggar ( medel prioritet )

Pågående arbete med skönhetsmissar ( låg prioritet )



Avklarat (enkelt)

Avklarat (lite klurigare)

samt att requests till .new går direkt till den riktiga wikin (Gudinna Wiki körs bakom en apachewebserver läs mer på systeminfosidan , i en normalt konfigurerad swiki miljö så ska .new requesten gå rätt direkt).

I squeak preferensern är tiden ändrad till att räkna 24h format istället för amerikansk tidsräkning. För att wiki mjukvaran ska kunna spara och ladda in tider från .xml filerna korrekt behöver funktionen Kernel-Magnitudes Time instance creation readFrom: skrivas om så att den kan läsa in 24h format.

Lösning av 24h tids inläsnings problemet

Förslag på ändringar

  1. Skriv om klassen så att den kan ladda in ett klockslag i europeisk tidsräkning. (helst båda)
  2. Skriv en ny klass som enkelt läser in tiden från en fil i sekunder och ändra på funktionen som sparar ner till disk så att även den sparar ner tiden i sekunder. Felet just nu är att Wiki mjukvaran sparar ner tiden som ett utskrivet klockslag.

Såhär ser klassen ut som läser in amerikanska klockslag och konverterar dom till sekunder:
readFrom: t1 
	| t2 t3 t4 t5 |
	t2 _ Integer readFrom: t1.
	t3 _ 0.
	t4 _ 0.
	(t1 peekFor: $:)
		ifTrue: [t3 _ Integer readFrom: t1.
			(t1 peekFor: $:)
				ifTrue: [t4 _ Integer readFrom: t1]].
	t1 skipSeparators.
	(t1 atEnd not
			and: [t1 peek isLetter])
		ifTrue: [t5 _ t1 next asLowercase.
			(t5 = $p
					and: [t2 < 12])
				ifTrue: [t2 _ t2 + 12].
			(t5 = $a
					and: [t2 = 12])
				ifTrue: [t2 _ 0].
			(t1 peekFor: $m)
				ifFalse: [t1 peekFor: $M]].
	^ self fromSeconds: 60 * (60 * t2 + t3) +t4

Källkod för 24h inläsnings klassen som nu används på Gudinna Wiki som även kan läsa in amerikanska klockslag!

Variabel t4 är borttagen eftersom jag har valt att bara räkna sekunder basserade på minuter och timmar. (inte helt chysst kodat men det dunger för denna wiki)
readFrom: t1 
	| t2 t3 t5 |
	t2 _ Integer readFrom: t1.
	t3 _ 0.
	(t1 peekFor: $.)
		ifTrue: [t3 _ Integer readFrom: t1].
	(t1 peekFor: $:)
		ifTrue: [t3 _ Integer readFrom: t1.
			t1 skipSeparators.
			(t1 atEnd not
					and: [t1 peek isLetter])
				ifTrue: [t5 _ t1 next asLowercase.
					(t5 = $p
							and: [t2 < 12])
						ifTrue: [t2 _ t2 + 12].
					(t5 = $a
							and: [t2 = 12])
						ifTrue: [t2 _ 0].
					(t1 peekFor: $m)
						ifFalse: [t1 peekFor: $M]]].
	^ self fromSeconds: 60 * (60 * t2 + t3)


ComSwiki 1.3 patches and updates.

Referenser till aktuell sida


Frivillig gåva till stöd för driften av Gudinna Wiki :