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