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