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)

Vegeu també Projectes de síntesi

Pàgines web de gestió dels projectes:

Qüestions generals per a tots els projectes

Desenvolupament del projecte

  • El projecte compte d'una avaluació continuada, és a dir, es valoraran una sèrie d'ítems per a obtenir la nota final. Si algun ítem no s'entrega es pot suspendre als alumnes d'avaluació continuada.
  • Així mateix, per poder gaudir de l'avaluació continuada cal assistir a un 90% de les classes.
  • És obligatori fer com a mínim un commit per dia al subversion

Entrega del codi font. Subversion

  • Tot el codi desenvolupat s'entregarà al subversion de l'Institut:
http://www.iesebre.com/subversion
  • El codi estarà disponible amb una llicència lliure tipus GPL. La llicència s'haurà d'indicar a cada fitxer conjuntament amb les dades bàsiques (nom i cognoms i correu electrònic) del creador o creadors del codi. També es farà constar el nom del professors que coordinin el projecte.
  • És obligatori fer com a mínim un commit per dia

Documentació del projecte

  • Tots els projectes s'han de documentar en format wiki a la wiki indicada pels professors coordinadors
  • Tots els possibles documents a entregar es penjaran a la wiki
  • Es desaconsella l'ús de paper i impressores, no és necessari per al projecte excepte en els casos que s'indiqui el contrari.

Què ha de contenir la documentació

  • Explicació detallada del procés d'instal·lació de l'aplicació.
  • Explicació detallada de com accedir al codi font del projecte
  • FAQ i resol·lució de problemes (TroubleShooting): molt important que feu constar aquelles qüestions que us han portat més problemes i com les heu sol·lucionat
  • Documentació de la base de dades MySQL]:
  • Cal entregar un volcatge SQL (mysqldump) amb només l'estructura de les taules de la base de dades
  • Esquemes Ldap creats
  • Volcatge, si s'escau, del backend ("base de dades") Ldap. Realitzat amb slapcat
  • Àrea de descàrrega, que permeti obtenir l'executable (Paquet Debian) del projecte.
  • L'executable a de contenir tant el codi, coma les bases de dades o altra documentació.

Terminis d'entrega del projecte

  • El projecte haurà d'estar finalitzat a les dates indicades pels professors, com a mínim el mateix dia de la presentació final
  • Aquells projectes que no estiguin acabats o que el
  • Amb independència de la nota del projecte (p.ex. encara que estigui aprovat), el projecte no s'aprovarà si no compleix tots els requeriments indicats. En aquest sentit, el tribunal del projecte es reserva el dret de convocar als alumnes durant la setmana o setmanes de convocatòria extraordinària i/o de recuperacions per tal de finalitzar el projecte.

Condicions d'entrega del projecte

  • El projecte s'ha d'entregar com a un producte final, que sigui el més fàcil possible d'instal·lar i utilitzar
  • Excepte en els projectes que s'indiqui el contrari, caldrà entregar un Paquet Debian com a instal·lador del projecte

PHP

Consulteu:

PHP orientat a objectes:

FPDF

Assignat el tema a Eros --acacha 17:14, 11 abr 2011 (UTC). Fent els tutorials.

Plantilles

  • TODO

Gosa

TODO

Alex

  • Manual de com fer un plugin tonto però de managment
  • Similar al plugin tonto però s'heretà de class_managment
  • El mètode a implementar no es pas execute és el constructor de la classe. Tots els constructors són iguals per a tots els plugins?
  • Fitxers extres:
$filter_xml = "device-filter.xml";
$list_xml = "device-list.xml";
/
/ Tab definition 
    protected $tabClass = "devicetabs";
    protected $tabType = "DEVICETABS";
    protected $aclCategory = "devices";
    protected $aclPlugin   = "deviceGeneric";
    protected $objectName   = "device";

    function __construct($config,$ui)
    {
        $this->config = $config;
        $this->ui = $ui;

        $filter_xml = "device-filter.xml";
        $list_xml = "device-list.xml";
        $this->storagePoints= array(get_ou("deviceGeneric", "deviceRDN"));

        // Build filter
        if (session::global_is_set(get_class($this)."_filter")){
            $filter= session::global_get(get_class($this)."_filter");
        } else {
            $filter = new filter(get_template_path($filter_xml, true));
            $filter->setObjectStorage($this->storagePoints);
        }
        $this->setFilter($filter);

        // Build headpage
        $headpage = new listing(get_template_path($list_xml, true));
        $headpage->setFilter($filter);

        // Add copy&paste and snapshot handler.
        if ($this->config->boolValueIsTrue("core", "copyPaste")){
            $this->cpHandler = new CopyPasteHandler($this->config);
        }
        if($this->config->get_cfg_value("core","enableSnapshots") == "true"){
            $this->snapHandler = new SnapshotHandler($this->config);
        }
        parent::__construct($config, $ui, "devices", $headpage);
    }
} 
// vim:tabstop=2:expandtab:shiftw


  • De quina mida són les icones dels addons?

