Desarrollo de módulos con Drupal

Drupal es un gestor de contenidos que últimamente esta dando mucho que hablar, voy a echarle una ojeada para comprobar su potencialidad, empezaré por leerme un capítulo del libro Learning Drupal 6 Module Development en el que se habla del desarrollo de módulos : Creating Our First Module (1.3M PDF).

Por : David           comentarios 1

Videoaprendizaje.com, una web sobre Networking y mucho más

General

David | 18/05/2008

¿Te interesa el mundo del networking?¿ Estas preparándote alguna certificación de Cisco?¿ Eres administrador de una red y quieres mejorar tu red más allá de usar un grupo de trabajo?

Pues entonces visita videoaprendizaje.com .

Esta web nace del proyecto educaleft que Jesús conde inició en séptimo continente, ofreciendo alojamiento a todo aquel que quería comenzar a producir tutoriales y material educativo en su alojamiento totalmente gratuito, pero ahora Marlon Matus Aronsonth ha decidido independizarse y han adquirido un dominio propio.

En su web podrás encontrar material de gran calidad sobre cisco, directorio activo, administración de servicios en Windows Server 2003, Macromedia Director MX, y muchas cosas más…

Enlace : Videoaprendizaje.com

Return to the Mobile Edition.


WordPress 2.6 incluye Google Gears para trabajar offline

BBDD, Javascript, Joomla, Wordpress

David | 16/05/2008

Leyendo anieto2k me entero que en la versión 2.6 de WordPress se incluirá la tecnología Google Gears para trabajar offline, de esta manera se podrá seguir ecribiendo artículos aunque estemos en el campo sin conexión a internet, y después, en cuanto el navegador detecte una conexión, se sincronizará con la web y publicará todo el contenido escrito, un gran acierto

Cada vez se hace más potente la programación web y las posibilidades se hacen infinitas.

Google Gears es una implementación de Google para almacenar datos en el cliente y aún no esta muy extendido su uso, pero en el futuro standard HTML 5 esta prevista la inclusión de una BBDD en el navegador para facilitar la labor al programador y hacer las aplicaciones más dinamicas.

Ahora la pregunta para mí es: ¿Para cuando una cosa así en Joomla? , espero que no tarde mucho en desarrollarse.

Return to the Mobile Edition.


Pack libre de iconos de 24×24 para desarrolladores web

Leyendo cosas sencillas me encuentro con este pack de iconos que han colgado en ICOJOY. Puedes descargarlo aquí. Son un total de 60 iconos realizados por realizada por Zhebrakov Andrew.
Por : David           comentarios 4

Presentación del JoomlaDay 2008 Madrid

Joomla, Recursos

David | 11/05/2008

Hoy he subido a Google Docs la presentación de Power Point que usé en la ponencia del JoomlaDay, ya que son ya varios los que me la han pedido y en la página del evento hay colgada una versión beta, jejeje. Le pasé a Franck Scipion la definitiva al acabar el evento, pero supongo que con lo liado que estaba se le olvidó.

La dejo aquí compartida, si alguien ve algún fallo que no dude en avisarme.

Return to the Mobile Edition.


Como listar los directorios de un directorio con el framework de Joomla

Frameworks, Joomla, Programación

David | 7/05/2008

Esta vez voy a anotar un pequeño trozo de código que me ha servido de mucho en mi último trabajo.

No es ningún secreto saber cómo se listan los directorios, pero gracias al API de de Joomla! es mucho más sencillo, además se integra con la capa FTP para solucionar problemas cuando no tengamos permisos de escritura en nuestro script.

Para listar los directorios simplemente puse en siguiente código en el fichero view.html.php de mi componente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
jimport( 'joomla.filesystem.folder' );
//Importamos los ficheros necesarios
 
$carpetas = JFolder::folders(JPATH_COMPONENT.DS.'miDirectorio');
 
//Obtenemos los directorios, el metodo folders devuelve un array con el nombre de los //directorios
 
if(count($carpetas > 0))
{
    foreach ($carpetas as $carpeta)
    {
	       	echo "Nombre del directorio: " . $carpeta ;
    }
}else{
	echo "No hay directorios en ".  JPATH_COMPONENT.DS.'miDirectorio';
}

Ahora veamos como hacer lo mismo con php sin usar el framework:

(código sacado de la web www.desarrolloweb.com )

$ruta = /path/a/tu/directorio
   // abrir un directorio y listarlo recursivo
   if (is_dir($ruta)) {
      if ($dh = opendir($ruta)) {
         while (($file = readdir($dh)) !== false) {
            //esta línea la utilizaríamos si queremos listar todo lo que hay en el directorio
            //mostraría tanto archivos como directorios
            //echo "Nombre de archivo: $file : Es un: " . filetype($ruta . $file);
            if (is_dir($ruta . $file) && $file!="." && $file!=".."){
               //solo si el archivo es un directorio, distinto que "." y ".."
               echo "Directorio: $ruta$file";
               listar_directorios_ruta($ruta . $file . "/");
            }
         }
      closedir($dh);
      }
   }else
      echo "No es ruta valida";
}

Como puedes ver, se comprueba manualmente si el directorio existe con la función is_dir(), esto ya lo lleva implementado el API de Joomla y no hace falta que lo volvamos a hacer si usamos el método folders.

Este es el código del método folders:

