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