Cal crear un manual amb captures de pantalla del wizard de gosa 2.7 i posar-lo a:

Gosa#Instal.C2.B7laci.C3.B3_de_gosa_2.7_pas_a_pas_a_Ubuntu_10.10

Documentar com recuperar la paraula de pas de l'usuari admin:

Gosa#Com_canviar_la_paraula_de_pas_de_l.27usuari_admin_de_gosa.3F

Tutorial per a l'inicialització en la creació de plugins

Vegeu la web:

https://oss.gonicus.de/labs/gosa/wiki/DocumentationInstallingGOsaWritingPlugins#TheDummyPlugin

Per veure com realitzar un "plugin tonto", inicial.

TODO:

Documentar-ho a: Desenvolupament_a_mida_de_Gosa#Plugin_normal

Recursos:

Creació d'esquemes propis a Ldap

Desenvolupament_a_mida_de_Gosa#Crear_un_esquema_propi

Com depurar Gosa?

Quan tingueu errors en gosa i no sapigueu a que són deguts, activeu el logging:

Consulteu Gosa#Logging.

Trobareu exemples tant de com mostrar més informació com de com mostra-la vosaltres mateixos quan programeu a Gosa. Text en negreta

Entorn de treball amb Eclipse per a la cració de plugins

Fer un entorn de treball per automatitzar la creació d'un paquet Debian que sigui un plugin de Gosa

Recursos:


Projectes

Aplicació web d'inventari

Alumnes:

  • Alan Culvi
  • Cristian Cid
  • Pau Gomez

Requeriments de l'aplicació

  • Aplicació web, desenvolupada en arquitectura LAMP.
  • Es dissenyarà com a mòdul/plugin/addon de Gosa. Molt important: No es pot modificar el codi de Gosa en cap moment (excepte fitxers de configuració)
  • Com a plúgin de Gosa ens estalviem la gestió d'usuaris, que serà amb Ldap
  • Cal basar-se en una aplicació ja existent realitzada en Access: Aplicació inventari Access (TODO, captures de pantalla)
  • Migració de dades de les bases de dades accés a MySQL. Com a mínim s'han de migrar les dades del departament d'informàtica i del manteniment

d'informàtica i s'ha de deixar documentar el procediment i/o en la mesura del possible automatitzar el procés de migració

Fonts de dades

  • Del Ldap del centre/Gosa
  • Usuaris:

Esquemes Ldap:

  • Definir un esquema que permeti indicar si un usuari té compte d'inventari. Cal ser una extensió dels usuaris ja existents
Requeriments extraordinàris
  • ACLs: utilitzant les ACL de Gosa i els Rols, definir permisos dels usuaris. Per exemple que no es puguin modificar les dades d'altres departaments.
Subprojectes
Crear l'instal·lador del projecte
  • Paquet Debian, instal·li plugin de Gosa
Disseny de l'esquema Ldap
  • Difícil treballar amb SQL a Gosa: les eines de llistes, filtres,etc estan pensades per a objectes Ldap
  • Cal definir nous esquemes per als objectes d'inventari
  • Objecte genèric amb dades generals d'inventari tant per a ordinadors com per a qualsevol altre objecte inventariable (asset)
  • Per als PCs tenir en compte els objectes ja existents

