User Tools

Site Tools


sermn_wiki:userpages:marta:reserves_117

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sermn_wiki:userpages:marta:reserves_117 [2012/12/27 13:26]
miquel [Status i Taula statususers]
sermn_wiki:userpages:marta:reserves_117 [2020/07/09 12:11] (current)
miquel
Line 1: Line 1:
-====== Posta en funcionament de la v.1.1.7 ======+====== Posada en funcionament de la v.1.1.7 ======
  
 Aquí es detallen les comprovacions i els ajusts que s'han fet per poder instal·lar la versió 1.1.7 des de zero i sense errors. Aquí es detallen les comprovacions i els ajusts que s'han fet per poder instal·lar la versió 1.1.7 des de zero i sense errors.
Line 52: Line 52:
 ==== Taula usergroups ==== ==== Taula usergroups ====
  
-<code php>DROP TABLE IF EXISTS usergroups; +<code sql> 
-CREATE TABLE IF NOT EXISTS usergroups ( +DROP TABLE IF EXISTS usergroups; 
-  userid smallint(5) unsigned NOT NULL default '0', +CREATE TABLE IF NOT EXISTS `usergroups
-  groupid smallint(5) unsigned NOT NULL default '0', +  `useridsmallint(5) unsigned NOT NULL default '0', 
-  isdefault tinyint(1) default '0', +  `groupidsmallint(5) unsigned NOT NULL default '0', 
-  UNIQUE KEY usergroup (userid,groupid) +  `isdefaulttinyint(1) default '0', 
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;</code>+  UNIQUE KEY `usergroup(userid, groupid) 
 +) ENGINE=MyISAM DEFAULT CHARSET=utf8; 
 +</code>
  
 Amb la següent comanda podem crear la relació entre usuaris i grups (que ja teníem a la bd) i omplir la taula usergroups: Amb la següent comanda podem crear la relació entre usuaris i grups (que ja teníem a la bd) i omplir la taula usergroups:
  
-<code php>INSERT INTO usergroups (userid,groupid) +<code sql> 
-SELECT DISTINCT UP.userid, PG.groupid FROM userprojects AS UP,projectgroups AS PG WHERE UP.projectid = PG.projectid;</code>   +INSERT INTO `usergroups(userid, groupid) 
 +SELECT DISTINCT `userprojects.userid``projectgroups.groupid
 +FROM `userprojects``projectgroups
 +WHERE `userprojects.projectid`projectgroups.projectid`; 
 +</code>
  
-<note warning>Atenció: si un projecte és compartit per 2 grups i tenim un usuari assignat a aquell projecte, si ho fem d'aquesta manera, l'usuari passarà a pertànyer als 2 grups. Si això no és desitjable, ara per ara s'ha de corregir manualment.</note>+<WRAP warning> 
 +Atenció: si un projecte és compartit per 2 grups i tenim un usuari assignat a aquell projecte, si ho fem d'aquesta manera, l'usuari passarà a pertànyer als 2 grups. Si això no és desitjable, ara per ara s'ha de corregir manualment. 
 +</WRAP> 
 + 
 +Si la major part d'usuaris només pertanyen a un grup, podem emprar la següent comanda per indicar que el grup al qual pertanyen és el grup per defecte, 
 + 
 +<code sql> 
 +UPDATE `usergroups` SET `isdefault` = 1 WHERE 1 
 +</code> 
 + 
 +i tot seguit canviar ''isdefault'' a zero en tots els usuaris assignats a més d'un grup, 
 + 
 +<code sql> 
 +UPDATE `usergroups` SET `isdefault` = 0 WHERE `userid` IN ( 
 +  SELECT `uid` FROM ( 
 +    SELECT `userid` AS `uid` 
 +    FROM `usergroups` 
 +    GROUP BY `userid` 
 +    HAVING count( `userid` ) > 1 
 +  ) AS tmptble 
 +
 +</code> 
 + 
 +La llista d'usuaris assignats a més d'un grup, i pels quals hem d'indicar el grup per defecte, es pot obtenir amb la següent comanda, 
 + 
 +<code sql> 
 +SELECT userid, count( `userid` ) 
 +FROM `usergroups` 
 +GROUP BY `userid` 
 +HAVING COUNT( `userid` ) > 1; 
 +</code> 
 + 
 +\\
  
 ==== Status i Taula statususers ==== ==== Status i Taula statususers ====
  
-<note important>+<WRAP important>
 2012-08-08 - MCE - He canviat el nom del camp de //status// a //role//. 2012-08-08 - MCE - He canviat el nom del camp de //status// a //role//.
  
 **Caldrà modificar el codi del programa perquè faci servir aquest nom de camp** **Caldrà modificar el codi del programa perquè faci servir aquest nom de camp**
-</note>+</WRAP>
  
-S'ha afegit el camp //status// a la taula //users//: +S'ha afegit el camp //role// a la taula //users//: 
-<code php>status SMALLINT UNSIGNED DEFAULT 3,</code>+<code php>role SMALLINT UNSIGNED DEFAULT 3,</code>
  
 En principi està pensat que: En principi està pensat que:
-  * Status 1 = admin +  * Role 1 = admin 
-  * Status 2 = cap de grup +  * Role 2 = cap de grup 
-  * Status 3 = usuari+  * Role 3 = usuari
  
-A més a més, el fitxer /install/setup-tables.sql s'ha d'actualitzar la línia perquè l'administrador tingui status 1:  +A més a més, el fitxer /install/setup-tables.sql s'ha d'actualitzar la línia perquè l'administrador tingui //role 1://  
-<code php>INSERT INTO users (username,name,passwd,isadmin,statusVALUES +<code sql> 
-  ('BumblebeeAdmin','Queen Bee',MD5('defaultpassword123'),1,1) +INSERT INTO users (username,name,passwd,isadmin,role
-;</code>+VALUES ('BumblebeeAdmin','Queen Bee',MD5('defaultpassword123'),1,1); 
 +</code>
  
-També, del fitxer install/installer/createdatabase.php s'ha de canviar la següent línia perquè al instal·lar li posi status 1 al admiunistrador:+També, del fitxer install/installer/createdatabase.php s'ha de canviar la següent línia perquè al instal·lar li posi //role 1// al admiunistrador:
  
-<code php>$sql = preg_replace("/\('$bbDefaultAdmin','$bbDefaultAdminName',MD5\('$bbDefaultAdminPass'\),1\)/", +<code php> 
-                      "('$bbAdmin','$bbAdminName','".md5($bbAdminPass)."',1);", $sql);</code>+$sql = preg_replace("/\('$bbDefaultAdmin','$bbDefaultAdminName',MD5\('$bbDefaultAdminPass'\),1\)/", 
 +       "('$bbAdmin','$bbAdminName','".md5($bbAdminPass)."',1);", $sql); 
 +</code>
                                              
 La canviem per: La canviem per:
  
-<code php>$sql = preg_replace("/\('$bbDefaultAdmin','$bbDefaultAdminName',MD5\('$bbDefaultAdminPass'\),1,1\)/", +<code php> 
-                      "('$bbAdmin','$bbAdminName','".md5($bbAdminPass)."',1,1);", $sql);</code>+$sql = preg_replace("/\('$bbDefaultAdmin','$bbDefaultAdminName',MD5\('$bbDefaultAdminPass'\),1,1\)/", 
 +       "('$bbAdmin','$bbAdminName','".md5($bbAdminPass)."',1,1);", $sql); 
 +</code>
  
-<note important>+<WRAP important>
 2012-12-27 - MCE - He canviat el nom de la taula de //statususers// a //roleusers//. 2012-12-27 - MCE - He canviat el nom de la taula de //statususers// a //roleusers//.
  
 **Caldrà modificar el codi del programa perquè faci servir aquest nom de camp** **Caldrà modificar el codi del programa perquè faci servir aquest nom de camp**
-</note>+</WRAP>
                                              
 Altre cop a /install/setup-tables.sql hem de crear una nova taula, la de roleusers: Altre cop a /install/setup-tables.sql hem de crear una nova taula, la de roleusers:
  
- +<code sql> 
-<code php>DROP TABLE IF EXISTS roleusers;+DROP TABLE IF EXISTS roleusers;
 CREATE TABLE IF NOT EXISTS roleusers ( CREATE TABLE IF NOT EXISTS roleusers (
   id SMALLINT UNSIGNED NOT NULL,   id SMALLINT UNSIGNED NOT NULL,
Line 114: Line 157:
   PRIMARY KEY (id),   PRIMARY KEY (id),
   UNIQUE KEY name (name)   UNIQUE KEY name (name)
-) DEFAULT CHARACTER SET utf8;</code>+) DEFAULT CHARACTER SET utf8; 
 +</code>
  
 I en el mateix fitxer ja l'omplim (perquè seran valors fixes): I en el mateix fitxer ja l'omplim (perquè seran valors fixes):
  
-<code php>INSERT INTO roleusers (id,name) VALUES +<code sql> 
-  (1,'Admin') +INSERT INTO roleusers (id,name) VALUES (1,'Administrator'); 
-+INSERT INTO roleusers (id,name) VALUES (2,'Group leader'); 
-INSERT INTO roleusers (id,name) VALUES +INSERT INTO roleusers (id,name) VALUES (3,'User'); 
-  (2,'Main_Researcher') +</code>
-+
-INSERT INTO roleusers (id,name) VALUES +
-  (3,'Usuari') +
-;</code>+
 ===== Servidor de correo ===== ===== Servidor de correo =====
 Perquè funcionin opcions com 'I forgot my password' que han d'enviar correos, s'ha de configurar el servidor d'aquest. Perquè funcionin opcions com 'I forgot my password' que han d'enviar correos, s'ha de configurar el servidor d'aquest.
Line 168: Line 208:
 ==== Llistes  ==== ==== Llistes  ====
  
-Les llistes no mostraven correctament el que tocava, per exemple a usuaris suspesos deia que suspended=1 i deleted<>1, per tant tot els usuaris que tenen suspended=1 i deleted=1 no es mostraven (que són la majoria). S'ha solucionat perquè ho faci correctament (si volem consultar coses suspeses no ens importa el camp deleted i per això ha d'estar a NULL). +Les llistes no mostraven correctament el que tocava, per exemple a usuaris suspesos deia que //suspended=1// //deleted<>1//, per tant tot els usuaris que tenen //suspended=1// //deleted=1// no es mostraven (que són la majoria). S'ha solucionat perquè ho faci correctament (si volem consultar coses suspeses no ens importa el camp deleted i per això ha d'estar a NULL). 
  
-Es pot comprovar si es fan les consultes correctament descomentant la línia 169 de /inc/formslib/dbchoicelist.php <code php>//printf("sql: %s<br/>",$q);</code>+Es pot comprovar si es fan les consultes correctament descomentant la línia 169 de ''/inc/formslib/dbchoicelist.php'' <code php>//printf("sql: %s<br/>",$q);</code>
  
sermn_wiki/userpages/marta/reserves_117.1356611180.txt.gz · Last modified: 2012/12/27 13:26 by miquel