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