[rosedu-general] Format întrebare uq-translate
Razvan Deaconescu
razvan at anaconda.cs.pub.ro
Wed Aug 29 16:55:01 EEST 2007
Salut!
Observ că sunt destul de multe discuţii/nelămuriri/sugestii legate de
formatul întrebărilor pentru partea de uq-translate.
Drept urmare, deschid acest thread în speranţa că, la sfârşitul a
câtorva zile de trudă, să stabilim once and for all formatul întrebărilor.
Formatul de până acum (aparţinând lui Vlad) este următorul:
---
@question (qotd|challenge)
@chapter <număr>
[@answers <număr>]
Text întrebare
+răspuns corect
!explicaţie
-răspuns incorect
!explicaţie
(repetat de atâtea ori cât trebuie)
alte întrebări
---
Se pune, în primul rând problema spaţiilor şi a liniilor libere. Pe
moment, cred că este indicat să forţăm ca tag-urile ce încep cu @,
răspunsurile şi comentariile să pornească de la începutul liniei
Astfel, va fi corect:
@chapter 3
@answers 5
dar nu va fi corect
@chapter 3
@answers 5
Caracterul @ va fi urmat imediat de answers|chapter|question etc.
Argumetul tag-ului (numărul) poate fi separat prin oricâte spaţii.
Expresia regulată asociată ar fi
^@question[ \t]+(challenge|qotd)[ \t]*\n
^@chapter[ \t]+[0-9]+[ \t]*\n
Pot exista _oricâte_ linii libere între tag-uri. O linie liberă este
definită de expresia regulată:
^[ \t]*\n
La fel pot exista linii libere până la enunţul întrebării.
Întrebarea se poate afla pe _oricâte_ rânduri. Asta din cauză că e
posibil să avem nevoie de ceva de genul:
---
Ce efect are rularea comenzi:
<pre>
$ ps -H
</pre>
---
sau:
---
Fie următoarea rulare a unei comenzi:
<pre>
$ /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0A:E4:A2:9C:E5
inet addr:10.38.232.251 Bcast:10.38.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:41893 errors:0 dropped:0 overruns:0 frame:0
TX packets:39248 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18388660 (17.5 MiB) TX bytes:4073616 (3.8 MiB)
Interrupt:18 Base address:0xc800
</pre>
<br />
Ce puteţi spune despre comanda respectivă?
---
O întrebare se va încheia în momentul în care se întâlneşte un răspuns
(adică un semn - sau + la început de rând).
Răspunsurile vor porni strict de la începutul liniei:
^(+|-)[ \t]*......
Un răspuns se poate găsi, de asemenea, pe mai multe linii. Un răspuns se
va încheia în momentul găsirii unui alt răspuns, a unui tag (ultimul
răspuns de întrebare) sau a sfârşitului fişierului (ultimul răspuns al
ultimei întrebări).
Cred că tag-ul answers e mai mult o bătaie de cap decât o formă de
ajutor. Putem forţa, dacă se doreşte, prezenţa a doar 4 răspunsuri şi
unul corect fie intern (la qotd) fie prin transmiterea unui argument în
momentul translatării.
Alte observaţii:
* nu văd de ce ar conta ordinea tag-urilor; e vreo problemă dacă apar în
altă ordine?
* avem două abordări posibile pentru cazul în care nu se respectă
standardul de format:
- "reglăm" întrebarea (ignorăm liniile suplimentare sau care apar de
două ori, etc.) şi o comitem în baza de date;
- în momentul în care întâlnim o eroare/inconsistenţă transmitem un
warning către utilizator cu întrebarea respectivă, renunţăm la ea şi
căutăm următoarea întrebare (următorul set de tag-uri)
Eu sunt pro pentru a doua variantă întrucât o să ne scutească de multe
probleme. Dacă nu e o întrebare bună, salt peste şi warning la
utilizator. În plus, dacă va fi vreodată nevoie să adăugăm facilităţi
suplimentare, vom putea accepta noile întrebări uşor prin "relaxarea"
constrângerilor.
Propunerea mea este, aşadar, să forţăm constrângeri cât mai puternice.
NU se acceptă nici o întrebare care nu este conformă cu standardul (un
fel de XHTML versus HTML). Se trece la următoarea întrebare şi cel care
a greşit-o o va putea reface. Mai mult, dacă avem bube în programul de
translatare, mai degrabă nu băgăm o întrebare validă în baza de date,
decât să băgăm o întrebare invalidă.
Alte observaţii ar ţine de limitele impuse pentru diverşii parametri.
Sugerez existenţa unui fişier de configurare în care să impunem
diversele limite pentru asigurarea corectitudinii fişierului:
numărul maxim de întrebări
numărul minim/maxim de răspunsuri
numărul minim/maxim de răspunsuri corecte
numărul minim/maxim al unui capitol
tipurile posibile de întrebări (tag-ul question).
Cam atât până aici. Revin dacă mai îmi trece prin cap ceva. Aştept
observaţii.
Răzvan
More information about the rosedu-general
mailing list