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