function folders($path, $filter = '.', $recurse = false, $fullpath = false, $exclude = array('.svn', 'CVS'))
	{
		// Initialize variables
		$arr = array ();
 
		// Check to make sure the path valid and clean
		$path = JPath::clean($path);
 
		// Is the path a folder?
		if (!is_dir($path)) {
			JError::raiseWarning(21, 'JFolder::folder: '.JText::_('Path is not a folder').' '.$path);
			return false;
		}
 
		// read the source directory
		$handle = opendir($path);
		while (($file = readdir($handle)) !== false)
		{
			$dir = $path.DS.$file;
			$isDir = is_dir($dir);
			if (($file != '.') && ($file != '..') && (!in_array($file, $exclude)) && $isDir) {
				// removes SVN directores from list
				if (preg_match("/$filter/", $file)) {
					if ($fullpath) {
						$arr[] = $dir;
					} else {
						$arr[] = $file;
					}
				}
				if ($recurse) {
					if (is_integer($recurse)) {
						$recurse--;
					}
					$arr2 = JFolder::folders($dir, $filter, $recurse, $fullpath);
					$arr = array_merge($arr, $arr2);
				}
			}
		}
		closedir($handle);
 
		asort($arr);
		return $arr;
	}

Como puedes comprobar se hacen todo tipo de comprobaciones y nos libra de realizarlas a mano.

Puedes ver más métodos interesantes en la documentación oficial del API de Joomla

Return to the Mobile Edition.


Firebug: la navaja suiza para desarrolladores web

General, Javascript

David | 24/04/2008

Firebug es una de las extensiones que hacen de firefox el mejor navegador web para mi gusto.
Con firebug podremos inspeccionar todo el código de una página web, incluso si modificamos el DOM dinámicamente, Firebug lo mostrará.

Permite ir modificando el código CSS de la web e ir viendo los cambios en tiempo real sin necesidad de refrescar la página.

También permite modificar el código javascript e incluye un debuger de javascript.

Lleva un control de todas las peticiones http que se producen y muestra absolutamente todos los detalles y contenido de la petición, muy útil para ver que esta devolviendo una petición AJAX.

Lo uso desde aproximadamente 8 meses y ya no puedo desarrollar sin él.

Recientemente Microsoft a copiado la idea para su nuevo navegador , el Internet Explorer 8, y aunque de rabia que copien un software no comercial y libre, la verdad es que se agradece tener esta utilidad en Internet Explorer, ya que se me hacía un mundo depurar mis proyectos en este navegador.

En Css-Tricks han puesto la primera parte de un screencast sobre esta extensión, aunque esta en ingles se ve muy bien las posibilidades de Firebug.

Solo he hablado de unas pocas de todas las funcionalidades que tiene Firebug, lo mejor es instalarlo y probarlo.

Return to the Mobile Edition.


JoomlaDay Madrid 2008, impresiones…

Joomla, Opinión

David | 21/04/2008
David Noguera

David Noguera

Bueno, después de venir del JoomlaDay 2008 y de llevar a cabo 3 horas de charla hablando sobre desarrollo de extensiones en joomla, voy a escribir algo al respecto.

Llegue a Madrid a las 3 de la tarde, entré y estaba acabando la ponencia en el auditorio sobre migración de Joomla rama 1.0 a Joomla 1.5, después de verla todo el mundo se fue a comer y enseguida me tocaba exponer a mí. Antes de exponer estuve hablando con Javier Casares, de Ojo Buscador, y me comentó que iba a criticar un poco Joomla en su ponencia, y efectivamente lo hizó. Un saludo a Javier desde aquí.

Por cierto, a mí no me parece que Joomla sea tan malo en SEO, lo único que creo que necesita es devolver código más limpio en el componente com_content, olvidarse de las tablas, no son para eso y además generan demasiado código. Pero la solución pasa por usar los overwrites en los templates de Joomla! 1.5 y hacer que com_content devuelva divs, escoger un template con código apropiado, activar las URL amigables, que si los son para mi gusto y usar las meta-etiquetas adecuadas en cada artículo. Con esto deberíamos conseguir un resultado bastante bueno en cuanto a SEO.

Aún así wordpress creo que es el numero 1 en este aspecto, teniendo una funcionalidad muy limitada en cuanto a su uso, lo que nos permite hacer joomla con los componentes, plugins y módulos en wordpress sería muy dificil.

Eran 3 ponencias de 1 hora cada en las que íbamos a ver como hacer un modulo, un componente y un plugin.

En la primera los nervios me traicionaron provocando que me quedara en blanco en algún instante.

En la segunda y la tercera ya le cogí la dinámica y no tuve mayores problemas.

Creo que fué un error intentar ver todo, ya que no hubo tiempo para profundizar en nada y me quedé con la sensación de que hubo gente que tenia ganas de más y otra que por el contrario no se acabó de enterar, quizás debí plantear la ponencia apostando por un perfil de oyente principiante o avanzado, pero no intermedio como intenté.

Las extensiones las iba haciendo en el momento con el proyector y mi portátil, y no tuve grandes problemas para hacerlas funcionar.

Al acabar las 3 horas me fui directo a fuera ya que necesitaba respirar después de la maratón y pude conversar un poco con gente de la organización, todos muy majos. Poco después me fui a casa, ya que aun me quedaba un largo camino hasta llegar a Valencia.

PD: A la gente que vino a preguntarme cosas al finalizar cada taller, lo siento si no os pude prestar la atención debida, pero en ese momento iba un poco loco, no tube ni un minuto de descanso entre taller y taller!!!

Return to the Mobile Edition.