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é Webfaltes

Instal·lació

Requeriments

webfaltes és una aplicació LAMP i com a tal necessitarà:

  • Un servidor Linux. L'aplicació s'ha provat en servidors de la família Debian (Ubuntu) però hauria de funcionar també en altres servidor. Podeu provar amb Ubuntu Server
  • Un servidor web Apache
  • El servidor web ha de tenir el mòdul de PHP
  • La base de dades provada és MySQL

En sistemes Debian, com per exemple una Ubuntu Server és pot instal·lar un servidor LAMP amb tasksel:

$ sudo tasksel install lamp-server

L'aplicació també necessita les llibreries:

TODO

  • Codi font disponible amb subversion
  • Crear una etiqueta amb la versió actual -> 0.1
  • Sempre existeixi una versió estable --> Etiqueta
  • Crear un "binari" tar.gz a partir de la versió estable
  • Automatització de tasques --> Ant (XML)


Instal·lació manual

A l'hora d'instal·lar webfaltes podeu instal·lar la última versió estable (recomanada en entorns de producció) o la última versió del codi font amb la que s'està treballant (només per a desenvolupadors o persones que estiguin provant l'aplicació).

Paràmetres:

name:           webfaltes
install_folder: /usr/share/webfaltes

Repositori subversion. Codi font

El codi font de l'aplicació està disponible al repositori Subversion:

https://svn.projectes.lafarga.cat/svn/webfaltes/

Aquest codi es troba allotjat a la web de projectes de la farga. Podeu obtenir els detalls de com accedir-hi a:

https://projectes.lafarga.cat/projects/webfaltes/scm

Per als impacients...:

$ sudo apt-get install subversion
$ svn co https://svn.projectes.lafarga.cat/svn/webfaltes

La versió més nova de l'aplicació la trobareu a:

https://svn.projectes.lafarga.cat/svn/webfaltes/trunk

A etiquetes sempre hi ha una etiqueta estable:

https://svn.projectes.lafarga.cat/svn/webfaltes/tags/estable

Que és la última versió utilitzada per a crear els fitxers tar.gz

Última versió estable

La trobareu al tag (etiqueta) stable:

https://svn.projectes.lafarga.cat/svn/webfaltes/tags/stable/

Instal·lació de la base de dades

Primer heu d'obtenir el fitxer SQL amb l'esquema de la base de dades. El podeu descarregar de:

http://192.168.2.11/~sergi/webfaltes/webfaltes_schema.sql

Les següents ordres us mostren el pas a pas per línia d'ordres:

$ wget http://192.168.2.11/~sergi/webfaltes/webfaltes_schema.sql
$ sudo mysql -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 78
Server version: 5.1.37-1ubuntu5 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE DATABASE webfaltes;
Query OK, 1 row affected (0,00 sec)

mysql> exit

$ sudo mysql -p < webfaltes_schema.sql 
[sudo] password for pepe: 
Enter password:  
Bye
$ sudo mysql -p webfaltes < webfaltes_schema.sql 
Enter password: 

Recursos:

Instal·lació d'una base de dades d'exemple

$ svn co https://webfaltes.svn.sourceforge.net/svnroot/webfaltes/trunk/example_database/

Configuració de la connexió a la base de dades (adodb)

A la carpeta connexió de webfaltes:

$ cd /home/usuari/workspaces/php/webfaltes/connexio

Copieu el fitxer d'exemple:

$ cp webfaltes_con.php.example webfaltes_con.php

Ara l'editeu i modifique els camps:

$MM_ConTut_HOSTNAME
$MM_ConTut_DBTYPE  
$MM_ConTut_DATABASE
$MM_ConTut_USERNAME
$MM_ConTut_PASSWORD

On

$MM_ConTut_HOSTNAME = "localhost"; // Nom de la màquina o IP servidor
$MM_ConTut_DBTYPE   = "mysql";     // Tipus de base de dades

El nom de la base de dades és webfaltes:

$MM_ConTut_DATABASE = "webfaltes";   // Nom de la base de dades

I ara cal especificar l'usuari i la paraula de pas. El podeu crear amb:

$ sudo mysql -p
> CREATE USER 'usuari'@'localhost' IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON webfaltes.* TO user'@'localhost' WITH GRANT OPTION;
> FLUSH PRIVILEGES;
> exit

I poseu l'usuari i paraula de pas escollides a:

$MM_ConTut_USERNAME = "usuari";            // Usuari per accedir a la BD
$MM_ConTut_PASSWORD = "paraula_de_pas";    // Contrasenya per accés a la BD

Configuració del servidor web Apache

$ sudo joe /etc/apache2/sites-available/webfaltes

Afegiu:

Alias /webfaltes /home/usuari/workspaces/php/webfaltes

NOTA: Usuari s'ha de modificar pel nom del vostre usuari

$ sudo a2ensite webfaltes
$ sudo /etc/init.d/apache2 reload

Configuració dades fixes

$ wget http://192.168.2.11/~sergi/webfaltes/dades_base.sql
$ sudo mysql -p webfaltes < dades_base.sql

Configuració d'smarty

Consulteu:

Smarty#Preparant_una_aplicaci.C3.B3_per_tal_d.27utilitzar_Smarty

Caldrà ignorar aquest fitxers per a subversion. Consulteu:

Subversion#Excloure_un_directori

Projecte

Projectes de millora

Documentació

Full d'estils CSS. Presentació amb plantilles

Enviament de missatges SMS

Informes

  • Opció de mostrar en PDF
  • Afegir informe mensual per als tutors

Mòdul de Gestió

