Código fuente de Learn Experiment

22 views
Skip to first unread message

Jaime García Marsá

unread,
Dec 23, 2011, 4:00:40 PM12/23/11
to learn-ex...@googlegroups.com
Con un tremendo retraso aquí llega el código fuente de Learn Experiment. Antes de nada recordar la página de subversion del proyecto:  http://sourceforge.net/projects/learnexperiment/

Para descargar el código (del repositorio de sourceforge)
1/ Crear una carpeta (ej:learnexperiment) en la carpeta web del servidor que tengáis instalado (yo recomiendo WAMP: http://www.wampserver.com/en/)
2/ Decargar e instalar Tortoise (http://tortoisesvn.net/downloads.html) u otro gestor similar de SVN
3/ Al instalar Tortoise aparecen nuevas opciones en el menú contextual de windows. Pulsamos con el botón derecho en la carpeta que hemos creado y escogemos la opción "SVN Checkout...". Nos pedirá la URL del repositorio, que en nuestro caso es https://learnexperiment.svn.sourceforge.net/svnroot/learnexperiment
4/ Pulsamos "Ok" y si todo va bien comenzará a descargar
5/ Con el servidor en marcha ejecutamos la página en el navegador (http://127.0.0.1/learnexperiment/ o el nombre de carpeta que hayamos usado)
6/ Rellenamos los campos para la base de datos (los que vienen por defecto funcionan con wamp sin problemas) y ¡Ya esta! La aplicación debería estar funcionando.

Seguro que se me olvida algo (como activar en apache el módulo de redirección). Ferran, ya que supongo que seas el primero, avísame de cualquier problema que encuentres.

Para saber más sobre Tortoise (ej: subir y descargar cambios: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=tortoisesvn)

Ferran Quer i Guerrero

unread,
Dec 26, 2011, 6:52:16 PM12/26/11
to learn-ex...@googlegroups.com
Bien, he conseguido restablecer la contraseña de mysql y en teoría todo debería funcionar. He instalado rapidsvn en ubuntu, uno que he encontrado y que por ahora ya me ha copiado bien los archivos, a ver si no da problemas para manejarlos.

Como desde el navegador no obtengo respuesta sean cuales sean los parámetros, he probado de ejecutar index.php por consola. Aparte de unos warnings por language, que parece que no sean importantes, me da éste:
PHP Warning:  require_once(app_config.php): failed to open stream: No such file or directory in /var/www/lnex/lib/general/setup_config.php on line 2

y a continuación:

PHP Fatal error:  require_once(): Failed opening required 'app_config.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/lnex/lib/general/setup_config.php on line 2

Existe en localhost/, pero no en localhost/lib/general/

Copiando app_config.php para que no se queje, en vez de lo anterior me devuelve
PHP Fatal error:  Uncaught exception 'Exception' with message 'There is no "setup_database_server" value in interface' in /var/www/lnex/lib/general/languages.php:5
Stack trace:
#0 /var/www/lnex/lib/general/app_config.php(4): getInterface('setup_database_...')
#1 /var/www/lnex/lib/general/setup_config.php(2): require_once('/var/www/lnex/l...')
#2 /var/www/lnex/index.php(17): require_once('/var/www/lnex/l...')
#3 {main}
  thrown in /var/www/lnex/lib/general/languages.php on line 5

Por si a caso, copio los warnings que sale antes de los ya copiados en los dos casos:
PHP Warning:  scandir(language/): failed to open dir: No such file or directory in /var/www/lnex/lib/general/languages.php on line 36
PHP Warning:  scandir(): (errno 2): No such file or directory in /var/www/lnex/lib/general/languages.php on line 36
PHP Warning:  Invalid argument supplied for foreach() in /var/www/lnex/lib/general/languages.php on line 36

No les he hecho caso porque parece que quieran cambiar el idioma, aunque si hay uno por defecto no debería ser un problema, supongo...

Salud,
Ferran

2011/12/23 Jaime García Marsá <ja...@legendarya.com>

Jaime García Marsá

unread,
Dec 26, 2011, 7:11:56 PM12/26/11
to learn-ex...@googlegroups.com
Hola Ferran, no tiene sentido ejecutarlo por consola, debes hacerlo a través del servidor, mediante el navegador. Son entornos completamente distintos.

Por ejemplo el error que da por no encontrar "app_config" no tiene sentido en apache pues admite dos tipos de rutas: la relativa a la dirección url (y esta sería correcta y la encontraría), además de la relativa al  fichero en el que se ejecuta la instrucción.

Intenta ejecutar un simple html en el servidor, primero en una carpeta cualquiera y luego en la de learnexperiment. Si te da problemas es cosa de como tienes configurado el servidor. Si no, el problema es de Learnexperiment (quizás por una configuración distinta con PHP) y ya lo miramos con más calma

2011/12/27 Ferran Quer i Guerrero <ferra...@gmail.com>

Ferran Quer i Guerrero

unread,
Dec 26, 2011, 7:31:08 PM12/26/11
to learn-ex...@googlegroups.com
Otra cosa más que aprendo.

Desde el navegador veo /index.php , la página de configuración. Pero sean cuales sean los parámetros que ponga, la página que me devuelve está en blanco y la consola del navegador me avisa de un internal error. Qué puedo hacer para rastrearlo?

El apache creo que funciona bien, el hecho de que el navegador me muestre una página en localhost en vez de "no encontrado" ya es una prueba de que funciona, ¿verdad?

Saludos,
Ferran

2011/12/27 Jaime García Marsá <ja...@legendarya.com>

Jaime García Marsá

unread,
Dec 27, 2011, 5:15:19 PM12/27/11
to learn-ex...@googlegroups.com
Disculpa que no respondiese antes.

Cuando la página sale en blanco suele ser por algún error que no se muestra por la configuración de PHP. Puedes verlo en los lods de apache pero lo mejor es que cambies la configuración del servidor. Se trata de la directiva "error_reporting" en php.ini. COmprueba lo que tienes puesto, yo tengo:

error_reporting = E_ALL & ~E_NOTICE

Si lo cambias y reinicias el servidor puede que ahora veas los errores que te da. En caso contrario tenremos que hacer algo de "debug" para encontrar donde te está dando el error. Ya te lo comento si te falla esto.

Un saludo:

Jaime

Ferran Quer i Guerrero

unread,
Dec 28, 2011, 8:20:11 PM12/28/11
to learn-ex...@googlegroups.com
Hola Jaime,

La primera vez que intentamos configurarlo ya cambié esto... Y el resultado ahora me acuerdo de que fue el mismo. Ahora mismo tenía puesto E_ALL & ~E_DEPRECATED
pero lo he cambiado a E_ALL | E_STRICT por si hay alguna sutileza. Continuo viendo la página en blanco.

Hay algún modo bonito de hacer debug, en php? Otro que no sea printar todos los valores de las variables manualmente, digo. Mysql me funciona, tengo acceso a la consola "mysql> ..." con un usuario "root". No sé si puede afectar, pero para salir de dudas.

Jaime García Marsá

unread,
Dec 30, 2011, 6:29:27 AM12/30/11
to learn-ex...@googlegroups.com
Hola Ferran, intentaré responderte más rápido la próxima vez (no es que me lleve tanto tiempo)

No hay debugger en PHP en si, pero hay entornos que lo incluyen (aunque no los he probado):  http://www.php.net/manual/en/debugger-about.php 

Para el depurado "tradicional" que hago yo te envío un fichero con "echos" y "print_r" para ver que salida da. Sería para sustituir lib/general/setup_config.php y probar a ejecutar de nuevo.

2011/12/29 Ferran Quer i Guerrero <ferra...@gmail.com>
setup_config.php

Ferran Quer i Guerrero

unread,
Dec 30, 2011, 1:14:17 PM12/30/11
to learn-ex...@googlegroups.com
Buenas Jaime,
Entiendo que si todo funcionase tendría que printarse $_POST y después 12345678 separados por br.
Me quedo en el primer paso:
print_r($_POST);
echo "1<br/>";
$link=@mysql_connect(getParam('db_server'),getParam('db_user'),getParam('db_password')) or formError('setup_error_connect');
echo "2<br/>";

Lo que me aparece:
Array ( [db_server] => 127.0.0.1 [db_user] => root [db_password] => xxxx [db_database] => learnexperiment [forvo_api] => [facebook_api] => [facebook_secret] => ) 1

Lo raro es que no me aparezca el error, teniendo apache configurado para que lo haga. Además, si me invento el nombre de usuario de la base de datos o pongo mal la contraseña, como si no la pongo, el resultado es el mismo (printando las variables introducidas, claro). Es decir, que le da igual qué usuario le ponga a la base de datos.

He comprobado que funcione bien mysql, con el siguiente comando:
 mysql -u root -p

tengo acceso a la consola, y sólo con "root" y la contraseña correcta.
O bien no está programado para casos más generales que tu sistema, cosa que dudo, o bien no tengo bien "conectados" mysql y php. Pero no sé qué buscar exactamente.

Saludos!
Ferran


2011/12/30 Jaime García Marsá <ja...@legendarya.com>

Jaime García Marsá

unread,
Dec 30, 2011, 1:59:29 PM12/30/11
to learn-ex...@googlegroups.com
"formError" es una función mía en lib/general/functions. Puede que esta esté fallando, te envío el fichero de setup_config reemplazando la función con un "or die('No pudo  conectarse: ' . mysql_error())", que es estandar.

Si el usuario y la contraseña están bien puede que lo que falle sea el host de la base de datos. Puede que la ip local o el puerto de la base de datos sean distintos. De todas maneras espera primero a ver el error antes de comprobar el puerto, puede que no sea esto.

Para comprobar el puerto y comprobar que son el mismo
mysqli.default_port = 3306 (en php.ini, de php)
port = 3306 (en my.ini, de mysql)

En cualquier caso hay otro error, y es que te salga la pantalla en blanco. Aunque se encuentre un error en mi código debería mostrarlo, y no quedar en blanco. Volveré sobre esto más tarde.

2011/12/30 Ferran Quer i Guerrero <ferra...@gmail.com>
setup_config.php

Ferran Quer i Guerrero

unread,
Jan 2, 2012, 10:48:05 AM1/2/12
to learn-ex...@googlegroups.com
¡Buenos días y feliz año nuevo Jaime!

Estuve intentando lo que decías pero no conseguí resultados. Ahora mismo no estoy en el portátil, donde lo tengo todo, pero te hago un resumen de lo que probé.

El fichero equivalente a my.ini en linux es /etc/my.cnf , como encontré aquí. En él tenía puesto el puerto 3306

En php.ini  no tenía nada en mysqli.default_port, y puse 3306. No sé de dónde leería el puerto por defecto, porque había unas cuantas posibilidades, pero imponiéndolo aquí debería imperar sobre cualquier otra opción.

Sobre la pantalla en blanco, probé de poner una línea que fuera directamente

die('No pudo  conectarse: ' . mysql_error())

pero no me printaba nada en la pantalla, simplemente dejaba la ejecución. Tendré que revisar la configuración, lo primero que haré será comprobar que estoy editando el php.ini que dice phpinfo() y qué otras podrían estar interfiriendo. Veré también si los errores que no se muestran son todos o no.

Iré haciendo por las tardes que no estudie, porque desde el 9 hasta el 24 estoy de exámenes finales y no puedo dedicarle más. Alguna otra idea?

Saludos,

Jaime García Marsá

unread,
Jan 2, 2012, 11:03:50 AM1/2/12
to learn-ex...@googlegroups.com
Por si acaso no quedaba claro, la idea era sustituir:

$link=@mysql_connect(getParam('db_server'),getParam('db_user'),getParam('db_password')) or formError('setup_error_connect');

por:

$link=@mysql_connect(getParam('db_server'),getParam('db_user'),getParam('db_password')) or die('No pudo  conectarse: ' . mysql_error());

No me queda claro si es esto lo que has hecho. Por si acaso te reenvío el archivo modificado.

Fuera de esto lo único que se me ocurre es que hagas un ejemplo sencillo de conexión a la base de datos como prueba. Algo como: http://es2.php.net/manual/es/function.mysql-connect.php (sustituyendo el nombre de usuario y contraseña):

<?php
$link 
=  mysql_connect('localhost''mysql_user''mysql_password');
if (!
$link) {
    die(
'No pudo conectarse: ' mysql_error());
}
echo 
'Conectado  satisfactoriamente';
mysql_close($link);
?>

Si esto va, probamos desde aquí. Si falla, será problema de conexión,


2012/1/2 Ferran Quer i Guerrero <ferra...@gmail.com>
setup_config.php

Ferran Quer i Guerrero

unread,
Jan 2, 2012, 1:34:54 PM1/2/12
to learn-ex...@googlegroups.com
Probaré la conexión en casa. Había entendido lo que tenía que sustituir, pero viendo que obtenía el mismo resultado, probé con lanzar el error sí o sí, observando el mismo resultado, por lo que seguramente, el error ya se estaba lanzando, sólo que no muestra nada.

Cuando llegue a casa pruebo de hacer el link.

2012/1/2 Jaime García Marsá <ja...@legendarya.com>

Ferran Quer i Guerrero

unread,
Jan 2, 2012, 5:30:58 PM1/2/12
to learn-ex...@googlegroups.com
Ya lo tengo!
Me faltaba el paquete php5-mysql por instalar por una parte, y por otra, en php.ini activar la opción display_errors. Ahora ya me da los mismos errores que en consola si hago mal una conexión, voy a ver si instala bien todo learnexperiment ^^

Saludos,
Ferran

Ferran Quer i Guerrero

unread,
Jan 18, 2012, 7:52:58 AM1/18/12
to learn-ex...@googlegroups.com
No pensaba contestar hasta que no hiciera más progresos, pero como me estoy alargando te digo cómo me quedé

Conseguí instalar bien, y la base de datos está creada, parece. Me instalé el phpmyadmin pero lo toqué muy poco. Tengo un pequeño problema: cuando voy a localhost, me vuelve a mostrar la hoja de instalación.

Jaime García Marsá

unread,
Jan 19, 2012, 5:14:02 AM1/19/12
to learn-ex...@googlegroups.com
Hola Ferran, si te vuelve a aparecer lo de instalación es posible que no cree el archivo de configuración. Puede ser un tema de permisos en linux (en windows no me da problema pero en el servidor, que es unix, pongo toda la carpeta a 777). Te adjunto el archivo que tengo yo. Debería crearte uno similar en la raíz, junto al index.php. Si no es así puedes probar con este cambiándole los datos.

Tengo que hacer otras gestiones ahora mismo, pero iré respondiendo el resto de temas a lo largo de la mañana.

Por lo demás espero ir cogiendo ritmo en Learnexperiment poco a poco, así que vete enviando los cambios que veas necesario.

2012/1/18 Ferran Quer i Guerrero <ferra...@gmail.com>
config.php

Ferran Quer i Guerrero

unread,
Feb 27, 2012, 5:11:06 PM2/27/12
to learn-ex...@googlegroups.com
Saludos,

Bien, después de pelearme con los permisos de carpeta y grupos de usuario, me he dado cuenta de que la carpeta de instalación no era del grupo www-data. Ahora ya me dejaba crear el fichero (el cual había descubierto que no se creaba por "permission denied"), pero le he dado a actualizar al svn y ahora me lanza otro error:

Fatal error: no existe el archivo o directorio "application/lnex" in /var/www/lnex/index.php on line 55

Tengo todas las carpetas dentro de /var/www/lnex , por si es de ayuda. Durante la configuració tendría que haber puessto localhost/lnex en vez de localhost, como carpeta de instalación?
Lo probaría ahora, pero tengo muchísimo sueño. Si es sencillo no pierdas el tiempo en ello, me pongo mañana con ello.

Salud,
Ferran


2012/1/19 Jaime García Marsá <ja...@legendarya.com>

Jaime García Marsá

unread,
Feb 27, 2012, 7:22:52 PM2/27/12
to learn-ex...@googlegroups.com
Respondiendo rápidamente: se por donde van los tiros, aunque no se ahora mismo la solución. Creo que si en vez de entrar con localhost entras con 127.0.0.1 se soluciona el problema, pero también se puede resolver en el código.

Es algo que interesa resolverlo bien para que el próximo que descargue la aplicación no se lo encuentre. Por cierto, vete apuntando si puedes todas estas dudas y cuestiones que te surgen.

Un saludo:

Jaime

2012/2/27 Ferran Quer i Guerrero <ferra...@gmail.com>

Jaime García Marsá

unread,
Feb 28, 2012, 5:45:28 AM2/28/12
to learn-ex...@googlegroups.com
Hola Ferran, te comento un poco más el problema para ver como lo resolvemos.

El caso es que la dirección recibida se usa para saber que script ejecutar. Así si esta fuera "learnexpermient.com/aprender" se ejecutaría "application/aprender", y lo mismo sucedería si la dirección fuese "127.0.0.1/ learnexpermient/aprender".

Al servidor me llega una cadena de texto con la ruta url a la que se accede, del tipo "dir1/dir2/dir3/...". La cuestión es que se dan dos casos distintos. Cuando el sitio tiene dominio propio, el primer fragmento de la url ya es una página del sitio (ej: "aprender"). Sin embargo, cuando probamos en local, o en el servidor sin dominio propio, el primer fragmento es la carpeta en la que está metida la aplicación ("learnexperiment" en mi caso o "lnex" en el tuyo)

Para diferenciar ambos casos tengo ahora mismo el siguiente código:


if( $_SERVER['SERVER_NAME']=='127.0.0.1') $segment_pos=2;
else $segment_pos=1;


Obviamente con cambiar el 127.0.0.1 por "localhost" bastaría para que funcionase. Pero si queremos buscar una solución más a largo plazo se podría hacer que se guardase en configuración este dato.

Dicho de otra manera, dime que prefieres: ¿Lo soluciono ahora mismo rápidamente de manera que te funcione ya, o busco algo un poco más rebuscado pero que de menos lata en el futuro? También puede que se te ocurra una alternativa mejor a ti. Avísame con lo que sea.

Un saludo:

Jaime

Ferran Quer i Guerrero

unread,
Mar 2, 2012, 7:08:50 PM3/2/12
to learn-ex...@googlegroups.com
Buenas Jaime
Después de cambiar en config.php a ip numérica, parece que tengo un problema con las tablas. Entiendo que con el SVN no estoy actualizando la base de datos y por lo tanto no existe el campo nuevo como recibir_email_foro

Fatal error: Uncaught exception 'FieldNotExistException' with message 'Field "recibir_email_foro" do not exists in table "usuario"' in /var/www/lnex/lib/dao/persistent.php:76
Stack trace:
#0 /var/www/lnex/lib/dao/persistent.php(38): Persistent->loadData(Array)
#1 /var/www/lnex/lib/dao/persistent.php(397): Persistent->__construct('usuario', '32')
#2 /var/www/lnex/templates/blog_template.php(85): Persistent->__get('usuario')
#3 /var/www/lnex/templates/blog_template.php(54): BlogTemplate->mostrarNoticia(Object(Persistent), Array)
#4 /var/www/lnex/application/index.php(97): BlogTemplate->listaNoticias(Object(ArticulosBlog), 3)
#5 /var/www/lnex/application/index.php(73): UrlController->_contenido_blog() #6 [internal function]: UrlController->_contenido()
#7 /var/www/lnex/templates/process_template.php(60): call_user_func_array(Array, Array)
#8 /var/www/lnex/templates/page_template.php(30): ProcessTemplate->_callWithParams('_contenido')
#9 [internal function]: PageTemplate->execute()
#10 /var/www/lnex/index.php(69): call_user_f in /var/www/lnex/lib/dao/persistent.php on line 76

¿Se puede hacer por svn? ¿Lo hago manualmente por consola o phpmyadmin?

Sobre cambiar el código, añadir localhost al condicional creo que sería suficiente. ¿Podemos suponer que cubrimos la mayoría de casos, o todos?

¡Saludos!

2012/2/28 Jaime García Marsá <ja...@legendarya.com>

Jaime García Marsá

unread,
Mar 3, 2012, 10:25:36 AM3/3/12
to learn-ex...@googlegroups.com
Hola Ferran, pues resulta que al final me puse a hacerlo en plan bien. Y la verdad es que ha sido fácil (de hecho he quitado las referencias a 127.0.0.1, learnexperiment y demás, y lo que eran antes 6 líneas me quedan en 2). Te lo he subido a subversion junto con la versión "buena" de la base de datos. Podrías simplemente descargarlo todo, borrar config y volver a meter la configuración, o descargarlo, cargar la base de datos manualmente desde phpmyadmin e introducir en config esta línea: 
$config['base']='/nombredetudirectorio/';

Un saludo:

Jaime

2012/3/3 Ferran Quer i Guerrero <ferra...@gmail.com>

Ferran Quer i Guerrero

unread,
Mar 3, 2012, 12:23:27 PM3/3/12
to learn-ex...@googlegroups.com
He eliminado la configuración y pretendía instalar de nuevo. Nuevo error:
Parse error: syntax error, unexpected T_SL in /var/www/lnex/lib/general/setup_config.php on line 30
 

Que corresponde a la línea en negrita

else{
<<<<<<< .mine

    $link=@mysql_connect(getParam('db_server'),getParam('db_user'),getParam('db_password')) or formError('setup_error_connect');
=======
    /*$link=@mysql_connect(getParam('db_server'),getParam('db_user'),getParam('db_password')) or formError('setup_error_connect');*/
    $link=@mysql_connect(getParam('db_server'),getParam('db_user'),getParam('db_password')) or die('No pudo  conectarse: ' . mysql_error());
>>>>>>> .r240

He estado buscando y no he entendido qué problema hay. No he encontrado el significado de siete '>' '<' o '=' seguidos (aquí aparece el significado de T_SL). Una situación en la que aparece el mismo error es con los "heredocs" , que usan '>>>'. El error salta por poner espacios o tabulaciones donde no tocan.

Como ves, intento averiguar de dónde salen los errores, pero estoy un poco verde todavía, pero así se aprende.

¡Saludos!

2012/3/3 Jaime García Marsá <ja...@legendarya.com>

Jaime García Marsá

unread,
Mar 3, 2012, 2:19:06 PM3/3/12
to learn-ex...@googlegroups.com
Hola Ferran, son problemas con subversion. Cuando modificas un archivo y descargas del repositorio te mete esta clase de archivos con el código mezclado. Lo de <<<<< .mine indica donde empieza tu código.

Me ha pasado otras veces. La solución rápida: Borra ese archivo y descarga de nuevo.

Ferran Quer i Guerrero

unread,
Mar 13, 2012, 6:10:53 PM3/13/12
to learn-ex...@googlegroups.com
¡Bien! Ya me aparece la página. Hice como dijiste, borrar archivo y actualizar.
Aunque tenga la base de datos con los ejercicios, no tengo el árbol de materias y cursos creado.

Ya casi casi puedo enredar con el código ^^

Saludos,
Ferran

Jaime García Marsá

unread,
Mar 13, 2012, 7:04:31 PM3/13/12
to learn-ex...@googlegroups.com
Es un tema que resolvería muy fácil si estuviese frente a tu ordenador, pero de otra manera solo te puedo ir guiando a ver si acertamos:
1/ el enlace correcto es el primero  http://localhost/lnex/materias/ , el segundo siempre debe fallar
2/ entiendo que tienes correctamente "materias.php" en application
3/ En config.php deberías tener una línea que ponga 
"$config['base']='/lnex/';"
4/ Si todo esto falla lo único que se me ocurre que pueda ser es que el index.php no esté bien. Te adjunto el mio para que lo compruebes.

En último caso mira a ver si me puedes comprimir el programa entero y enviármelo por correo (puedes prescindir del archivo db.sql y las carpetas js,img,css,swf y res, que son lo que más ocupan y no aportan nada).

Un par de cosas más: por un lado estaba pensando hacer un vídeo explicativo de mi framework, que seguro que te viene bien para que lo entiendas un poco y poder empezar a trabajar sobre el. 

En segundo lugar, por cuestiones de trabajo estoy con otro proyecto que se va a poder aplicar aquí. Cuando tenga algo más ya te informo, pero así en breve la idea es que tanto el sistema de ejercicios como el editor de ejercicios y cursos sean aplicaciones javascript y que por tanto se puedan modificar online, incluso con la opción de que cada usuario escoja la versión que prefiera de la aplicación. Esto está lejos todavía, pero espero poder contar algo más la próxima semana, sobre el prototipo que estoy haciendo para el trabajo.

Un saludo:

Jaime

2012/3/13 Ferran Quer i Guerrero <ferra...@gmail.com>
index.php

Ferran Quer i Guerrero

unread,
Mar 21, 2012, 11:04:40 AM3/21/12
to learn-ex...@googlegroups.com
Lo había ido aplazando aunque comprobar los puntos han sido cinco minutos:
  1. entendido, el error es un típico "not found" (The requested URL /lnex/materias/ was not found on this server.)
  2. He borrado mi archivo y actualizado el svn y los permisos de lectura estan para todo el mundo.
  3. Tengo esa línea
  4. El index.php es idéntico al que me enviaste.

Te adjunto el programa entero. Sobre el código, sigo más o menos el procedimiento pero como no lo entiendo del todo no puedo encontrar qué está fallando.

Sobre el vídeo, cuando consigamos instalarme el programa seguro que será muy útil, y sobre migrar a javascript, no puedo comentar mucho, no veo qué beneficios aportaría.

¡Salud!

Ferran


2012/3/14 Jaime García Marsá <ja...@legendarya.com>

Ferran Quer i Guerrero

unread,
Mar 21, 2012, 11:36:15 AM3/21/12
to learn-ex...@googlegroups.com
Bien, segunda vez que reenvío el correo. Al parecer había problemas con el contenido del comprimido.
http://www.2shared.com/file/BQBAs_C0/lnex.html

2012/3/21 Ferran Quer i Guerrero <ferra...@gmail.com>
Al reenviar el correo (había fallado) no se ha adjuntado el archivo.


2012/3/21 Ferran Quer i Guerrero <ferra...@gmail.com>

Jaime García Marsá

unread,
Mar 21, 2012, 12:12:58 PM3/21/12
to learn-ex...@googlegroups.com
Ya se lo que te falta: el archivo de apache .htaccess. Es el que hace que todas las llamadas que no encuentran archivo se redirijan a index.php. Sin él, da fallo en cuanto se apunta a otra dirección "virtual" de las definidas por el programa.

Lo adjunto, tan solo tienes que meterlo en la raíz (junto a index.php) y ya debería de irte todo bien.

Un saludo:

Jaime
.htaccess

Jaime García Marsá

unread,
Mar 22, 2012, 5:00:47 PM3/22/12
to learn-ex...@googlegroups.com
Hola Ferran, como te decía la semana pasada he preparado un vídeo de introducción al código de learnexperiment:  http://www.youtube.com/watch?v=66w5nV1opbs  Vale más que lo veas a gran resolución y pantalla completa. Es bastante cutre pero puede ser una manera rápida de que te hagas una idea, y con lo que no entiendas puedes irme preguntando.

Un saludo:

Jaime

Ferran Quer i Guerrero

unread,
Mar 22, 2012, 8:32:11 PM3/22/12
to learn-ex...@googlegroups.com
El vídeo he empezado a mirármelo, voy por la mitad. He ido cogiendo una idea general, pero falta mirarme el código con detalle para comparar las explicaciones con el la interpretación que le haga yo, a ver si lo entiendo.

Para activar el .htaccess he tenido que tocar un par de cosas del apache, son de manual:

Activar el mod_rewrite
a2enmod rewrite

Hacer leer htaccess en /var/www:
sudo vim /etc/apache2/sites-enabled/000-default

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
               
# AllowOverride none
                AllowOverride all
                Order allow,deny
                Allow from all
        </Directory>

Como ya funciona, podría cerrar ya la lista de problemas que ha habido para instalar. Ahora mismo no la encuentro, pero cuando lo haga añado estos dos cambios y la subo.

¡Saludos!

2012/3/22 Jaime García Marsá <ja...@legendarya.com>

Jaime García Marsá

unread,
Mar 23, 2012, 2:46:06 AM3/23/12
to learn-ex...@googlegroups.com
¡Perfecto Ferran! Efectivamente .htaccess necesita cierta configuración a la que no estoy acostumbrado por que normalmente me descargo un paquete concreto. Se te olvida en ocasiones que apache y PHP son programas muy complejos a causa de su flexibilidad.

En cuanto al código, vete avisándome de las dudas que te salgan.

Aprovecho para comentarte que estoy trabajando en otra línea que a medio plazo puede ser interesante para que la gente pueda aportar modificaciones más fácilmente. La idea es simple: Tratamos los elementos modificables como documentos (ejercicios, apartados, lecciones, cursos,...) y hacemos que todo el código para editarlos/visualizarlos sea en javascript, en lugar de en PHP (salvo las opciones mínimas para guardar los datos). Lo interesante es que javascript lo puede modificar cualquier usuario desde el navegador sin necesidad de instalación ni nada. La idea es que pudiesen copiar el programa original y hacer el suyo propio en base a este.

Lo estoy probando un un proyecto de trabajo que tengo que desarrollar estos días. En cuanto lo tenga más avanzado te lo enseño, aunque la base ya está funcionando. Es muy interesante para facilitar la colaboración ya que cualquiera podrá ver el código de una "función" del sitio en el momento (ej: el editor de ejercicios), copiarlo y modificarlo para hacer su propia versión, y luego volverlo a poner a disposición de todo el mundo como una alternativa al programa oficial. Ventajas:
a) No hay que descargar ni instalar nada
b) Solo actuas sobre la herramienta que te interesa, no necesitas el código del sitio entero
c) Todo se modifica online al ser texto plano (html, javascript, css,...)
d) Puede haber varias versiones de la misma herramienta a la vez. Tu usas la que prefieras y no tienes que pedir permiso a nadie para añadir tu contribución (en la situación actual los cambios que tu realices deberán ser revisados por mi, y solo podrá haber una versión de las herramientas en la página, al menos según el formato actual).

Te iré informando de los avances en cuanto tenga algo.

Un saludo:

Jaime

2012/3/23 Ferran Quer i Guerrero <ferra...@gmail.com>
Reply all
Reply to author
Forward
0 new messages