Que cal definir?:

  • Cal aplicar cert criteris estilístics
  • Afegim un prefix al nom: iebre
  • Els noms compostos es posen majúscules: iebreAssetNumber
  • Tu nombre de atributo debería ser bastante largo para ser razonablemente autodescriptivo, y puede ser compuesrta de letras a-z, números 0-9, y el caracter guión (dash). (El carácter inicial debe ser una letra.) Los espacios, subrayados, y carácteres especiales no están permitidos.
  • Els identificadors únics d'objecte. Tenim un prefix per a l'institut
  • Llista d'objectes
  • Decidir el nom de l'objecte
  • Llista d'atributs

Que cal fer?

Exemple

# cat /etc/ldap/schema/gosa/gosystem.schema
##
## gosystem.schema - Needed by the GONICUS Terminal concept
##

# Attributes
attributetype ( 1.3.6.1.4.1.10098.1.1.1.1 NAME 'gotoSyslogServer'
	DESC 'GOto - Gonicus Terminal Concept, value syslogServer.'
	EQUALITY caseIgnoreIA5Match
	SUBSTR caseIgnoreIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE)
	
attributetype ( 1.3.6.1.4.1.10098.1.1.1.2 NAME 'gotoNtpServer' 
	DESC 'GOto - Gonicus Terminal Concept, value ntpServer.'
	EQUALITY caseIgnoreIA5Match
	SUBSTR caseIgnoreIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26)
	
attributetype ( 1.3.6.1.4.1.10098.1.1.1.3 NAME 'gotoSwapServer'
	DESC 'GOto - Gonicus Terminal Concept, value swapServer.'
	EQUALITY caseIgnoreIA5Match
	SUBSTR caseIgnoreIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE)
	
attributetype ( 1.3.6.1.4.1.10098.1.1.1.4 NAME 'gotoLpdServer'
	DESC 'GOto - Gonicus Terminal Concept, value lpdServer.'
 	EQUALITY caseIgnoreIA5Match
	SUBSTR caseIgnoreIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE)
 	
attributetype ( 1.3.6.1.4.1.10098.1.1.1.5 NAME 'gotoFontPath' 
	DESC 'GOto - Gonicus Terminal Concept, value fontPath.'
	EQUALITY caseIgnoreIA5Match
	SUBSTR caseIgnoreIA5SubstringsMatch
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
	SINGLE-VALUE)

...	


# objectclass for Hardware definitions
objectclass (1.3.6.1.4.1.10098.1.2.1.3 NAME 'GOhard'
       DESC 'Gonicus Hardware definitions, objectclass (v2.6.1)' SUP top STRUCTURAL
       MUST ( cn )
       MAY ( ghGfxAdapter $ ghNetNic $ ghSoundAdapter $ ghIdeDev $ ghScsiDev $
             macAddress $ ghUsbSupport $ ghMemSize $ ghCpuType $ ghInventoryNumber $
             gotoSyslogServer $ gotoNtpServer $ gotoSwapServer $ gotoLpdServer $
             gotoFontPath $ gotoFilesystem $ gotoFloppyEnable $ gotoCdromEnable $
             gotoLpdEnable $ gotoScannerEnable $ gotoScannerClients $
             gotoRootPasswd $ gotoXdmcpServer $ gotoXMethod $ gotoSndModule $
             gotoLastUser $ gotoXMonitor $ gotoXHsync $ gotoXVsync $ gotoXResolution $
             gotoXColordepth $ gotoXMouseport $ gotoXMouseButtons $ gotoMode $ gotoXKbModel $
             gotoXKbLayout $ gotoXKbVariant $ gotoXDriver $ gotoXMouseType $ macAddress $
             gotoAutoFs $ gotoModules $ gotoAdaptPath $ gotoKernelParameters $ gotoBootKernel $
             gotoTerminalPath $ gotoLdapServer $ gotoScannerModel $ ipHostNumber $ l $
	      gotoSysStatus $ description $ gotoHardwareChecksum ) )

OIDs i Institut de l'Ebre:

Podeu veure el PEN assignat a:

http://www.iana.org/assignments/enterprise-numbers

Amb el número 37589:

37589
 Institut de l'Ebre
   Sergi Tur Badenas
     stur&iesebre.com

Per tant ens correspon el OID:

1.3.6.1.4.1.37589

On segons el document:

http://www.iana.org/assignments/enterprise-numbers

El prefix:

1.3.6.1.4.1.37589

o

iso.org.dod.internet.private.enterprise.37589

Correspon a:

