Archive for June, 2009

Markup Validation Service

Check the markup (HTML, XHTML, …) of Web documents

This validator checks the markup validity of Web documents in HTML, XHTML, SMIL, MathML, etc. If you wish to validate specific content such as RSS/Atom feeds or CSS stylesheets, MobileOK content, or to find broken links, there are other validators and tools available.

http://validator.w3.org/

No Comments

zedge.net ringtones, themes, games and more

Huge catalog of free ringtones, themes, games, wallpapers and videos for cell phones.
3.3 million items shared by more than 13 million users world-wide. No charges and no subscriptions.

http://www.zedge.net/

No Comments

Problema al instalar Componentes joomla

Artículo que explica los problemas encontrados al instalar un componente joomla

Este artículo va dirigido a todos aquellos que alguna vez han utilizado joomla 1.0.12 o superior y han tenido problemas a la hora de instalar algún componente. Más concretamente, se nos ha dado la siguiente situación:

Un cliente nos solicitó que en su aplicación web realizada con joomla 1.0.13 apareciese un “Mapa Web”. Investigando por la red vimos que existía un componente joomla llamado “samSiteMap 6.2.4 Beta” que estaba muy bien, así que lo descargamos e intentamos instalarlo desde el instalador de componentes de la parte “administrator” de la siguiente manera:

  1. Primero intentamos hacer la instalación sin más desde “Instaladores –> Componentes”, pero se producía el siguiente error: Fallo al crear el directorio “/home/user/public_html/components/com_samsitemap/”.
  2. Probamos a crear el directorio de forma manual, tal y como leimos en varios foros vía ftp.
  3. Volvimos a probar y se producía este otro error: Otro componente está usando este directorio: “/home/user/public_html/components/com_samsitemap/”

En definitiva nos encontrámos en un círculo vicioso sin aparente solución, y encontramos esta explicación al problema:

El problema está en la versión 1.0.12 de Joomla y el SafeMode ON de los servidores, el SafeMode es una medida de seguridad indispensable en entornos compartidos y no podemos desactivarla, hemos realizado muchas pruebas y el Joomla 1.0.12 aun con el parche (versión 1.0.11) para SafeMode ON no funciona correctamente para la instalación de componentes o modulos.

No han echo un parche compatible para esta versión debido a que el futuro Joomla 1.5 (actualmente en fase beta) lo traera incluido de serie.

La solución temporalmente radica en instalar el Joomla 1.0.11 y parche para esta misma versión.

