IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

NOTA Aquesta pàgina és un borrador.

Plantilla alta usuaris Egroupware

Egroupware orqanitza les dades d'un contacte en tres seccions: Personal, Treball i Inici. Una proposta de reorganització posible és la següent:

Personal

  • Prefix (Sr,Senyora, senyorita ,etc): Crec que es pot deixar per un futur encara que no crec que l'utilitzem gaire
  • Nom i cognoms: Aquí hem de decidir que fem. Egroupware esta en sistema angles que és diferent al Español. Per facilitar tasques com la creació automàtica del password caldria separar els cognoms. N_given: Nom, N_middle: 1er cognom, N_family: segon cognom

Afegitons

  • Estaria bé mostrar el id d'usuari (correlatiu) de la base de dades. El podriem utilitzar per a les fitxes.El tema de posar l'any al id només seria amb caracter informatiu (no forma part del id de base de dades)
  • Tema usuari i password etic. Tots dos son construccions a partir del identificador del usuari i del seu nom i cognoms per tant no cal que hi hagi un camp específic per a ells. En l'exportació via fitxer/script bash integrat a egroupware es quan hem de fer la construcció.IMPORTANT: Repetició d'usuaris. Si no tenim cap sistema per identificar que un altre usuari genera el mateix nom d'usuari al pasar a SkoleLinux ell sol et fara el canvi!!!. pot ser un problema perque segurament ja haura escrit a la fitxa de paper i per tant l'hauras de tornar a fer!!! Una opció es fer més complexos els noms d'usuari per evitar coincidencies (per exemple afegir el id correlatiu exemple sergit123)


Inici

  • correu electrònic: ok
  • Adreça,Ciutat,Provincia,Codi postal, Pais: ok. Estaría bé oferir uns valors per defecte (Ciutat:Barcelona,Provincia:Barcelona,Codi Postal: el del barri de Sant Antoni, Pais: España)
  • Telèfon particular
  • Telèfon particular 2
  • Moure les notes a aquesta secció (camp per posar el que calgui)

Categories

Les categories/subcategories són ideals per a crear GRUPS d'usuaris. Podem crear per exemple una categoria etic amb les subcategories "Cursos de formacio" amb un grup per cada curs. Les podem utilitzar per diferenciar usuaris etic, d'altres contactes i també per a gestionar a quins cursos/categories esta matriculat cadascú

Volem distingir els cursos matriculats actualment de l'històric? O simplement un cop t'has matriculat d'un curs et queda sempre la categoria asociada? O creem categories per cada curs/periode?

Treball

Aquest apartat posarlo al final. Pot ser util per altres contactes tot i que per usuaris etic (si el Xabier no diu lo contrari) crec que no tenen sentit. En aquest apartat potser es pot simplificar molt amagant certs camps (busca, telefon del coche, video, etc)

La organització de la pàgina quedaria en l'ordre indicat en aquest document. Estaria bé però tenir una copia del botó de guardar a la part superior del document que permetes que sense paginar es pogues donar d'alta un usuari bàsic (usuari etic)

Integració EgroupWare-SkoleLinux

Hi han dos opcions

Mitjantçant un fitxer d'exportació

Inconvenients

  • No és automàtic. Dos passos per donar d'alta un usuari
  • El webmin d'SkoleLinux fa coses que no volem. Veure l'aparta controls d'SkoleLinux

Executant un script desde PHP

A la carpeta /usr/share/debian-edu-config/tools hi ha una serie d'scripts relacionats amb skoleLinux que poden ser utils:

  • /usr/share/debian-edu-config/tools/adduser. Utilitza la comanda ldapmodify i un fitxer ldif per carregar un nou usuari:
 DOMAIN="dc=skole,dc=skolelinux,dc=no"
 URI="ldaps://ldap"
 
 UNAME=$1
 GROUP=$2
 
 if [ -z "$UNAME" -o -z "$GROUP" ] ; then
   echo -e "usage:\n\t$0 <username> <group>"
   exit 9
 fi
 
 cat << EOF | ldapmodify -D "cn=admin,ou=People,$DOMAIN" -H "$URI" -W -v -x
 dn: cn=$GROUP,ou=Group,$DOMAIN
 changetype: modify
 add: memberUid
 memberUid: $UNAME

El problema és que no fan exactament el que desitgem (no son una alternativa al webmin). Per tan s'hauria de crear un script que