Estadístiques
  • nº d'alumnes
  • nº de professors
  • nº de grups
  • nº de lliçons
  • nº d'incidències
  • etc...
Gestió d'alumnes

Que cal implementar:

  • Menú de gestió d'alumnes:
  • Alta d'un alumne
  • Modificació de dades d'un alumne:
  • Formulari d'assignació de grups/classes a l'alumne
  • Baixa/Eliminació de l'alumne. Cal diferència entre eliminar de la base de dades i desactivar l'alumne
  • Carrega massiva d'alumnes a partir de fitxer de text (CSV)
  • Desactivació massiva d'alumnes (per grup). Serveis per desactiva els grups de 2n batxillerat.
Gestió de professors

Que cal implementar:

  • Menú de gestió de professors:
  • Alta d'un professor
  • Modificació de dades d'un professor:
  • Formulari d'assignació de grups/classes al professor
  • Baixa/Eliminació de professor. Cal diferència entre eliminar de la base de dades i desactivar el professor
  • Desactivació massiva de profes (checkbox). Serveis per desactiva els grups de 2n batxillerat.
  • Carrega massiva de profes a partir de fitxer de text (CSV)

Interfície d'accés per als alumnes

Que cal implementar:

  • Un pàgina de login dedicada als alumnes. Reutilització de Codi
  • Informes:
Incidències dels últims x dies
Total d'incicències (periode acadèmic)
Total d'incicències per trimestres
  • Incidències de l'alumne entre una data inicial i una data final
  • Guardar les paraules de pas xifrades a la base de dades
  • Interfície de perfil de l'usuari
  • Ha de permetre canviar la paraula de pas si així ho indica una variable de configuració global de l'aplicatiu
  • Canviar dades personals (excepte si la configuració global no ho permet):
  • Adreça postal
  • Email
  • Telefon mòbil
Consulta dels tutors assignats

Interfície d'accés per als pares

Que cal implementar:

  • Un pàgina de login dedicada als alumnes. Reutilització de Codi
  • Informes:
Incidències dels últims x dies
Total d'incidències (periode acadèmic)
Total d'incidències per trimestres
  • Incidències de l'alumne entre una data inicial i una data final
  • Guardar les paraules de pas xifrades a la base de dades
  • Interfície de perfil del pare/mare/tutor/a
  • Ha de permetre canviar la paraula de pas si així ho indica una variable de configuració global de l'aplicatiu
  • Canviar dades personals (excepte si la configuració global no ho permet):
  • Adreça postal. Una opció que sigui la mateixa que l'alumne
  • Email
  • Telefon mòbil
Consulta dels tutors assignats


Idees:

  • Instal·lador? Paquet Debian
    • Configurador web de la base de dades i altres aspectes

Qüestions a tenir en compte

Intervals horaris

Tots són d'una hora. A les 8:30 no hi ha una 1:30?

Si la classe és de 2 hores es passa falta 2 cops?

Fitxer: /home/web/htdocs/webfaltes/bin/webfaltes_scripts/dades/dades_inicials/interval_horari.txt

Scripts d'importació:

Ull paths absoluts!:

/home/web/htdocs/webfaltes/bin/webfaltes_scripts/dades/dades_inicials/interval_horari.txt

Errors en la importació inicial

A la taula profes faltava el camp:

es_coordinador TINYNT(1) not null amb valor per defecte 0

També faltava afegir els camps:

cognom1_professor

cognom1_professor nom_professor i codi_professor

A la taula incidencia

Millores

Buscar els texts on hi ha les dates fixes i canviar-les per uns paràmetres:

//comprovem que aquesta data sigui del curs actual (entre 1-9-2008 i 24-6-2009)

       if ($int_data < strtotime('15-09-2008') or $int_data > strtotime('24-06-2009')){


Pendent

  • Establir els tutors a la taula grup!
  • adodb paquet Ubuntu. Hi ha paquet per OpenSuse? Com utilitzar llibreria dinàmica... Utilitzar versió adodb 5.10 ara és una 4.97...

Desenvolupadors

Creació dels binaris per a distribuir

Formats:

Tots dos tenen els mateixos continguts.

Nom del fitxer:

nom_aplicacio_versio.extensio

On els valors estan parametritzats amb propietats d'ant:

  • nom_aplicacio: És el nom de l'aplicació. Ara mateix webfaltes
  • versio: Paràmetre amb el número de versió
  • extensió: Els formats comentats anteriorment

Exemples:

webfaltes_0.28.tar.gz

o

webfaltes_0.28.tar.gz

Que ha d'incloure el fitxer:

Sourceforges

Templates

Codi Carles Anyó:

 /*
   This code is part of webfaltes (http://sourceforge.net/projects/webfaltes/)
   Copyright (C) 2008-2009 Carles Anyó

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

Nou codi:

/*
   This code is part of webfaltes (http://sourceforge.net/projects/webfaltes/)
   Copyright (C) 2010 Sergi Tur Badenas

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

Codi compartit amb alumnes:

/*
   This code is part of webfaltes (http://sourceforge.net/projects/webfaltes/)
   Copyright (C) 2010 Sergi Tur Badenas, Nom Alumne


   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/


Troubleshooting

could not load plugin file 'block.t.php'

Fatal error: Smarty error: [in identifica.tpl line 23]: [plugin] could not load plugin file 'block.t.php' (core.load_plugins.php, line 118) 
in /usr/share/php/smarty/Smarty.class.php on line 1092

Passa al utilitzar /usr/share/php/smarty amb la versió dels repositoris d'Ubuntu.

Vegeu també