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