Esta opció esta per tant complicada ja que el mòdul webmin d'SkoleLinux fa moltes coses(fa el que faria un adduser,guarda la infor en ldap,configura el usuari per Samba,configura info per IMAP,etc).

Un Script

  • Adaptar egroupware per recullir la info a ldap relacionada amb una compte Unix (objecte PossixAccount)


Objecte possixAccount. possixAccountSchema

Exemples comandes LDAP

Afegir un usuari/usuaris a un grup

Per afegir un usuari o múltiples usuaris a un grup cal executar

 ldapmodify -D "cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no" -H "ldaps://ldap" -W -v -x -f /path/fitxer-ldiff

on el fitxer /path/fitxer-ldiff

 dn: cn=audio,ou=Group,dc=skole,dc=skolelinux,dc=no
 changetype: modify
 add: memberUid
 memberUid: jose
 memberUid: xabier
 memberUid: amanzano
 memberUid: ...


Aquesta comanda afegira els usuaris al grup de privilegi d'audio.

Mostrar tots els usuaris

 ldapsearch -D "cn=admin,ou=People,dc=skole,dc=skolelinux,dc=no" -H "ldaps://ldap" -W  -v -x -LLLL  "(uid=*)" uid

Apèndix

Càrrega usuaris webmin Skolelinux

Camps que demana l'Skolelinux i la seva equivalència amb l'eGroupWare (bd xarxantoni taula phpgw_addressbook)

 Camps Skolelinux       Camps eGrupWare
 First name              n_given  
 Last name              n_family
 Full name              fn
 Class/course           cat_id (id de categories separades per comes)
 Authority grup         (posarem valor per defecte student)
 Username               username
 User's password        (combinació primer cognom (no està a la bd) i number)
 passw crypt-hash
 samba LM-hash
 samba NT-hash

Consulta sql executada per càrrega massiva, per tal de minimitzar l'adequació de dades a "pico i pala" crida SQL:


SELECT `n_given` , `n_family` , `fn` , "student" AS grup, `username` , CONCAT( RIGHT( `username` , CHAR_LENGTH( `username` ) -1 ) , number ) AS PASSWORD FROM `phpgw_addressbook` WHERE 1

Controls del mòdul webmin Skole d'alta d'usuaris

  • Limita el nom d'usuari a 8 digits (no configurable). Problema per l'etic.
  • El genera automaticament a paritr del nom i cognom però a l'inversa que l'etic. Elimina caracters extranys
  • Es poden configurar controls sobre la qualitat del password (configurable. Es pot desactivar/activar)
  • Si troba conflicte entre noms d'usuari et proposa/genera un nou usuari (basat en el segon cognom, en més lletres,etc.)
  • Els usuaris esborrats es guarden a una "papelera" del ldap (Attic). Fins que no es borra la papelera no és pot tornar a generar usuari. També cal vigilar que s'esborri la carpeta home corresponent abans de tornar a crear l'usuari
  • Si no hi ha password el genera un automàticament


Passes a seguir a partir del 20 de gener

  1. Reordenar el formulari segons: apartat 1
  2. Caldria afegir validacions en javascript al formulari (tèlefon ok, email ok ,etc.). Per evitar el efecte del error de validacions que he comentat anteriorment amb ldap com a mínim s'harien de validar els que valida ldap (els trobem a la funció validate del fixer /usr/share/egroupware/phpgwapi/inc/class.contacts_ldap.inc.php)
  3. Cal implementar els Afegitons del apartat 1
    1. Coses a implementar:
      1. Encriptar el password: El password el creem amb cognom+id i l'encriptem. S'ha de provar quina és la encriptació correcte
        1. Generar a partir dels camps el nom d'usuari (inicial nom+cognom+id?)
        2. Tocar ldap perque al donar d'alta un usuari aquest sigui compatible amb el tipus d'objecte usuari d'SkoleLinux (posixAccount).
  4. Finalment moure el node ou=People,dc=skole,dc=skolelinux,dc=no a algo com dc=etic,dc=xarxantoni,dc=org.

Temes pendents a 11/05/2006

Escrit per Sergi

  • Esborrar usuaris. No esborra home, ni esborra pertenencia a grups, només borra l'entrada ldap del usuari.
  • Camps DNI. Validació javascript? Preguntar Jose
  • Camps extres? Taula de base de dades: phpgw_addressbook_extra A vegades genera errors... Cal? Es pot eliminar? Com?
  • Fer neteja camps de proves.
  • Exportar les dades anteriors al nou sistema.