Como era inviable la solución propuesta en ese foro y  tras muchas investigaciones y pruebas, conseguimos instalar el componente de una manera relativamente sencilla siguiendo los siguientes pasos:

  1. En una máquina local instalamos un paquete con el servidor apache y una base de datos MySql (Easy PHP 1.8).
  2. Instalamos el joomla 1.0.13 en ese servidor local y el componente “samSiteMap 6.2.4 Beta“. Al ser una máquina local, no se produjo ningún error y se instaló a la primera.
  3. Cuando se instala un componente nuevo se hacen dos cosas: crear los directorios y archivos correspondientes a ese componente y actualizar la Base de Datos de joomla. En este caso concreto del samSiteMap, tuvimos que:
    • Subir por ftp el directorio ~/components/com_samsitemap de nuestra máquina local, al directorio /home/user/public_html/components/com_samsitemap/ de nuestro servidor.
    • Subir por ftp el directorio ~/administrator/components/com_samsitemap de nuestra máquina local, al directorio /home/user/public_html/administrator/components/com_samsitemap/ de nuestro servidor.
    • Ejecutar las siguientes querys en la Base de Datos que utiliza joomla en nuestro servidor:
      • CREATE TABLE `jos_samsitemap_indexes` (
        `id` int(13) NOT NULL auto_increment,
        `name` tinytext NOT NULL,
        `title` tinytext NOT NULL,
        `search_title` tinytext NOT NULL,
        `itemid` varchar(13) NOT NULL default ‘0′,
        `params` text NOT NULL,
        `description` text NOT NULL,
        `checked_out` tinyint(4) NOT NULL default ‘0′,
        `co_uid` int(13) NOT NULL default ‘0′,
        PRIMARY KEY `id` (`id`),
        KEY `itemid` (`itemid`)
        ) TYPE=MyISAM AUTO_INCREMENT=3;
      • INSERT INTO `jos_samsitemap_indexes` (`id`, `name`, `title`, `search_title`, `itemid`, `params`,
        `description`, `checked_out`, `co_uid`) VALUES (1, ”, ”, ”, ”, ‘pad=10\ndesc_len=250\nusecache=0
        \nnoauth=1\nshowself=1\nmenutitles=1\ndesc=1\nicons=1\nshowempty=1\nmultirender=1
        \nview=map\nsort=normal\nshowmenu=1\nsearch_ok=1\nshowview=1\nshowsearch=1
        \nshowsort=1\nratingsort=1\nshowdesc=1\nexp_sections=1\nexp_categories=1\nexp_content=1
        \nexp_nf_cat=1\nexp_newsfeeds=1\nexp_wl_cat=1\nexp_weblinks=1\nexp_ct_cat=1
        \nexp_contacts=1′, ’sr_show_hl=1\nsr_search_clr=red\nsr_title_hl=1\nsr_search_bld=1
        \nsr_desc_len=350\nsr_sho_wc=1\nsr_sho_rtng=1\nsr_maxdens=7\nsr_densw=10\nsr_allw=1
        \nsr_titlew=5′, 0, 0),
        (2, ”, ”, ”, ”, ‘useconfig=0\npospri=\nusecache=111\nnoauth=111\nshowself=111\nmenutitles=111
        \ndesc=111\nicons=111\nshowempty=111\nmultirender=111\nview=111\nsort=111
        \nshowmenu=111\nsearch_ok=111\nshowview=111\nshowsearch=111\nshowsort=111
        \nratingsort=111\nshowdesc=111\nexp_sections=111\nexp_categories=111\nexp_content=111
        \nexp_nf_cat=111\nexp_newsfeeds=111\nexp_wl_cat=111\nexp_weblinks=111\nexp_ct_cat=111
        \nexp_contacts=111′, ”, 0, 0);
      • CREATE TABLE `jos_samsitemap_items` (
        `id` int(13) NOT NULL auto_increment,
        `parent` int(13) default NULL,
        `ordering` int(13) NOT NULL default ‘0′,
        `itemid` int(13) default NULL,
        `linkto` int(13) NOT NULL default ‘0′,
        `config_id` int(13) NOT NULL default ‘0′,
        `smtype` tinytext NOT NULL,
        `componentid` int(13) NOT NULL default ‘0′,
        PRIMARY KEY  (`id`)
        ) TYPE=MyISAM AUTO_INCREMENT=1;
      • INSERT INTO jos_components VALUES (NULL, ’samSiteMap’, ‘option=com_samsitemap’, 0, 0, ‘option=com_samsitemap’, ’samSiteMap’, ‘com_samsitemap’, 0, ‘js/ThemeOffice/component.png’, 0, ”);

      Las tres primeras querys están definidas en el fichero ~/administrator/components/com_samsitemap/samsitemap.xml y la última es un insert que hace el propio joomla al instalar cualquier componente nuevo.

En general, para cualquier componente (diferente al del ejemplo samSiteMap 6.2.4 Beta) que necesite instalarse de esta manera, habrá que copiarse los directorios creados por el componente correspondiente en los directorios ~/components/ y ~/administrator/components/ y fijarse en la querys que deben ejecutarse definidas en el XML adjunto (en el ejemplo samsitemap.xml), sin olvidarse del insert que ejecutar por defecto joomla: Si se instala un componete hay que hacer un INSERT en la tabla jos_components y si se instala un módulo habrá que hacerlo en la jos_modules.

No Comments