Kimkëlen es un sistema de gestión integrada de colegios secundarios realizado por el CeSPI perteneciente a la Universidad Nacional de La Plata UNLP. El sistema permite personalización a través de comportamientos o behaviors; cada comportamiento permite definir formas de evaluación según lo resuelva el colegio, seguimiento de inasistencias, sanciones disciplinarias, impresión de boletines, generación de reportes, etcétera.
Presentamos un sitio de demo donde se podrá probar la funcionalidad del sistema. Para acceder ingresa a Kimkelen Demo con usuado "admin" y contraseña "admin". Los datos que se visualizan son ficticios y la base de datos se rastaurara periódicamente.
La instalación de Kimkëlen requiere de la configuración de un Servidor de aplicaciones Web, como puede ser Apache, configurado correctamente para ejecutar el lenguaje de programación PHP, Server así como de un servidor de Base de Datos, como MySQL. Se recomienda la instalación del producto por parte de un usuario con conocimientos en los componenentes antes enunciados.
Para usuarios que utilizan el sistema operativo Windows se recomienda la instalación de Wamp o XAMP que incluye los componentes enumerados y permite una rápida configuración de los mismos. Tenga a bien realizar la instalación y configuración como se indica en los mencionados productos.
Finalizada la instalación, como se indica en los pasos siguientes, el acceso al sistema deberá realizarse por medio de un navegador de internet, como Chrome, Mozilla Firefox o Internet Explorer.
Antes de comenzar la configuración del sistema se deberá descargar el archivo comprimido desde Github y descomprimirlo en el directorio de aplicaciones del Servidor Web seleccionado.
La configuración de la base de datos se realiza por medio de los archivos
databases.yml
y propel.ini
. Se proveen estos archivos a modo de ejemplo en
el directorio config/
cp config/databases.yml-default config/databases.yml
cp config/propel.ini-default config/propel.ini
Edite estos archivos según la configuración de su entorno. Debe espesificar el dsn (nombre de la base de datos, host, usuario de la BBDD y contraseña de la BBDD)
....
all:
propel:
class: sfPropelDatabase
param:
classname: PropelPDO
dsn: mysql:dbname=kimkelen;host=localhost
username: root
password:
encoding: utf8
persistent: true
pooling: true
propel.targetPackage = lib.model
propel.packageObjectModel = true
propel.project = alumnos
propel.database = mysql
propel.database.driver = mysql
propel.database.url = mysql:dbname=kimkelen;host=localhost
propel.database.creole.url = ${propel.database.url}
propel.database.user = root
propel.database.password =
propel.database.encoding = utf8
...
Es importante destacar que la base de datos debe crearla usted manualmente, no es creada por ninguno de los pasos siguientes
php symfony kimkelen:flavor <COMPORTAMIENTO>
php symfony propel:build-all-load
php symfony plugin:publish
php symfony project:permissions
En el caso de que al ejecutar el comando "php symfony propel:build-all-load" se produzca algún error, reemplazar la ejecución del misimo por la ejecución de los siguientes comandos
php symfony propel:build-model
php symfony propel:build-forms
php symfony propel:build-filters
php symfony propel:build-sql
php symfony propel:insert-sql
En el caso de que se desee actualizar la versión, no se deben ejecutar todos los comandos anteriores dado que algunos rearman la base de datos y se perderia información. Entonces, cuando ya se cuenta con Kimkelen y simplemente se actualiza a una nueva versión, se deberán ejecutar solo los siguientes comandos sobre nuevamente:
php symfony kimkelen:flavor <COMPORTAMIENTO>
php symfony plugin:publish
php symfony project:permissions
php symfony propel:build-model
php symfony propel:build-forms
php symfony propel:build-filters
Por defecto, los comandos anteriores crean la base de datos pero no agregan los datos por defectos con lo que cuenta el sistema. En caso de queres crearlos, ejecutar el sieguiente comando:
php symfony propel:data-load
Importante Este comando borra TODOS los datos de la base. No debe ejecutarse una vez que el sistema se encuentre en uso para evitar la perdida de información
Cada colegio tiene su propio esquema de enseñanza siguiendo reglas diferentes. Kimelen provee una forma desacoplada de programar esta lógica en lo que llamamos sabores o comportamientos
El primer comando de la lista anterior setea el comportamiento del colegio.
Considere que los comportamientos disponibles son los que se encuentran bajo el
directorio flavors/
Un ejemplo entonces, sería:
php symfony kimkelen:flavor demo
El sistema se instala con algunos datos cargados a decir:
-
Usuarios: usuarios del sistema
- Administrador:
username:
adminpassword:
@dm1n1strad0r
- Preceptor:
username:
preceptorpassword:
@pr3c3pt0r
- Profesor:
username:
profesorpassword:
@pr0f3s0r
- Administrador:
-
Año lectivo: se creará un año lectivo en estado vigente
-
Plan de estudios: No se crean planes de estudio Esto debe crearlo cada colegio. Queremos permitir que cada colegio done su plan de estudios, así lo pueden compartir con otros colegios.
Recomendamos darle una oportunidad a este excelente producto. Leer más aqui
Editar el Gemfile agregando
source "https://rubygems.org"
gem "capifony"
Correr el comando bundle update
en la raiz del proyecto
Luego capificar la aplicación:
cd ROOT_KIMKELEN
capifony .
Editar el archivo config/deploy.rb
set :flavor, "demo"
set :ssh_options, { :forward_agent => true }
set :application, "kimekelen"
set :user, application
set :domain, "desarrollo.cespi.unlp.edu.ar"
set :deploy_to, "/opt/applications/#{application}"
set :repository, "https://github.com/Desarrollo-CeSPI/kimkelen.git"
set :scm, :git
role :web, domain # Your HTTP server, Apache/etc
role :app, domain # This may be the same as your `Web` server
role :db, domain, :primary => true # This is where symfony migrations will run
set :deploy_via, :remote_cache
set :use_sudo, false
set :keep_releases, 3
set :symfony_version, "1.2.13"
set :use_orm, false
set :shared_files, %w(config/databases.yml config/app.yml)
after "deploy:finalize_update" do
symfony.propel.setup
# Build classes
run "#{try_sudo} #{php_bin} #{latest_release}/symfony propel:build-model"
run "#{try_sudo} #{php_bin} #{latest_release}/symfony propel:build-forms"
run "#{try_sudo} #{php_bin} #{latest_release}/symfony propel:build-filters"
# Emulate
run "#{try_sudo} #{php_bin} #{latest_release}/symfony kimkelen:flavor #{flavor} "
symfony.cc
symfony.plugin.publish_assets
symfony.project.permissions
end
cap deploy:setup
cap deploy
Resta conectarse y correr el comando:
php symfony kimkelen:flavor <comportamiento>
Los comportamientos se definen en el directorio flavors
. El comportamiento por
defecto sería demo
- El
app.yml
queda vacío por lo que hay que copiarlo manualmente. Deberíamos hacer que en el primer deploy se copie