{"id":91,"date":"2008-01-12T00:50:21","date_gmt":"2008-01-12T08:50:21","guid":{"rendered":"http:\/\/www.guachiman.net\/blog\/jota\/joomla-glossword\/"},"modified":"2008-04-23T16:11:01","modified_gmt":"2008-04-24T00:11:01","slug":"joomla-glossword","status":"publish","type":"page","link":"https:\/\/www.guachiman.net\/blog\/jota\/joomla-glossword\/","title":{"rendered":"Glossword"},"content":{"rendered":"<p><img decoding=\"async\" src=\"http:\/\/www.guachiman.net\/blog\/wp-content\/uploads\/2008\/01\/gw_splash.png\" alt=\"gw_splash.png\" \/>  <a href=\"http:\/\/www.glossword.info\/\" target=\"_blank\"><\/a><\/p>\n<p><a href=\"http:\/\/glossword.info\/\" target=\"_blank\">Glossword <\/a>es un programa de creaci\u00f3n de glosarios y diccionarios hecho por Dmitry N. Shilnikov, que us\u00e9 para <a href=\"http:\/\/www.lachuleta.net\/dic\/\" target=\"_blank\">La Chuleta Venezolana<\/a>. En un principio lo ten\u00eda como stand-alone, pero al crecer el n\u00famero de visitantes, y por los comentarios que recib\u00ed, decid\u00ed integrarlo a Joomla, de manera de poder a\u00f1adirle m\u00e1s funcionabilidad (foros, mailing list, etc.).<\/p>\n<p>Ya Dmitry hab\u00eda publicado unas instrucciones de como integrar las versiones anteriores, hasta 1.7, pero abandon\u00f3 el esfuerzo ya que piensa sacar una versi\u00f3n tipo Component de Joomla. Como las instrucciones de la integraci\u00f3n glossword-joomla ya no est\u00e1n disponibles en su p\u00e1gina, y para aquellos que desean empezar a usar este magn\u00edfico programa, aqu\u00ed les transcribo paso a paso como hacerlo.<\/p>\n<p>Problemas Conocidos:<\/p>\n<ol>\n<li> He comprobado que debido a la manera que se hace la integraci\u00f3n,<br \/>\nse pierde la validaci\u00f3n XHTML de la p\u00e1gina.<\/li>\n<li>Glossword usa UTF-8, mientras que la serie de Joomla 1.0.x es ISO. Esto<br \/>\ngenera problemas en la visualizaci\u00f3n de caract\u00e9res especiales<br \/>\nen los men\u00fas y elementos de contenido cuando el componente de Glossword est\u00e1 siendo visualizado.<\/li>\n<\/ol>\n<p><strong><font color=\"#3366ff\"><u>1. Creaci\u00f3n de componente glossword en Joomla<\/u><\/font> <\/strong><\/p>\n<p>Para facilitar las cosas, decid\u00ed usar como ejemplo la instalaci\u00f3n:<\/p>\n<p><em>http:\/\/www.<u>supaginaweb<\/u>.com\/joomla\/components\/com_glossword<\/em><\/p>\n<p>(asumiendo que su instalaci\u00f3n de Joomla est\u00e1 en un directorio llamado \u2018joomla\u2019, y &#8216;<em><u>supaginaweb<\/u><\/em>&#8216; es su dominio propio)<\/p>\n<p>Para comenzar, debe crear el directorio y el archivo<\/p>\n<p>\/joomla\/components\/com_glossword\/glossword.php<\/p>\n<p>con el contenido siguiente:<\/p>\n<p><code>&lt;?php<br \/>\n\/**<br \/>\n* Glossword integration with joomla<br \/>\n*\/<br \/>\ndefined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.');<br \/>\n$tmp['this_dir'] = getcwd();<br \/>\nchdir('components\/com_glossword');<br \/>\ninclude_once('index.php');<br \/>\nchdir($tmp['this_dir']);<br \/>\nmysql_select_db($mosConfig_db);<br \/>\n?&gt;<\/code><\/p>\n<p>Luego, deben conectarse a su servidor SQL e introducir el siguiente comando, que crear\u00e1 la entrada correspondiente al componente:<\/p>\n<p><code>INSERT INTO jos_components (name, link, `option`, iscore) VALUES ('Glossword','option=com_glossword', 'com_glossword', 0);<\/code><\/p>\n<p>Una vez hecho esto, ya se puede crear la entrada del men\u00fa correspondiente. Para ello deben ir a <strong>Menu Manager &gt; Main Menu &gt; Add Menu Item &gt; Component &gt;<\/strong> y seleccione la opci\u00f3n \u2018Glossword\u2019 de la lista de componentes. Una vez agregado, tome nota del <strong><font color=\"#33cc00\">itemid<\/font><\/strong> del componente, pues lo necesitar\u00e1 m\u00e1s adelante.<\/p>\n<p><strong><font color=\"#3366ff\"><u>2. Instalaci\u00f3n del programa Glossword en el directorio del componente<\/u><\/font> <\/strong><\/p>\n<p>Para el momento de este tutorial, la \u00faltima versi\u00f3n de Glossword es 1.8.6, y la pueden descargar en:<\/p>\n<p>* <a href=\"http:\/\/code.google.com\/p\/glossword\/downloads\/list\" target=\"_blank\">Google Code<\/a><\/p>\n<p>* <a href=\"http:\/\/sourceforge.net\/projects\/glossword\/\" target=\"_blank\">SourceForge<\/a><\/p>\n<p>Los pasos de instalaci\u00f3n son los mismos que se describen en la <a href=\"http:\/\/code.google.com\/p\/glossword\/wiki\/ComoInstalar\" target=\"_blank\">documentaci\u00f3n de la instalaci\u00f3n<\/a>.<\/p>\n<ul>\n<li> Descomprima el paquete glossword-1.x.x.zip en la m\u00e1quina local. Use una herramienta como 7-Zip para extraer los archivos.<\/li>\n<li> Suba el contenido de la carpeta \/glossword\/1.x al alojamiento remoto.<\/li>\n<li>Establezca permisos de escritura para la carpeta \/glossword\/gw_temp y varias subcarpetas. Se puede hacer con cualquier software cliente de FTP o desde la l\u00ednea de comandos:<\/li>\n<\/ul>\n<p><code># chmod 0777 gw_temp<br \/>\n# chmod 0777 gw_temp\/t<br \/>\n# chmod 0777 gw_temp\/a<br \/>\n# chmod 0777 gw_temp\/gw_cache_sql<br \/>\n# chmod 0777 gw_temp\/gw_export<\/code><\/p>\n<p>Nota: si las sub-carpetas a, t, gw_cache_sql y gw_export no existen, se deben crear, y luego hacerles el chmod.<\/p>\n<ul>\n<li> Establezca permisos de escritura para el archivo \/db_config.php:<\/li>\n<\/ul>\n<p><code><\/code><\/p>\n<p><code># chmod 0666 db_config.php<\/code><\/p>\n<p><code>File\/Folder Name chmod value Permissions<br \/>\n* [DIR] gw_addon -<br \/>\n* [DIR] gw_admin -<br \/>\n* [DIR] gw_install -<br \/>\n* [DIR] gw_locale -<br \/>\n* [DIR] gw_temp 0777 drwxrwxrwx<br \/>\n* [DIR] gw_xml -<br \/>\n* [DIR] img -<br \/>\n* [DIR] inc -<br \/>\n* [DIR] lib -<br \/>\n* [DIR] templates -<br \/>\n* .htaccess -<br \/>\n* favicon.ico -<br \/>\n* css.php -<br \/>\n* custom_vars.php -<br \/>\n* db_config.php 0666 -rw-rw-rw-<br \/>\n* gw_admin.php -<br \/>\n* index.php -<br \/>\n* robots.txt -<\/code><\/p>\n<ul>\n<li> Se requieren los niveles de chmod 0666 y 0777 a menos que su sistema use otros permisos. Por ejemplo, si usted utiliza CGIWrap que ejecuta sripts PHP con el UID del propietario del archivo en vez de con el UID del servidor, establezca chmod en 0644 y 0755.<\/li>\n<\/ul>\n<p><strong><font color=\"#3366ff\"><u>3. Correr el instalador de Glossword<\/u><\/font><\/strong><\/p>\n<p>Yo recomiendo instalar glossword en la misma base de datos que la instalaci\u00f3n de Joomla. El \u00fanico problema es que las tablas de glossword (gw_) ser\u00e1n en UTF-8, mientras que las de joomla (jos_) estar\u00e1n en ISO. Para correr el instalador, debe navegar a la p\u00e1gina:<\/p>\n<p><code>http:\/\/www.<em><u>supaginaweb<\/u><\/em>.com\/joomla\/components\/com_glossword\/gw_install<\/code><\/p>\n<p>Siga las instrucciones y coloque la informaci\u00f3n de su base de datos y usuario administrador.<\/p>\n<p><font color=\"#3366ff\"><strong><u>4. Hack de archivos de Glossword<\/u><\/strong><\/font><\/p>\n<p>Yo recomiendo hacer una copia de los archivos originales de la instalaci\u00f3n, de manera de poder regresar a la condici\u00f3n original si alguno de estos pasos a continuaci\u00f3n no salen bien.<\/p>\n<p>Ubique el archivo:<\/p>\n<p><code>\/joomla\/components\/com_glossword\/db_config.php<\/code><\/p>\n<p>y haga el siguiente cambio (ajuste de acuerdo a su instalaci\u00f3n):<\/p>\n<p><code>$sys['server_proto'] = 'http:\/\/';<br \/>\n$sys['server_host'] = 'www.<em><u>supaginaweb<\/u><\/em>.com';<br \/>\n$sys['server_dir'] = '\/joomla\/components\/com_glossword';<br \/>\n$sys['server_url'] = 'www.<em><u>supaginaweb<\/u><\/em>.com\/joomla\/components\/com_glossword';<br \/>\n$sys['server_jurl'] = 'http:\/\/www.<\/code><em><u><code>supaginaweb<\/code><\/u><\/em><code>.net\/joomla';<\/code><\/p>\n<p>Nota: todas las expresiones van sin &#8216;\/&#8217; al final.<\/p>\n<p>La variable server_jurl es la direcci\u00f3n URL de la instalaci\u00f3n de joomla. Se usa como v\u00ednculo en los correos electr\u00f3nicos de contacto.<\/p>\n<p>Ubique el archivo:<\/p>\n<p><code>\/joomla\/components\/com_glossword\/inc\/config.inc.php<\/code><\/p>\n<p>y haga el siguiente cambio:<\/p>\n<p><code>$sys['ar_url_append'] = array('itemid' =&gt; '<\/code><u><em>coloque el <\/em><strong><font color=\"#008080\">itemid <\/font><\/strong><em>del componente aqu\u00ed<\/em>&#8216;<\/u>, &#8216;option&#8217; =&gt; &#8216;com_glossword&#8217;);<\/p>\n<p>ejemplo:  <code>array('itemid' =&gt; '3', 'option' =&gt; 'com_glossword')<\/code><\/p>\n<p>Ubique el archivo:<\/p>\n<p><code>\/joomla\/components\/com_glossword\/inc\/lib.prepend.php<\/code><\/p>\n<p>y haga el siguiente cambio:<\/p>\n<p><code>$sys['page_index'] = $sys['server_dir'] .'\/..\/..\/index.php';<\/code><\/p>\n<p>Ubique el archivo:<\/p>\n<p><code>\/joomla\/components\/com_glossword\/inc\/constructor.inc.php<\/code><\/p>\n<p>y haga el siguiente cambio:<\/p>\n<p>busque la siguiente secci\u00f3n a partir de la l\u00ednea 557:<\/p>\n<p><code>$gw_this['href_show_printversion'] = $oHtml-&gt;url_normalize($sys['page_index'] .'?'. GW_ACTION. '=' .GW_A_PRINT .'&amp;d='. $arDictParam['uri'] .'&amp;t='. $listA['uri']);<\/code><br \/>\n<code>$oHtml-&gt;setTag('a', 'onclick', \"self.location='\".$gw_this['href_show_printversion'].\"';return false\");<\/code><\/p>\n<p>y *REEMPLAZELA* por:<\/p>\n<p><code>$gw_this['href_show_printversion'] = $sys['server_url'] . '\/index.php?'. GW_ACTION. '=' .GW_A_PRINT .'&amp;d='. $arDictParam['uri'] .'&amp;t='. $listA['uri'];<\/code><br \/>\n<code>$oHtml-&gt;setTag('a', 'onclick', \"window.open('\".$gw_this['href_show_printversion'].\"');return false\");<\/code><\/p>\n<p>Ubique el archivo:<\/p>\n<p><code>\/joomla\/components\/com_glossword\/gw_addon\/gw_feedback\/index.php<\/code><\/p>\n<p>y haga los siguientes cambios:<\/p>\n<p>busque la l\u00ednea 189:<\/p>\n<p><code>$str_form .= $oForm-&gt;field('hidden', 'uid', $this-&gt;gw_this['vars']['uid']);<\/code><\/p>\n<p>y agregue lo siguiente a continuaci\u00f3n:<\/p>\n<p><code>\/* Append to URL *\/<\/code><br \/>\n<code>foreach ($this-&gt;sys['ar_url_append'] as $k =&gt; $v)<\/code><br \/>\n<code>{<\/code><br \/>\n<code>$str_form .= $oForm-&gt;field('hidden', $k, $v);<\/code><br \/>\n<code>}<\/code><\/p>\n<p>busque la l\u00ednea 334:<\/p>\n<p><code>$mail_sig = '&lt;a href=\"'.$this-&gt;sys['server_url'].'\/\" onclick=\"window.open(this);return false\"&gt;'.$this-&gt;sys['site_name'] . ' - ' . $this-&gt;sys['site_desc'].'&lt;\/a&gt;';<\/code><\/p>\n<p>y *REEMPLAZELA* por:<\/p>\n<p><code>$mail_sig = '&lt;a href=\"'.$this-&gt;sys['<strong><font color=\"#008080\">server_jurl<\/font><\/strong>'].'\/\" onclick=\"window.open(this);return false\"&gt;'.$this-&gt;sys['site_name'] . ' - ' . $this-&gt;sys['site_desc'].'&lt;\/a&gt;';<\/code><\/p>\n<p><font color=\"#3366ff\"><strong><u>5. Creaci\u00f3n del tema visual de glossword para Joomla.<\/u><\/strong><\/font><\/p>\n<ul>\n<li> Ingrese a gw_admin usando sus credenciales de administrador. El URL de back-end es:<\/li>\n<\/ul>\n<p><code>http:\/\/www.<u><em>supaginaweb<\/em><\/u>.com\/joomla\/components\/com_glossword\/gw_admin<\/code><\/p>\n<p>En este ejemplo, modifiqu\u00e9 el tema pre-determinado llamado \u2018Brand\u2019. Las instrucciones son iguales con cualquier otro.<\/p>\n<ul>\n<li> Exporte el tema a su escritorio. Para ello, navegue a: <strong>Visual Theme &gt; Browse &gt; Brand &gt; Export<\/strong>. Seleccione todas los archivos para exportaci\u00f3n, y haga \u201cSave\u201d. Luego le aparecer\u00e1 el v\u00ednculo del archivo del tema exportado. Usualmente en el formato: <em>gw_temp\/gw_export\/gw_brand.xml<\/em>. Haga \u2018right-click\u2019 y grabe el archivo localmente en su computador.<\/li>\n<li>Ubique el archivo XML generado y editelo, cambiando las siguientes opciones:<\/li>\n<\/ul>\n<p><code>&lt;style<br \/>\nid_theme=\"gw_glossword\"<br \/>\ntheme_name=\"Brand for Joomla\"<br \/>\ntheme_author=\"Guachiman\"<br \/>\ntheme_email=\"preguntas@guachiman.net\"<br \/>\ntheme_url=\"http:\/\/www.guachiman.net\"<br \/>\nversion=\"1.8.6\"&gt;<\/code><\/p>\n<ul>\n<li> Renombre el archivo a gw_joomword.xml<\/li>\n<li> Importe el tema usando la opci\u00f3n <strong>Visual Theme &gt; Import<\/strong><\/li>\n<li> Establezca el nuevo tema como predeterminado, usando la opci\u00f3n <strong>System &gt; Configuration &gt; Select new theme as default for system &gt;<\/strong> Seleccione &#8220;Brand for Joomla&#8221;<\/li>\n<li>Modifique los archivos del tema. Para ello vaya a <strong>Visual Theme &gt; Browse &gt; Brand for Joomla<br \/>\n<\/strong><\/li>\n<li> En CADA UNO de los archivos debe remover el mismo c\u00f3digo que se encuentra en las secciones de header y footer. El c\u00f3digo a remover de cada archivo es:<\/li>\n<\/ul>\n<p>Archivos a modificar: <u>Title Page, Dictionary<\/u> (estas p\u00e1gina cambian todas las p\u00e1ginas secundarias, excepto la p\u00e1gina Term Print)<\/p>\n<p>Remover de la secci\u00f3n HEADER:<\/p>\n<p><code>&lt;?xml version=\"1.0\" encoding=\"{%v:charset%}\"?&gt;<br \/>\n&lt;!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD XHTML 1.1\/\/EN\" \"http:\/\/www.w3.org\/TR\/xhtml11\/DTD\/xhtml11.dtd\"&gt;<br \/>\n&lt;html dir=\"{%v:text_direction%}\" xml:lang=\"{%v:language%}\" xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"&gt;<\/code><\/p>\n<p>y luego la secci\u00f3n:<\/p>\n<p><code>&lt;title&gt;{%v:html_title%}&lt;\/title&gt;<br \/>\n&lt;meta content=\"{%v:content_type%}; charset={%v:charset%}\" http-equiv=\"Content-Type\" \/&gt;<br \/>\n&lt;meta content=\"Glossword version {%v:glossword_version%}\" name=\"generator\" \/&gt;<br \/>\n&lt;meta content=\"{%v:meta_description%}\" name=\"description\" \/&gt;<br \/>\n&lt;meta content=\"{%v:meta_keywords%}\" name=\"keywords\" \/&gt;<br \/>\n&lt;meta content=\"index,noarchive\" name=\"robots\" \/&gt;<\/code><\/p>\n<p>y finalmente el tag<\/p>\n<p><code>&lt;body&gt;<\/code><\/p>\n<p>Remover de la secci\u00f3n FOOTER:<\/p>\n<p><code>&lt;\/body&gt;&lt;\/html&gt;<\/code><\/p>\n<p>Editar el archivo CSS y BORRE la secci\u00f3n de BODY (hace conflicto con la secci\u00f3n de BODY de Joomla):<\/p>\n<p><code>body {<br \/>\ntext-align: center;<br \/>\npadding: 0em;<br \/>\nmargin: 0;<br \/>\ncolor: {color_black};<br \/>\nbackground: #FAFAFA url({v:path_css}\/bg_body.png);<br \/>\ncursor: default;<br \/>\n}<\/code><\/p>\n<p>Por \u00faltimo, cambie el ancho del tema a 100% para que rellene el ancho de la pantalla del contenido principal de joomla. Este valor se encuentra en la secci\u00f3n:<\/p>\n<p><code>.{v:visualtheme} {<br \/>\ntext-align: {v:css_align_left};<br \/>\nmargin: 0 auto;<br \/>\nfont-size: 100%;<br \/>\nwidth: <strong><font color=\"#ff0000\">100%<\/font><\/strong>;<br \/>\nborder-left: 1px solid {color_5};<br \/>\nborder-right: 1px solid {color_5};<br \/>\n}<\/code><\/p>\n<p><a href=\"http:\/\/www.guachiman.net\/blog\/wp-content\/uploads\/2008\/04\/glossword186_in_joomla.jpg\" title=\"Glossword 1.8.6 in Joomla Installation\"><img decoding=\"async\" src=\"http:\/\/www.guachiman.net\/blog\/wp-content\/uploads\/2008\/04\/glossword186_in_joomla.thumbnail.jpg\" alt=\"Glossword 1.8.6 in Joomla Installation\" align=\"left\" border=\"0\" \/><\/a>y Listo!! Lo m\u00e1s probable es que necesite ajustar m\u00e1s valores en el archivo del CSS de Glossword, para lograr la compleata integraci\u00f3n de dise\u00f1o con su instalaci\u00f3n de Joomla.  Nota: Los COLORES se editan desde el back-end del administrador, en el editor de Visual Theme, NO directamente en el archivo de CSS.<\/p>\n<p>Espero les sea \u00fatil esta gu\u00eda!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Glossword es un programa de creaci\u00f3n de glosarios y diccionarios hecho por Dmitry N. Shilnikov, que us\u00e9 para La Chuleta Venezolana. En un principio lo ten\u00eda como stand-alone, pero al crecer el n\u00famero de visitantes, y por los comentarios que recib\u00ed, decid\u00ed integrarlo a Joomla, de manera de poder a\u00f1adirle m\u00e1s funcionabilidad (foros, mailing list, &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.guachiman.net\/blog\/jota\/joomla-glossword\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Glossword&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":74,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"footnotes":""},"class_list":["post-91","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/pages\/91","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/comments?post=91"}],"version-history":[{"count":0,"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/pages\/91\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/pages\/74"}],"wp:attachment":[{"href":"https:\/\/www.guachiman.net\/blog\/wp-json\/wp\/v2\/media?parent=91"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}