13:17 13:17 13:17

Slash Arguments en Moodle

Published by jbrunet under General

Uno de los problemas de habilitar y deshabilitar esta opción en la configuración de moodle (Habilitada por defecto) es que los links a archivos dentro de los cursos quedaban inservibles por la forma en que se realizan.

Sin SlashArguments los links quedan de la forma: http://{url plataforma}/file.php?file=/{id del curso}/{archivo.htm}

Con SlashArguments los links quedan de la forma: http://{url plataforma}/file.php/{id del curso}/{archivo.htm}

Por ende, es necesario eliminar el “?file=” de los links en los recursos creados.La solución viene dada por ejecutar uno de los scripts de administración que provee Moodle. Ejecute http://{url plataforma}/admin/replace.php y ingrese la expresión a reemplazar “?file=/” y la expresión por la cual reemplazar “/”.

convert this post to pdf.

No responses yet

18:44 18:44 18:44

Respaldos vía ftp

Published by jbrunet under General

Para traernos sitios completos de los cuales tengamos acceso vía ftp (a lo menos)
lftp -c ‘open <hostname>; user <username> <password>; mirror -e <remote-src-path> <local-dest-path>; quit’

Ahora si tenemos acceso vía ssh podemos intentar

scp -r <usuario>@<host>:<remote-src.path> <local-dest-path>

convert this post to pdf.

No responses yet

14:22 14:22 14:22

La librería para poner calendarios en su sitio web

Una de las librerías más ocupadas para incluir calendarios en las webs es la provista por Mihai Bazon, <mihai_bazon@yahoo.com>
http://dynarch.com/mishoo/. Esta libreria es ampliamente usada en sitios como LAN y MindFree (empresas grandes, claro).

El problema

Surge de un llamado que nos avisa que el día 12 de Octubre se repite en los calendarios.¡¡¡ ¿Qué?!!!. Claro, en la vista de Octubre, el 2º fin de semana repite el día Sábado al Domingo, lo que provoca una desincronización hacia adelante.

El problema técnico

La librería está construida sobre javascript y utiliza un archivo calendar.js que construye el calendario y según la configuración del calendario del computador que visualiza las páginas, si tiene activado cambiar automáticamente al horario de verano, provoca el fallo. Esto ocurre porque el día pasa a tener 23 o 25 horas dependiendo del cambio, lo que es mal interpretado por el javascript.

La solución

Hacer que el script tenga días en formato de 12 horas. Eso se agrega de la siguiente manera:

En calendar.js, linea 1042 (dependiendo de la versión, sino busque la función)


/**
*  (RE)Initializes the calendar to the given date and firstDayOfWeek
*/
Calendar.prototype._init = function (firstDayOfWeek, date) {
var today = new Date(),
TY = today.getFullYear(),
TM = today.getMonth(),
TD = today.getDate();

Agregar:


/**
*  (RE)Initializes the calendar to the given date and firstDayOfWeek
*/
Calendar.prototype._init = function (firstDayOfWeek, date) {
date.setHours(12);
var today = new Date(),
TY = today.getFullYear(),
TM = today.getMonth(),
TD = today.getDate();

Y voilá, flor de solución. Es curioso como hay poca documentación sobre este problema, casi no ha sido reportado y encontré la solución después de un buen rato.

convert this post to pdf.

No responses yet

11:20 11:20 11:20

El bendito mod_rewrite

Reinstale mi pc y puse a andar mi magnifico servidor web apache2. Todo iba bien hasta que quise jugar con wordpress y tener las pretty urls. La cosa es que te piden tener funcionando apache2+mod_rewrite. Entonces, tenía que saber por qué no estaba activado si se supone viene por defecto en la instalación del core de apache2.

Lo primero que hay que hacer es ver si existía el módulo en los archivos de apache

therion:/etc/sysconfig # ll /usr/lib/apache2/mod_rewrite.so
-rwxr-xr-x 1 root root 63488 Nov 22 09:36 /usr/lib/apache2/mod_rewrite.so

OK…existe. Si no existiera harikiri e instalar apache2 como la gente normal.

Aplicamos ahora, editar el archivo /etc/apache2/sysconfig.d/loadmodule.conf y agregar al final

LoadModule rewrite_module                 /usr/lib/apache2-prefork/mod_rewrite.so

Finalmente, agregar al /etc/sysconfig/apache en la línea 103

APACHE_MODULES="actions alias auth_basic authn_file authz_host authz_groupfile authz_default
authz_user authn_dbm autoindex cgi dir env expires include log_config mime negotiation setenvif
ssl suexec userdir php5 rewrite"

Reinicia apache y comprueba si con el .htaccess de wordpress, algo así como en el mío:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~jbrunet/old_html/www.charlatecnica.cl/wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~jbrunet/old_html/www.charlatecnica.cl/wordpress/index.php [L]
</IfModule>
# END WordPress

Con esto podrás tener direcciones del tipo http://tuservidor/wordpress/año/mes/dia/nombredelpost/ en wordpress o http://tuservidor/joomla/nombredearticulo

convert this post to pdf.

One response so far

12:00 12:00 12:00

Rpms y otras hierbas

Published by jbrunet under Articulos Tecnicos

OpenSuse ocupa el sistema de Redhat Package Manager (RPM) para gestionar los paquetes a instalar.

Si bien, hoy en día., herramientas como YaST o Zypper hacen mucho más fácil esta gestión, siempre es bueno saber algo del manejo del comando rpm. He acá mi handbook:

rpm -qi packete: Información sobre un paquete específico

rpm -qf archivo: De qué paquete saco el archivo

rpm -qa: Una lista con todos los paquetes instalados.

rpm -Uvh paquete.rpm: La U es para actualizar un paquete, la v de verbose y la h para imprimir los hash del paquete

rpm -e: e de ejectar erase, obvio….y de desinstalar un paquete

Con eso, no te mueres y puedes hacer maravillas y responder las preguntas que la humanidad de ha hecho durante siglos.

PS: Siempre está la opción de revisar la página del manual, pero la de rpm es bastante amplia :P

convert this post to pdf.

No responses yet

17:15 17:15 17:15

Algo de CSS

He estado entretenido armando la nueva página web de la empresa y ahora he utilizado algunos “trucos”.

Algunas pseudo-clases bastante útiles:

first-child: para aplicar un estilo al primogénito de una clase definida. Ej: Para hacer un menú con separadores de pipe (palito para las niñitas)


#footermenu li{
float: left;
margin: 0;
padding-left: 2px;
border-left:1px solid #FFF;
}
#footermenu li:first-child {
border:none;
}

