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