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