• Babele dei diritti utente: Parte 2

    Il primo grande gruppo dei diritti è definito nei gruppi utenti, area che definisce il funzionamento base del forum e le caratteristiche fondamentali di tutti gli utenti. Come già accennato, il migliore metodo è l'assegnamento di un solo gruppo per gli utenti iscritti e gruppi aggiuntivi per funzionalità aggiuntive.


    I primi sette gruppi utente sono fissi, l'ottavo indispensabile ma purtroppo nell'area dove può essere eliminato per sbaglio e dove è quasi impossibile riprenderselo, se non tramite una query da phpMyAdmin:

    Codice:
    INSERT IGNORE INTO usergroup (usergroupid, title, description, usertitle, passwordexpires, passwordhistory, pmquota, pmsendmax, opentag, closetag, canoverride, ispublicgroup, forumpermissions, pmpermissions, calendarpermissions, wolpermissions, adminpermissions, genericpermissions, genericoptions, attachlimit, avatarmaxwidth, avatarmaxheight, avatarmaxsize, profilepicmaxwidth, profilepicmaxheight, profilepicmaxsize, signaturepermissions, sigpicmaxwidth, sigpicmaxheight, sigpicmaxsize, sigmaximages, sigmaxsizebbcode, sigmaxchars, sigmaxrawchars, sigmaxlines, vbblog_general_permissions, vbblog_entry_permissions, vbblog_comment_permissions, visitormessagepermissions, socialgrouppermissions, usercsspermissions, albumpermissions, albumpicmaxwidth, albumpicmaxheight, albummaxpics, albummaxsize, genericpermissions2, pmthrottlequantity, groupiconmaxsize, maximumsocialgroups, vbblog_customblocks, vbblog_custompages, vbcmspermissions) VALUES(8, 'Banned Users', '', 'Banned', 0, 0, 0, 0, '', '', 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 80, 80, 20000, 100, 100, 65535, 0, 500, 100, 20000, 30, 7, 500, 1000, 0, 0, 0, 0, 16, 131136, 0, 192, 600, 600, 100, 0, 0, 0, 65535, 5, 0, 0, 0)
    Le query seguenti invece servono per inserire e sostituire tutti i gruppi necessari per un forum normale. Come sempre, consigliamo di fare un backup delle tabelle prima di procedere e di provare mai in ambiente di produzione, perché queste istruzioni sostituiscono i gruppi impostati in precedenza. Successivamente all'esecuzione della query è necessario aprire, applicare eventuali modifiche e salvare tutti i gruppi da vBulletin per impostare i permessi anche nella cache dei permessi:

    Codice:
    REPLACE INTO `usergroup` (`usergroupid`, `title`, `description`, `usertitle`, `passwordexpires`, `passwordhistory`, `pmquota`, `pmsendmax`, `opentag`, `closetag`, `canoverride`, `ispublicgroup`, `forumpermissions`, `pmpermissions`, `calendarpermissions`, `wolpermissions`, `adminpermissions`, `genericpermissions`, `genericoptions`, `attachlimit`, `avatarmaxwidth`, `avatarmaxheight`, `avatarmaxsize`, `profilepicmaxwidth`, `profilepicmaxheight`, `profilepicmaxsize`, `signaturepermissions`, `sigpicmaxwidth`, `sigpicmaxheight`, `sigpicmaxsize`, `sigmaximages`, `sigmaxsizebbcode`, `sigmaxchars`, `sigmaxrawchars`, `sigmaxlines`, `vbblog_general_permissions`, `vbblog_entry_permissions`, `vbblog_comment_permissions`, `visitormessagepermissions`, `socialgrouppermissions`, `usercsspermissions`, `albumpermissions`, `albumpicmaxwidth`, `albumpicmaxheight`, `albummaxpics`, `albummaxsize`, `genericpermissions2`, `pmthrottlequantity`, `groupiconmaxsize`, `maximumsocialgroups`, `vbblog_customblocks`, `vbblog_custompages`, `vbcmspermissions`) VALUES
    (1, 'Unregistered / Not Logged In', '', 'Ospite', 0, 0, 50, 0, '', '', 0, 0, 9048071, 0, 32, 1, 0, 33554497, 104, 0, 80, 80, 20000, 100, 100, 65535, 137215, 500, 100, 20000, 30, 7, 500, 1000, 0, 254320, 7744, 960, 16, 131153, 224, 194, 600, 600, 100, 0, 0, 0, 65535, 5, 0, 0, 0),
    (2, 'Registered Users', '', '', 0, 0, 50, 5, '', '', 0, 0, 12317183, 3, 51, 1, 0, 1378358983, 62, 0, 90, 90, 20000, 100, 100, 65535, 169983, 500, 100, 20000, 30, 7, 500, 1000, 0, 517118, 8191, 974, 63, 214899, 255, 255, 600, 600, 100, 0, 1, 0, 65535, 5, 5, 5, 0),
    (3, 'Users Awaiting Email Confirmation', '', '', 0, 0, 50, 0, '', '', 0, 0, 655375, 0, 32, 0, 0, 1031, 56, 0, 80, 80, 20000, 100, 100, 65535, 137215, 500, 100, 20000, 30, 7, 500, 1000, 0, 516464, 7744, 960, 16, 131152, 247, 194, 600, 600, 100, 0, 0, 0, 65535, 5, 0, 0, 0),
    (4, '(COPPA) Users Awaiting Moderation', '', '', 0, 0, 50, 0, '', '', 0, 0, 655375, 0, 32, 0, 0, 33554435, 48, 0, 80, 80, 20000, 100, 100, 65535, 137215, 500, 100, 20000, 30, 7, 500, 1000, 0, 516464, 7744, 960, 16, 131153, 247, 194, 600, 600, 100, 0, 0, 0, 65535, 5, 0, 0, 0),
    (5, 'Super Moderators', '', 'Super Moderatore', 0, 0, 500, 0, '', '', 0, 0, 16777215, 7, 63, 15, 1, 1559191535, 63, 0, 100, 100, 40000, 100, 100, 65535, 235519, 500, 100, 20000, 30, 7, 500, 1000, 0, 524286, 24575, 990, 63, 262143, 255, 255, 600, 600, 100, 0, 1, 0, 65535, 5, 5, 5, 0),
    (6, 'Administrators', '', 'Amministratore', 0, 0, 5000, 5, '', '', 0, 0, 16777215, 7, 63, 31, 3, 2113929151, 55, 0, 100, 100, 40000, 100, 100, 65535, 235519, 500, 100, 20000, 0, 7, 0, 0, 0, 524286, 24575, 990, 63, 262143, 191, 255, 600, 600, 100, 0, 1, 0, 65535, 5, 5, 5, 1),
    (7, 'Moderators', '', 'Moderatore', 0, 0, 500, 5, '', '', 0, 0, 12317183, 5, 63, 3, 0, 1558716047, 54, 0, 100, 100, 40000, 150, 150, 65535, 235519, 500, 100, 20000, 30, 7, 500, 1000, 0, 517118, 8191, 974, 63, 247667, 255, 255, 600, 600, 100, 0, 1, 0, 65535, 5, 5, 5, 0),
    (8, 'Banned Users', '', 'Escluso', 0, 0, 0, 0, '', '', 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 80, 80, 20000, 100, 100, 65535, 0, 500, 100, 20000, 30, 7, 500, 1000, 0, 0, 0, 0, 16, 131136, 0, 192, 600, 600, 100, 0, 0, 0, 65535, 5, 0, 0, 0),
    (9, 'Spammers', '', 'Spammer', 0, 0, 0, 0, '', '', 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 80, 80, 20000, 100, 100, 65535, 0, 500, 100, 20000, 30, 7, 500, 1000, 0, 0, 0, 0, 16, 131136, 0, 192, 600, 600, 100, 0, 0, 0, 65535, 5, 0, 0, 0),
    (10, 'Utenti attivi', '', '', 0, 0, 50, 5, '', '', 0, 0, 12317183, 3, 51, 1, 0, 1378358983, 62, 0, 90, 90, 20000, 100, 100, 65535, 169983, 500, 100, 20000, 30, 7, 500, 1000, 0, 517118, 8191, 974, 63, 214899, 255, 255, 600, 600, 100, 0, 1, 0, 65535, 5, 5, 5, 0),
    (11, 'Utenti inattivi', '', 'Inattivo', 0, 0, 50, 5, '', '', 0, 0, 12317183, 3, 51, 1, 0, 1344804551, 62, 0, 90, 90, 20000, 100, 100, 65535, 169983, 500, 100, 20000, 30, 7, 500, 1000, 0, 517118, 8191, 974, 63, 214899, 191, 255, 600, 600, 100, 0, 1, 0, 65535, 5, 5, 5, 0),
    (12, 'Utenti cancellati', '', 'Cancellato', 0, 0, 0, 0, '', '', 0, 0, 131072, 0, 0, 0, 0, 0, 0, 0, 80, 80, 20000, 100, 100, 65535, 0, 500, 100, 20000, 30, 7, 500, 1000, 0, 0, 0, 0, 16, 131136, 0, 192, 600, 600, 100, 0, 0, 0, 65535, 5, 0, 0, 0)
    A questo punto possiamo pensare un attimo alle promozioni utenti, che spostano essenzialmente gli utenti da un gruppo utente all'altro in base a diversi punteggi raggiunti:



    Il tipico esempio è pensato per l'utente appena iscritto, che dovrebbe per prima cosa presentarsi e dopo un numero di messaggi passare agli utenti attivi, giusto per evitare che qualunque nuovo arrivato si immischia subito nel calderone delle discussioni più visitate.

    Il criterio qui impostato è la reputazione di 1000, che volutamente non sarà mai raggiunto, un minimo di 30 giorni di iscrizione e un minimo di 10 messaggi. E' anche pressoché l'unica eccezione alla regola dove si spostano gli utenti da un gruppo primario a un altro gruppo primario, anziché aggiungere gruppi secondari:



    Da questo momento, vBulletin controlla ogni ora questi criteri e aggiorna i permessi di conseguenza. Consigliamo di guardare un po' come funziona, prima di creare nuove promozioni e come già detto, senza esagerare con le regole.

    Se si creano promozioni in base alla reputazione, è necessario pensare anche alla demozione, e quindi andare a retroso con i diritti utente. Ad esempio, un utente con una reputazione di 100 punti potrebbe cambiare atteggiamento e finire con 10 o meno punti entro poco tempo. In tal caso non è sempre giusto che abbia gli stessi diritti di un utente apprezzato. Quindi si possono creare promozioni che lavorano all'inverso, con la scelta di comparazione "Minore di".

    Come vedremo nel tempo, le promozioni sono un mezzo utile e indispensabile per tutelare gli utenti e regolare i permessi. Nei piccoli forum si può fare anche a meno, ma già con mille utenti alleggerisce notevolmente il carico di lavoro.