hover: Aplica al elemento cuando se pasa el mouse por encima. Útil para links. Ej:


#pillmenu li a:hover {
color: #fff;
text-decoration: none;
background: url(../images/pillmenu_bg_hover.png) repeat-x;
}

Esos 2 por ahora. Super útiles y necesarios. Faltan algunos para manejar tablas y poder desarrollar la famosas tablas zebras.

PD: Algunas pseudo clases o modificadores no funcionan bien con IE6 e IE7. Para variar

convert this post to pdf.

No responses yet

10:50 10:50 10:50

Yo y mi smart

Published by jbrunet under General

Jugando con mi suse 10.3 me di cuenta que de repente se demoraba demasiado en ir a buscar las llaves de mis repositorios. Entonces, necesite deshabilitar (esta de más decir que bajo su propia responsabilidad y ssi conoce los repositorios que usa).

con
smart config --set rpm-check-signatures=False

Lo que provocará es que nunca más se traigan las claves de los repositorios.
Continue Reading »

convert this post to pdf.

One response so far

11:38 11:38 11:38

Hacer que Php ande como el correcaminos

Published by charlie under Servicio Web

Qué hacer cuando producto de que la cantidad de usuarios en nuestros sitios web aumenta, el sistema se pone lento y ello repercute en los tiempos de respuesta de los sistemas?, siempre está la opción de matarnos, un harakiri o cualquier otra medida extrema lo que podemos hacer es pensar en optimizar.

Lo que hacemos es optimizar los siguientes aspectos:

  • Servidor de Base de Datos
  • Servidor Web
  • Optimizador para PhP

Cuando las dos primeras no son medidas lo suficientemente rudas, podemos aplicar la tercera.

Continue Reading »

convert this post to pdf.

No responses yet

16:04 16:04 16:04

Utilizar funciones como reglas en PEAR

Published by charlie under Pear

Uno de los puntos importantes cuando aceptamos información ingresada por los usuarios desde un formulario es el proceso de validación de la información. Si bien Pear nos provee muchas validaciones ya preparadas, qué sucede cuando necesitamos utilizar alguna personalizada?. Si su caso es el anterior, no se preocupe, pues la gente de PEAR ya pensó en ello y le permite utilizar funciones de validación propias.

Continue Reading »

convert this post to pdf.

No responses yet

15:49 15:49 15:49

Restringir formato de archivos subidos en PEAR

Published by charlie under Pear

Muchas veces, cuando creamos formularios para la recepción de información por parte del usuario, nos vemos enfrentados a la situación de tener que recibir archivos. El problema se presenta cuando debemos aceptar sólo cierto tipo de archivos.

Continue Reading »

convert this post to pdf.

No responses yet

Next »