SMI Network Management Private Enterprise Codes:
Prefix: iso.org.dod.internet.private.enterprise (1.3.6.1.4.1)
This file is http://www.iana.org/assignments/enterprise-numbers


Recursos

Plugin Gosa
  • Dissenyar formulari de
  • ACls de gosa, que poden fer els usuaris
  • Ligar amb OCS


Informes PDF
  • Etiquetes
  • Resta d'informes que hi ha al Accés
  • "Codis de barres de mòbils"

Documentació rellevant per al projecte

  • FPDF creació de fitxers PDF amb PHP

Recursos

  • Icones lliures per a Inventari
http://www.google.com/images?um=1&hl=ca&client=ubuntu&channel=fs&biw=1280&bih=766&tbm=isch&sa=1&q=inventory+free+icon&aq=f&aqi=&aql=&oq=

webfaltes

Alumnes:

  • Ester Almela: millores
  • Amado Domenech: millores
  • Roberto Luna Rodriguez
  • Eros Baixauli: Informes PDF, horaris
  • Pau Gomez: suport en la creació de l'instal·lador paquet Debian

L'objectiu és aplicar diverses millores a l'aplicatiu

Requeriments

  • Millorar la documentació
  • Integrar-la com a plugin a gosa
  • Crear un paquet Debian que instal·li l'aplicació

Subprojectes

Crear un instal·lador del producte

Alumnes:

  • Objectiu: crear un paquet Debian que permeti automatitzar la instal·lació i configuració inicial de l'aplicació
Integrar webfaltes com a plugin de gosa
  • Objectiu: Integrar l'aplicació a Gosa
  • El login es faria a Gosa i no pas directament a l'aplicació de faltes
  • Apareix un plugin extra a gosa. Crear icona/
  • L'aplicació s'ha de poder utilitzar de les dos formes: integrada a gosa o standalone
  • Crear instal·lador del plugin de gosa (paquet Debian)

Passar a pestanyes de Gosa les pestanyes de l'aplicació de faltes:

  • Passar llista
  • Tutoria
  • Administració
  • Informes
  • Tenir en compte les molletes de pa.
  • Rols a permisos (ACLs) de Gosa
Crear una demo del producte

Alumne/s:

  • Roberto Rodríguez Luna
  • Objectiu: Crear una màquina virtual amb una versió demo del projecte

Característiques:

  • Màquina Virtual amb Virtual Box
  • La màquina virtual ha de contenir tot el necessari per tal de poder provar l'aplicació el més ràpida i fàcilment possible.
  • Serveis instal·lats:
  • Sistema Operatiu Ubuntu Server
  • Servidor LAMP
  • Servidor LDAP
  • Aplicació webfaltes instal·lada i configurada. Disposar de comptes de professor de prova
  • Servidor Gosa per a la gestió d'usuaris
  • Base de dades Ldap: Dades inventades de professors i alumnes
  • Base de dades MySQL. Dades inventades de grups de classe i resta de dades de manteniment necessàries
  • Script per restaurar la màquina demo:
  • Un cop al dia s'ha de restaurar el servidor. Preparar un scripts de cron. Automatitzar el procés
  • Cal documentar tot el procediment. La documentació ha d'incloure:
  • Com s'ha creat la màquina
  • Com obtenir la màquina virtual
  • Com executar-la i provar-la
  • Com executar la màquina en un entorn de servidor. VBoheadles
  • Documentar com actualitzar la demo per a noves versions de l'aplicació webfaltes. Fer-ho amb subversion
  • Aportar una copia de seguretat de les bases de dades demo
  • Mysqldump de la base de dades SQL
  • Volcat ldif de la base de dades Ldap
Millores de l'aplicació

Horaris

  • Tipus d'horaris:
  • De grup
  • De profe
  • Crear un PDF amb l'horari a partir d'un format d'horari concret (XML)
  • Crear un HTML a partir del mateix format anterior?
  • Passar horaris a format Google Calendar o similar
  • Els professors han de poder consultar els horaris de qualsevol grup o qualsevol professors
  • Enllaços entre horari de profe i horari de grup i viceversa.

