TODO.txt updated
[brisk.git] / TODO.txt
1 ======== 
2   TODO
3 ========
4
5  BRISK4 (mammuth)
6  ======
7
8  - STEP MANAGEMENT VERIFY
9  Slim Paragraph
10  DONE - move the garbage timeout on file
11  DONE - in index_rd load all data only when required
12  - briskin5 alignment
13
14  DB: - initial usage
15      DONE - configurabilità file o db
16      DONE - aggiornare le funz di gestione db in modo che prevedano anche il flag DISABLE
17      DONE - travasatore file to pg
18        DONE - travaso punteggi
19        DONE - memorizzazione nuovi i punteggi nel db
20        DONE - gestione classifiche in SQL
21          DONE - produrle
22          DONE - mostrarle
23
24      STEP 1.1
25        DONE - points archiver
26
27      STEP 1.2
28        DONE - partial usability if database go down.
29
30      STEP 1.5
31      - sistema di inserimento nuovi utenti (riversatore da form di inserimento)
32
33      STEP 2
34      - aggiornare le funz di gestione db in modo che prevedano anche il flag SUSPEND
35      - modifica password   
36      - ripristino password 
37
38      STEP 3
39      - comunicazioni di aggiornamento (stato salvato sul server) 
40
41  DONE - var $G_base aggiunta per gestire include in include da path differenti
42
43  BRISK3 (trusty)
44  ======
45   DONE - donameter
46     DONE - G_donors
47     DONE (WOW!) - js object with infos
48     DONE - main logic at login (cookie check in index_rd.php; show_message and createCookie via snippets with block
49            to prevent fast reload)
50     DONE - cookie per non assillare e visualizz.
51     DONE - graphical donameter
52     WIP content (in conf.)
53
54   DONE - numero di tavoli auth-only nel .brisk-install
55   - isolation
56     TEST - ricalcolo delle persone in piedi quando si cambia modalità
57     DONE - se si e' in isolation non si può cambiare nick perdendo l' auth
58     DONE - non leggere le chat di quelli non autenticati (in isolation)
59     DONE - regole per passare alla modalita' (in piedi o ai tavoli autenticati) 
60     DONE - treni non auth da nascondere 
61     DONE - verso gli altri ??: uguale a prima
62
63   finire multilingua (briskin5/index_wr.php e altri se ce ne sono)
64   coniglio
65   only auth strictly
66   placing limits to config file
67
68 Dunque, 
69
70 - come vengono aggiornate le classifiche: ogni giorno alle 23:58
71
72 - cosa cambia tra le tre coppie di classifiche: 
73   ci sono le classifiche dell' ultima settimana, quelle dell' ultimo mese,  e quelle dell' ultimo trimestre,
74   per ognuno di questi lassi di tempo poi c'è la classifica di chi ha giocato più di TOT partite o meno di TOT partite, con TOT che cambia a seconda del lasso di tempo.
75
76 - come vengono calcolate le classifiche: per ogni utente vengono presi tutti i punti fatti ai tavoli con lucchetto nel lasso di tempo preso in considerazione (ultima settimana, ultimo mese o ultimo trimestre), sommati e divisi per il numero di partite fatte in quello stesso lasso di tempo per normalizzare i valori; poi siccome la gente quando vede 0.18734 sbarella ho deciso di moltiplicare il tutto per 100.
77
78 Un esempio per chiarire:
79
80   l'utente 'pippo' che è nuovo gioca 4 partite nell'ultima settimana con i seguenti punteggi:
81     -2, 1, 2, 1
82   lo score viene { [ (-2) + (1) + (2) + (1) ] / 4 }  * 100 = 50.0
83   
84   a parità di score tra utenti va più in alto chi ha giocato più partite.
85
86 Se dopo quelle 4 partite 'pippo' non ne giocherà più, passata una settimana dall'ultima giocata 
87 sparirà dalla classifica settimanale e rimarrà in quelle mensili e trimestrali.
88
89
90   
91
92
93
94
95  BUG
96  ---
97  
98   DONE - paste da demauroparavia
99   DONE - recupero partita per re-login con password
100   DONE - problema "|" nei nomi (manca enhance degli script lato server)
101   - problema col treno se mouse sopra mentre stringe (verif)
102   
103  MINOR
104  -----
105
106  NORMAL
107  ------
108
109   - win test
110   WIP - /listen 
111     DONE - skin della textarea
112     DONE - set cookie 
113     DONE - init client (read from cookie) - ALWAYS BY SERVER
114     DONE - init server
115     DONE - after cookie check auth-only when no-auth case
116     DONE - aggiungi info accanto a "Chat"
117   DONE - /mesgtoadm
118   DONE - img dei comandi
119
120   DONE - form per garantire utenti (accoda in un file nel formato corretto)
121   DONE -   process request
122   DONE -   show form
123   DONE -   close butt
124   DONE -   submit form
125   DONE -   process form js side 
126   DONE -   process form
127   DONE -   documentazione in help
128
129   DONE - user status
130
131   DONE - aggiornare help
132   DONE -   overflow management
133   DONE -   for status
134   -   for password
135
136   DONE - reload home
137   - notify for long pages
138
139   - buddy list
140   - silenziastolti vari (fino al buddy import)
141   - restrict challenge per IP
142   - restricted charset for login
143   - watchdog
144
145   - db (minimal)
146     - db admin page
147     - user db admin
148     - use db 
149     - admin db
150
151     - studiare un anti-dos
152   - login modify
153  DONE  - db (fake)
154  DONE  - display auth
155     - manage preferences 
156
157  minor
158  -----
159    - auth after login
160
161 ----- done ------
162
163  BUG
164  ---
165   DONE   righe troncate
166   DONE - questione "a monte" che:
167   DONE   - lascia fuori il bottone
168   DONE   - scrive &agrave e compagnia
169   DONE - refresh act_table when unauthorized
170   DONE - problema ghost autenticato (ne prendi il posto ovunque sia)
171
172  MINOR
173  -----
174   DONE - refactoring of the owner name (auth attr for owner name)
175   DONE   - room
176   DONE     - at chat input line 
177   DONE     - in the chat output line
178   DONE     - deauth management
179   DONE - table
180   DONE   - at chat input line
181   DONE   - in the chat output line
182   DONE   - for user area of other users
183   DONE   - deauth management
184   DONE - alart to one user
185
186
187  NORMAL
188  ------
189   DONE - strong ban: "expire time|IP|session|(nick if authenticated)"
190   DONE   - login: se auth      -  verifica solo gli expire per quel nick
191   DONE   -        se non auth  -  verifica gli expire per IP e sessione
192   DONE   - riscrivere messaggi
193
194   DONE - login 
195   DONE   - se pass:
196   DONE     - richiede per l' utente un token (tutta la parte backend va un minimo studiata)
197   DONE     - lo legge, ci hasha la password
198   DONE     - invia la pass al server hashata
199   DONE   - se non pass:
200   DONE     - check del login e return corretto
201   DONE     - oggetto in shm single table con ( "ip", "login", timestamp ) e suo management
202   DONE     - rename ghost if logged
203   DONE     - onunload_cb e onbeforeunload_cb !!! 
204   DONE   - da change attrs a change class (input field)
205   DONE     - colore del bg per arrivare ad essere omogeneo
206   DONE     - cambiare path e file di config
207   DONE   - login with or without pass
208   DONE   - registered nick notice (METTERE IL MSG NELLA PAG DI LOGIN)
209   DONE     - segnalare tavoli solo per auth
210   DONE     - rename restriction at auth table
211   DONE     - change nick (strcasecmp)
212   DONE   - refact js tables to handle flags
213   DONE - room javascript refactoring
214
215   DONE - work background
216   DONE - reserved tables
217
218
219  BRISK2 (spawn)
220  ======
221
222    
223    URGENT - tables spawn
224             DONE - link with photos
225             DONE - top banner in Etc file
226             DONE - spawn of a table
227             DONE - data to cookies (removed table_idx from xhr calls also)
228             DONE - set subst to shutdowner/shutdowned
229             DONE - return to index.php
230             DONE - game's token
231             DONE - recover of corrupted table data
232             DONE - closure of a table
233             DONE - flush of the table
234             DONE - security checks for right scope access
235             DONE - garbage collector management
236             DONE -    recursive garbage - howto ?
237             DONE - stat & subst in browser
238             DONE - laccwr setting and exit if all players are unactive for some time
239             DONE - the list of test case
240             DONE - shm dimension
241             DONE - remove unused parts
242             DONE - move images
243             DONE - optimizations
244             DONE - cambiare titolo al tavolo
245             DONE - shutdowning lock tables
246             DONE - topbanner
247             DONE - public announcements
248             DONE - 10 sec to exit from table
249
250             FAR - inheritances
251    
252    TRAIN  -  DONE - add again in reload   
253              DONE - wag_set refact
254              DONE - filtra char speciali per title
255              DONE - chatt_send refact 
256              DONE - elenco dei giocatori
257              DONE - documentazione online
258              DONE - timeout management     
259              LATER - border color a muzzo
260        
261    NORM   - testament
262    NORM   - public announcements
263    NORM   - 10 sec to exit from table
264    NORM   - moving label for tables click
265
266 ----------------- join -----------------
267    NORM   - map
268
269    NORM   - restart preload img
270    NORM   - tools dir with a main and some pages where check briscola tools.
271    NORM   - watchdog
272
273    NORM   - chat vecchie in reload (forse)
274
275  MIDDLE TODO
276  ===========
277
278    - user assistant (with button to enable disable)
279    - documentation
280
281
282  FAR TODO
283  ========
284    NORM - internationalization
285    NORM - img -> div + css
286    
287  WEB
288  ===
289
290    - link to stable/unstable
291
292 -------------------------------------------------------------------
293  DONE
294  ====
295
296    ABORTED - asta: highlight buttons (css hover) - change pointer when over
297    DONE - step proxy
298    DONE - special chars in js
299    DONE - ban temporaneo dai tavoli
300    DONE - flash player to play sound
301    DONEBUG - (aum. il timeout) - carte giocate che restano girate
302          Sembra non migliorare di molto la cosa, gestita la cache
303          correttamente, sono apposto.
304
305    DONE - one player reject a game, to less points (<= 2)
306    DONE - help page
307    DONE - test di download per la cache
308    DONE - se passano tutti tranne l'ultimo l'asta va al penultimo.
309           Corretto il codice, occorre verificare se questo
310           ingenera qualche problema.
311    DONE - raddoppiato il numero di righe nella chat
312    DONE - corretto bug del /nick
313    DONE - carosello pubblicità altout
314    DONE - smammamorti
315    DONE - unload of the stream
316    DONE - standup centrati
317    DONE - current player - in info
318    DONE - HELP butt con ABOUT, REGOLE, VERSIONE
319    DONE - wellcome lines in the chats (room and table)
320    DONE - wellcome lines in the chats (room and table)
321    DONE - nomi in primo piano se vai sul quadrato   
322    DONE - to pass explicit config file to INSTALL.sh
323    DONE - flag to create a config file
324    ABRT - bottoni => immagini
325    DONE - aggiungere bottone al login
326    DONE - nomi in primo piano se vai sul quadrato   
327    DONE - installer to set cookie path
328    DONE - change name
329    DONE - automatic and manual logout
330    DONE - cache problems solved via .htaccess
331    DONE - all players out of the auction
332    DONE - time to send cards
333    DONE - hide cards before sends at a new game
334    DONE - well recognization of the browser and O.S.
335    DONE - login consistency !!!!
336    DONE - functionalization of garbage
337    DONE - call garbage function into login
338    DONE - game
339    DONE - manage the reload from scratch of the table page
340    DONE - table reset
341    DONE - sendcard => card_send(idx, ....)
342    DONE - show table for game
343    DONE - points calculation
344    DONE - make-up of the chooser
345    DONE - where place the briscola on the table
346    DONE - users info
347    DONE - show current auction position
348    DONE - table with internal management of the transition between pages.
349    DONE - server side page abort management  
350    DONE - cookie problem with Ajax
351    DONE - spostare il tasto "esco"
352    DONE - to pass explicit config file to INSTALL.sh 
353    DONE - 8 tables
354    DONE - safety out management
355    DONE - info enhancement and related button (how win the last game and
356           with how much points ?)
357
358  WEB
359    DONE - homepage
360    DONE - screenshots
361
362 DOC
363    CHAPTERS
364       HTTP Streaming
365       Local serializer
366       Database on shmem
367       Page abort (reload on http streaming case)
368       Chat
369       Cookies management
370       CSS tricks
371
372 CHECK ON NEW SERVERS
373 .htaccess AllowOverwrite mode for Cache-Control directive
374
375
376
377
378 */
379