Webfaltes
De SergiTurWiki
Consulteu també:
https://sourceforge.net/projects/webfaltes
Contingut
|
Instal·lació
Requeriments
webfaltes és una aplicació LAMP i com a tal necessitarà:
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
Cal donar permisos a la carpeta
smarty/templates_c
$ sudo chmod 777 /home/usuari/worspaces/php/webfaltes/smarty/templates_c
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
- 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
- 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.