Personalitzacions d'usuari i llista de faltes:(Ester)

  • Els professors han de poder personalitzar les dades dels grups:
  • Permetre amagar alumnes d'un grup: El professor ha de poder amagar aquells alumne que l'interessi (no van al seu crèdit, falten sempre, etc)
  • Llistes d'alumnes al passar faltes:
  • Opció al costat de cada alumne: Amagar
  • Opció (checkbox): Mostrar/Amagar alumnes ocults per al professor
  • Mostrar els ocults amb un fons de línia diferents (gris desactivat)
  • Marcar un alumne com: per defecte falta. Aquest tipus d'alumne al entrar a passar falta es marcaran sols: (fer-ho amb Javascript)
  • Possibilitat d'enviar un correu a l'usuari/tutor. Simplement indica el compte de centre i obre l'aplicació d'enviar correu electrònic: Podem fer que obri el compte Google Apps de cada profe i prepari un correu amb destinació la persona
  • Enviar correu de grup: tindrem uns grups de google Apps per grup l'any vinent. enviar email a aquest grup
  • Checkbox que sigui: marcat tots com a falta
  • Permetre passar falta per varies hores al mateix temps.
  • Filtre: Un desplegable que permeti mostrar tots els grups del dia o filtrar per grups possibles.
  • Al llista de passar faltes per dia permetre marcar (checkbox) quines hores volem passar falta.
  • Condició: Les hores han de ser del mateix grup

Altres

  • Permetre més d'un professor per GRUP
  • Permetre més d'un tutor per GRUP
  • Millores generals:
  • Allà on apareix un alumne o professor --> Accés al seu perfil
  • Les fotos també siguin un enllaç al perfil
  • Allà on aparegui un grup: Pàgina d'informació del grup: mostrar la llista d'alumne, els diferents informes i llistes de classe relacionats, els horaris, el tutor...
  • Allà on aparegui una data: Anar a passar llista per aquella data per al professor que estar actiu en aquell moment

Administració:

  • Manteniment de trimestres/avaluacions
  • Un de general
  • Un d'específic per grup

Tutoritza

  • Llista de passar faltes per grup:
  • També mostrar-la als no tutors però només apareixen les hores amb les que té docència
  • Permetre marcar tot el dia com a falta
  • Permetre mostra més dies (fins a una setmana sencera)
  • Permetre donar de baixa lògica/amagar un alumne. Posar informació de com donar de baixa física.
Estadístiques:
  • Informe de grup on aparegui per a cada alumne els tants per cents de faltes per dia, període, més natural, avaluacions/trimestres i tot l'any

Informes i llistes

  • Canviar al nou logo del centre
  • Incloure foto del tutor als informes i també al passar llista del grup.
  • Informes per alumne
  • Desplegable seleccionar grup
  • Desplegable seleccionar alumne
  • Opció de cercar alumne
  • Faltes d'un dia concret
  • Faltes entre la data a i la data b
  • Faltes per mesos

Perfil d'alumnes (amado):

  • Accés al seu perfil
  • Llista de professors (enllaços al perfil) i correu de centre
  • Qui és el tutor (enllaços al perfil) i correu de centre
  • Accés a l'horari del grup
  • Accés als horaris dels professors del seu grup (i potser als de tots els professors del departament)

Informes:

  • Informes individuals alumne:
  • Faltes per dia/setmana/periode
  • Informe mensual--> Mesos naturals
  • Tan per cent de faltes per tipus

Extres:

  • Versió per a mòbils: Al menys la pàgina de passar faltes.
  • Versió per a tamagochis

TODO

FHS

  • Convertir l'aplicació a estàndard FHS. És a dir cada fitxer al seu lloc

Makefile

  • Cal fer-lo des de 0 i pujar-lo al subversion

Ester

  • Documentació pas a pas de la instal·lació manual

Amado

  • Fases de configuració usuari Ldap
  • Crear l'usuari. 3 opcions
  • Fer-ho amb ADS
  • Fer-ho amb Gosa
  • Fer-ho amb un ldif que podem obtenir dels anteriors exemples. Cal posar les ordres
  • Configuració de les ACL
  • Configuració del fitxer de connexió

Ldap_bind()

  • Estaria bé fer un pool de connexions, no pas obrir una connexió per a cada consulta Ldap

Millora de la documentació

Crear una pàgina que indiqui com fer la instal·lació pas a pas. Posar a:

Webfaltes#Instal.C2.B7laci.C3.B3_pas_a_pas_des_de_zero

Vegeu també

Enllaços externs