source IP address stored into log
[brisk.git] / TODO.txt
index da873b7..5941766 100644 (file)
--- a/TODO.txt
+++ b/TODO.txt
-======== 
-  TODO
-========
+ TODO |
+------+
+
+  MAJOR |
+ -------+
+   - BUG: some connection to the named socket fails
+
+
+  MINOR |
+ -------+
+   WIP - try to be more antivirus-friendly
+   - packetize and automatize php-ancillary and apache module
+   - into the room local step remains -1
+   - DISABLED_TO_FIX: DNS access (perform blocking dns requests, must be fixed)
+
+
+  DONE |
+ ------+
+   DONE - log_legal address fix
+   DONE - manage too fast reload in xynt-streaming
+   DONE - add xhr as transport layer and manage different streams better
+   TEST - BUG: pari + 72 non fa 4x ma attualmente fa 3x, da correggere
+   TEST - BUG: lurker are logged out (and remain a pending socket opened (look the spush log)
+   DONE - save/restore database
+   DONE - centralize all '<script ...' incapsulation to allow multiple transport system.
+   DONE - BUG: access with password from 2 diff browsers the second go in strange "page not found" 
+          in the first tentative, the second works
+   DONE - BUG: access with password from 2 diff browsers place the first in a strict loop (the 
+          problem was a call to a static parent method instead of the overrided child method,
+          substitute self:: with the dynamically get class::)
+   DONE - garbage management
+
+   DONE/FROZEN - problem with getpeer (HOSTADDR)
+
+   DONE - slow cards distribution
+   DONE - substr to mb_substr
+   DONE - parametrizations:
+          . parametrization of $DOCUMENT_ROOT  var in brisk-spush.phh file
+          . parametrization of SITE_PREFIX(_LEN) define
+          . move the name of the named socket into the configuration file
+   DONE - manage and test cross forwarder between table and room
+   DONE - setcookie (for tables only and persist prefs)
+   DONE - images flickering on slow windows: try to poll stream every 300 ms (seems to be download problem)
+   DONE - database connection fails after a while, check close and try PGSQL_CONNECT_FORCE_NEW.
+   DONE - unneeded garbage_time.expired access
+   DONE - BUG: fast loop on stream index_rd_ifra page (js watchdog start without timeout corrupt counts)
+   DONE - BUG: logout failed (fixed with a garbage_collector wrapper at sac-a-push level
+   DONE - 404 wrong page management (remove directories redirections (es. brisk/))
+   DONE - configuration file management
+   DONE - app level keep-alive
+   DONE - index_wr other issues
+   DONE - from room to table
+   DONE - from table to room
+   DONE - chunked
+   DONE - bug: read from a not resource handle (already closed because a new socket substitute it)
+   DONE - partial write for normal page management
+   DONE - index_rd_ifra: last_clean issue
+   DONE - fwrite failed error management (select, buffer where store unsent data, and fwrite check and retry)
+   DONE - bug: after restart index_rd.php receive from prev clients a lot of req
+   DONE - index_wr.php::chat
+   DONE - index_wr.php::exit
+   DONE - index_rd.php porting
+   DONE - generic var management from internet
+   DONE - index.php auth part
+   ABRT - index_wr.php::reload - reload is js-only function
+   ABRT - keepalive management - not interesting for our purposes
+
+ BRISK4 (mammuth)
+ ======
 
+ - STEP MANAGEMENT VERIFY
+ Slim Paragraph
+ DONE - move the garbage timeout on file
+ DONE - in index_rd load all data only when required
+ - briskin5 alignment
+   DONE . extern del garb_timeout
+   DONE . user_load parameters verify
+   DONE . Bin5::load_data and Bin5::save_data refactoring with
+          data split
+   . move many function into "Bin5 class"
+ - garbaging of .step files
+
+ DB: - initial usage
+     DONE - configurabilità file o db
+     DONE - aggiornare le funz di gestione db in modo che prevedano anche il flag DISABLE
+     DONE - travasatore file to pg
+       DONE - travaso punteggi
+       DONE - memorizzazione nuovi i punteggi nel db
+       DONE - gestione classifiche in SQL
+         DONE - produrle
+         DONE - mostrarle
+
+     STEP 1.1
+       DONE - points archiver
+
+     STEP 1.2
+       DONE - partial usability if database go down.
+
+     STEP 1.5
+     - sistema di inserimento nuovi utenti (riversatore da form di inserimento)
+
+     STEP 2
+     - aggiornare le funz di gestione db in modo che prevedano anche il flag SUSPEND
+     - modifica password   
+     - ripristino password 
+
+     STEP 3
+     - comunicazioni di aggiornamento (stato salvato sul server) 
+
+ DONE - var $G_base aggiunta per gestire include in include da path differenti
 
  BRISK3 (trusty)
  ======
+  DONE - donameter
+    DONE - G_donors
+    DONE (WOW!) - js object with infos
+    DONE - main logic at login (cookie check in index_rd.php; show_message and createCookie via snippets with block
+           to prevent fast reload)
+    DONE - cookie per non assillare e visualizz.
+    DONE - graphical donameter
+    WIP content (in conf.)
+
+  DONE - numero di tavoli auth-only nel .brisk-install
+  - isolation
+    TEST - ricalcolo delle persone in piedi quando si cambia modalità
+    DONE - se si e' in isolation non si può cambiare nick perdendo l' auth
+    DONE - non leggere le chat di quelli non autenticati (in isolation)
+    DONE - regole per passare alla modalita' (in piedi o ai tavoli autenticati) 
+    DONE - treni non auth da nascondere 
+    DONE - verso gli altri ??: uguale a prima
+
+  finire multilingua (briskin5/index_wr.php e altri se ce ne sono)
+  coniglio
+  only auth strictly
+  placing limits to config file
+
+Dunque, 
+
+- come vengono aggiornate le classifiche: ogni giorno alle 23:58
+
+- cosa cambia tra le tre coppie di classifiche: 
+  ci sono le classifiche dell' ultima settimana, quelle dell' ultimo mese,  e quelle dell' ultimo trimestre,
+  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.
+
+- 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.
+
+Un esempio per chiarire:
+
+  l'utente 'pippo' che è nuovo gioca 4 partite nell'ultima settimana con i seguenti punteggi:
+    -2, 1, 2, 1
+  lo score viene { [ (-2) + (1) + (2) + (1) ] / 4 }  * 100 = 50.0
+  
+  a parità di score tra utenti va più in alto chi ha giocato più partite.
+
+Se dopo quelle 4 partite 'pippo' non ne giocherà più, passata una settimana dall'ultima giocata 
+sparirà dalla classifica settimanale e rimarrà in quelle mensili e trimestrali.
+
+
+  
+
+
+
 
  BUG
  ---