Turbo <ivan.brozovic(a)ka.htnet.hr> writes:
Bok Turbo!
Mislim da bi format trebao biti cisti tekst,
evenutualno da koristimo
poneki dogovoreni tag za referenciranje na odredjena druga pitanja te
mozda za nekakvo jednostavno formatiranje teksta.
Ha čuj, tag po tag, i ispadne HTML ili SGML. :-) Naime da podsjetim
zašto se neće pisati u realy plain textu; odgovori moraju sadržavati
fixni font za primjere koda, outputa itd ... moraju postojati linkovi,
jer bi moglo biti dosta referenci na vanjske stranice, na primjer na
kraju odgovora: "za više detalja o sambi, valja posjetiti
http://www.samba.org"quot;. Zatim bi trebalo nešto tu i tamo boldati,
recimo kada se govori o fdisku, mkfs(8), hdparmu itd ... :-)
Output u plain text može zadržati bold, underline i italic u *vec*
_poznatim_ /oblicima/.
E sad glede odrzavanja svega.
Ja sam razmisljao o tome da se napravi jednostavno web sucelje preko
kojeg bi se unosile kategorije te pitanja.
Oke, budući da kategorije i subsekcije već postoje u kosturu, možemo
ga onda odmah i uglaviti u to, tj. možeš ga koristiti za testiranje čim
bude gotov, i onda tako ostaviti i objaviti na web.
Jedino treba imati na umu da će postojati još jedan dokument, tj.
lista pitanja koja će biti pointeri na sekcije sa pitanje/odgovor
parom. O tome sam govorio u 12 mjesecu. Da podsjetim: to radimo zato,
što na taj način dobivamo mogućnost da jedno ili više pitanja
drugačije postavljenih može pokazivati na istu subsekciju sa
odgovarajućim Q/A. Ta lista bi trebala biti fakat banalna: tekst
pitanja, i Q/A par na koji bi se trebalo pitanje odnositi, kategorija,
subkategorija (opcionalno) -> SUBMIT. Onda se to može iz baze
formatirati kao početna HTML stranica FAQ-a. Za primjer vidi ovo:
http://www.sendmail.org/faq/
Znači, takva stranica, a svaki link vodi do sekcije u nekom većem
fileu-kategoriji i pozicionira ga točno na pravo mjesto.
Takvi precizni URL-ovi su pogodni za slanje njubijima kao direktan
link - jedna linija odgovora sa jednim URL-om.
Za dodavanje nove kategorije bi se odabrala
"nadkategorija" te upisalo
ime nove kategorije.
Može, ali mislim da se to neće događati u skorije vrijeme, osim ako u
kosturu nismo napravili neki veliki tematski propust koji nitko još
nije vidio.
Za dodavanje pitanja bi se odabrala kategorija,
unijelo pitanje te
evenutalno jos neki podatak.
OK.
Svi podaci bi se drzali u bazi te bi tako svako
pitanje bio jedan
zapis.
OK. No razmisli da li bi Q/A par bio jedan zapis, a da li bi ona
pitanja s front liste imala u jednoj tablici kolumnu koja sadrži
reference na Q/A par u glavnoj tablici, pa da ti bude lakše
generirati kod multi selekta, "where qid = ..." ...
Baza je po meni ok jer je lako pretraziva, svako
pitanje bi imalo svoj
ID te bi se preko njega jednostavno (interno) referenciralo, svako
editiranje nekog pitanja moze zalockati taj zapis tako da se sprijeci
ili barem upozori visestruko editiranje istog pitanja, iz baze se lako
Može li se napraviti da od svih submitanih materijala, glavni team
koji to kontrolira i uvršćuje u kostur ima algoritam koji bih u ovom
trenutku nazvao "tko pisne drek stisne". Znači onaj od nas tko prvi
submita neki Q/A par, taj par je od tada dodjeljen njemu i kao takav
lockiran u bazi za tog "developera". Ionako ćemo se trebati na to
lognuti preko htpasswd(8)-a, i https-a da netko ne bi prčkao po tome,
pa ćeš moći u kodu uzeti server varijablu USER_NAME ili kako se ono
već zove ta http varijabla. Znači kolumna sa default NULL vrijednosti,
koju može svatko od nas 3-4 mjenjati, ali samo jednom - onaj tko ju
prvi promjeni, od tog trena alocira taj Q/A par pod svoje, a negdje
čak i može vidjeti što sve "zadužuje", i po potrebi odlockati (vratiti
na NULL) ako je recimo slučajno alocirao krivi Q/A par.
generira cijeli dokument u zeljenom formatu a sucelje
u PHP-u ili necem
slicnom ne bi trebalo biti problem za napisat.
U čemu god te volja, perl, C, php, java.lang.NullPointerException,
python itd ... u biti sve što admin servera pristane da apache može
vrtiti. Bazu također biraj po nahođenju.
Ja se dobrovoljno javljam da napisem sucelje ako se
odlucite za ovo
rijesenje.
------------------------------------------------------------------------
Svašta sam gore nakenjao, ali evo ti sada prijedlog funkcionalne
specifikacije, pa ti (i ostali) komentirajte:
1. Javne stranice gdje se može vidjeti kostur, a kod svakog Q/A para
nekoliko linkova u obliku decimalnih brojkica na predložene
odgovore koje su ljudi slali (ako postoje) - tako da ljudi mogu
sami vidjeti da li je netko već napisao to što oni namjeravaju, pa
da ne moraju izmišljati kotač. No login/pass, no https. Ovo bih čak
predložio da se sprema na filesystem prije odobravanja, no ako ti
je lakše u bazu, trpaj.
2. Javna stranica također: forma u koju se može unijeti pitanje. Znači
suho i golo početničko pitanje. No login/pass, no https. - ovdje se
uzima materijal za front page sa pitanjima/linkovima, uz pitanje se
opcionalno može izabrati i kategorija u koju spada to pitanje, sa
padajućeg popisa - nije krucijalno ovo zadnje.
U 1. i 2. se nalaze kratke statičke upute za sumbitere i nekoliko
lijepih riječi dobrodošlice. Može se također velikim prijateljskim
slovima napisati "DON'T PANIC!". :-)
Front strana za to submitanje (browse/PUT, submit ...) bi imala isto
nešto teksta objašnjenja, srdačnih zahvala i linkove do javnih modula
1. i 2.
3. Developerske stranice, gdje se submitaju Q/A parovi - ovdje se
provjerava lockiranje i vlasništvo nad Q/A parovima i postoji link
gdje developer može:
1) Odlockati pitanje, i svejedno mu je što će dalje biti sa pitanjem i
tko će ga uzeti (opet je NULL recimo).
2) Pogledati listu Q/A parova i njihovih qid brojeva koje je do sada
alocirao i koje su ostali alocirali, te koji su slobodni i za
šminku još malo dodatne jeftine statistike uz to iz baze
(datum, datum promjene, size itd ...) - ako ti se da.
3) Mogućnost insert-anja novog Q/A para, ali ne i kategorije. To je
vrlo rijetko i može se i ručno.
4) Mogućnost brisanja glupih i zajebantskih odgovora koje će
ponuditi netko neodgovoran. (DELETE FROM ponudjeno where pub_qid = ...)
5) I naravno, submitati kompletne Q/A parove u dogovorenom obliku u
bazu - upload.
4. Lista pitanja koje su ljudi submitali, i mogućnost da ih se kroz
padajući menu pridruži nekom Q/A paru u nekoj sekciji i brišu
gluposti i viškovi. (recimo formica u koju se upiše ID pitanja i
filtrirajući menu sa sekcijama kostura, te padajući menu sa Q/A
parovima koji je smanjen filtriranjem po sekcijama iz prvog
padajućeg menua i refreshom stranice u js-u, odabere se pravilan
Q/A i submita stvar u bazu).
Ja mislim da sam se ograničio na osnovne funkcije i da nisam
pretjerao. Cijele admin stranice bi stale u 2-3 stranice, a slično i
javni web. Raspored predloženih i prihvaćenih Q/A parova i njihova
organizacija u bazi je stvar onoga tko će to slagati.
Moduli 3 i 4 bi trebali biti pod htpasswd-om i https-om. Ja ću
kontaktirati JRodina koji je r00t na
www.linux.hr ako treba.
------------------------------------------------------------------------
Samo sučelje, gdje će se čitati gotov formatirani FAQ nisam opisao i
nije bitno da bude odmah gotovo, budući da se to može smišljati
usporedo dok filamo materijal u kostur preko modula 3.
Eh da, pogledaj da li postoji već nešto slično, pa reusaj da ne moraš
pisati. Meni sada ne pada ništa napamet, ali pogledaj onaj
faq-o-matic. On je ružan i sux big time kako veli Dobrica i još na
skupštini smo definitivno odustali od njega, ali vidi svejedno ima li
zdravog koda za čupanje. :-)
--
The Network is the Filesystem.