<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8681853551766938564</atom:id><lastBuildDate>Wed, 02 Oct 2024 21:58:07 +0000</lastBuildDate><category>python</category><category>eclipse</category><category>ubuntu</category><category>django</category><category>openerp</category><category>php</category><category>install</category><category>node.js</category><category>bash</category><category>error</category><category>git</category><category>linux</category><category>npm</category><category>postgresql</category><category>script</category><category>servidor</category><category>svn</category><category>arquitectura</category><category>arranque</category><category>autenticación</category><category>bug</category><category>configuración</category><category>consola</category><category>cookie</category><category>diccionario</category><category>drivers</category><category>ethernet</category><category>express.js</category><category>externo</category><category>filtros</category><category>gist</category><category>lib</category><category>manage.py</category><category>markdown</category><category>mercurial</category><category>mysql</category><category>oc4j</category><category>parsing</category><category>password</category><category>passwords</category><category>permisos</category><category>plugin</category><category>prestashop</category><category>procesos</category><category>pydev</category><category>red</category><category>search</category><category>setting.py</category><category>setup</category><category>setup.py</category><category>sintaxis</category><category>smarty</category><category>so</category><category>soap</category><category>soapui</category><category>ssh</category><category>subversion</category><category>uml</category><category>uninstall</category><category>usuarios</category><category>websocket</category><category>windows</category><category>xml</category><title>Papel Tank</title><description>Piedra papel tijeras lagarto spock</description><link>http://papeltank.blogspot.com/</link><managingEditor>noreply@blogger.com (Anonymous)</managingEditor><generator>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-6486518082473177862</guid><pubDate>Fri, 30 Mar 2012 06:37:00 +0000</pubDate><atom:updated>2012-03-30T08:41:14.703+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bash</category><category domain="http://www.blogger.com/atom/ns#">linux</category><title>Añadiendo usuario al grupo de sudo</title><description>Con esta orden&amp;nbsp;permitiéremos&amp;nbsp;ejecutar ordenes con sudo al usuario &amp;lt;username&amp;gt; ya creado&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sudo usermod -a -G sudo &amp;lt;username&amp;gt;&lt;/pre&gt;&lt;br /&gt;
Evitando:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;is not in the sudoers file. This incident will be reported.&lt;/pre&gt;</description><link>http://papeltank.blogspot.com/2012/03/anadiendo-usuario-al-grupo-de-sudo.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-8111038343946354490</guid><pubDate>Mon, 26 Mar 2012 18:00:00 +0000</pubDate><atom:updated>2012-03-26T21:34:42.805+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">install</category><category domain="http://www.blogger.com/atom/ns#">node.js</category><category domain="http://www.blogger.com/atom/ns#">npm</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Instalando node.js + npm Ubuntu 11.10</title><description>Instalación node.js + npm sin calentarnos la cabeza y de forma local en tu carpeta de usuario.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Requerimientos:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre&gt;$ sudo apt-get install build-essential g++&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Instalación:&lt;/div&gt;
&lt;div&gt;
&lt;script src=&quot;https://gist.github.com/579814.js?file=node-and-npm-in-30-seconds.sh&quot;&gt;
&lt;/script&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Referencia:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;https://gist.github.com/579814#file_node_and_npm_in_30_seconds.sh&quot;&gt;https://gist.github.com/579814#file_node_and_npm_in_30_seconds.sh&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2012/03/instanlando-nodejs-npm-ubuntu-1110.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-3162012326473078724</guid><pubDate>Mon, 19 Mar 2012 19:00:00 +0000</pubDate><atom:updated>2012-03-20T16:24:52.381+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">lib</category><category domain="http://www.blogger.com/atom/ns#">openerp</category><category domain="http://www.blogger.com/atom/ns#">php</category><title>PHP library for OpenERP - openerplib</title><description>&lt;span style=&quot;font-size: large;&quot;&gt;&lt;b&gt;openerplib&lt;/b&gt;&lt;/span&gt;&amp;nbsp;(&lt;a href=&quot;https://github.com/b3ni/openerplib&quot;&gt;https://github.com/b3ni/openerplib&lt;/a&gt;),&lt;br /&gt;
&lt;br /&gt;
&lt;h1 style=&quot;-webkit-font-smoothing: antialiased; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font: inherit; margin-bottom: 10px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;





es una librería que escrito en&amp;nbsp;PHP&amp;nbsp;para facilitar operaciones xmlrpc con &lt;a href=&quot;http://www.openerp.com/&quot;&gt;OpenERP&lt;/a&gt;. Está inspirada en el ORM de &lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; y montada encima de la librería&amp;nbsp;&lt;a href=&quot;http://phpxmlrpc.sourceforge.net/&quot;&gt;xmlrpc.inc&lt;/a&gt;&lt;/h1&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Métodos disponibles:&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;CRUD sobre modelos&lt;/li&gt;
&lt;li&gt;Navegabilidad&amp;nbsp;many2one / one2many&lt;/li&gt;
&lt;li&gt;Ejecutar métodos de modelos&lt;/li&gt;
&lt;li&gt;Añadir adjuntos&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;div&gt;
Un&amp;nbsp;ejemplo de navegabilidad:&lt;/div&gt;
&lt;br /&gt;
&lt;pre&gt;$open = new OpenERP();
$p = $open-&amp;gt;res_partner(&#39;country&#39;)-&amp;gt;get(1);&amp;nbsp;
print $p-&amp;gt;id;
print $p-&amp;gt;country-&amp;gt;id; //many2one =&amp;gt; res.country&amp;nbsp;
print $p-&amp;gt;country(&#39;name&#39;)-&amp;gt;name;
&lt;/pre&gt;
&lt;br /&gt;
&lt;div&gt;
Ejemplo de búsquedas:&lt;/div&gt;
&lt;br /&gt;
&lt;pre&gt;$fields = array(&#39;street&#39;, &#39;email&#39;);
$results = $open-&amp;gt;res_partner_address($fields)-&amp;gt;search(&#39;email&#39;, &#39;=&#39;, &#39;foo@bar.com&#39;);
foreach ($results as $id =&amp;gt; $address) {
 print &quot;&amp;lt;h1&amp;gt;&quot; . $id . &quot;&amp;lt;/h1&amp;gt;&quot;;
 print &quot;&amp;lt;pre&amp;gt;&quot; . $address-&amp;gt;info() . &quot;&amp;lt;/pre&amp;gt;&quot;;
 print &quot;&amp;lt;hr&amp;gt;&quot;;
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;div&gt;
Mas info:&amp;nbsp;&lt;a href=&quot;https://github.com/b3ni/openerplib&quot;&gt;https://github.com/b3ni/openerplib&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2012/03/php-library-for-openerp-openerplib.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-6144842754924093504</guid><pubDate>Wed, 07 Mar 2012 18:44:00 +0000</pubDate><atom:updated>2012-03-07T19:44:33.668+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">eclipse</category><category domain="http://www.blogger.com/atom/ns#">git</category><category domain="http://www.blogger.com/atom/ns#">markdown</category><category domain="http://www.blogger.com/atom/ns#">plugin</category><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">svn</category><title>Mis Plugins para Eclipse</title><description>Mi lista de plugins actuales para Eclipse y desarrollo web.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Eclipse&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Me baso en:&amp;nbsp;Eclipse IDE for JavaScript Web Developers. Este plugin trae:&lt;br /&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Coloreado de syntasis, html, javascript, css,...&lt;/li&gt;
&lt;li&gt;Autocompletado de css. Muy util para no ir buscando las propiedades que quieres aplicar.&lt;/li&gt;
&lt;li&gt;Formateo de xml. Pretty print para ficheros xml, a veces es necesario&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Donwload:&amp;nbsp;&lt;a href=&quot;http://www.eclipse.org/downloads/packages/eclipse-ide-javascript-web-developers/indigosr2&quot;&gt;http://www.eclipse.org/downloads/packages/eclipse-ide-javascript-web-developers/indigosr2&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Gestión de versiones&lt;/span&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;Subclipse&lt;/b&gt;&lt;br /&gt;
Para gestionar repositorios &lt;a href=&quot;http://subversion.tigris.org/&quot;&gt;Subversion&lt;/a&gt;, el sucesor de CVS.&lt;br /&gt;
&lt;br /&gt;
URL:&amp;nbsp;&lt;a href=&quot;http://marketplace.eclipse.org/node/979&quot;&gt;http://marketplace.eclipse.org/node/979&lt;/a&gt;&lt;br /&gt;
Download: Desde Eclipse MarketPlace&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIfTVGF_O3q3WkTc5Q1BgrOUCRPTagDUMay-xPN-GvQfhmMolPcTP7F_acIHpL9e-hMkn4klO1BigymbW1ZslFBXEL0NBWBNlGpEiI29UBEmsq8vqzSYPxptHa1JXnDo5CGraauRYV8jI/s1600/%C3%81rea+de+trabajo+1_070.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;362&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIfTVGF_O3q3WkTc5Q1BgrOUCRPTagDUMay-xPN-GvQfhmMolPcTP7F_acIHpL9e-hMkn4klO1BigymbW1ZslFBXEL0NBWBNlGpEiI29UBEmsq8vqzSYPxptHa1JXnDo5CGraauRYV8jI/s400/%C3%81rea+de+trabajo+1_070.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Git&lt;/b&gt;&lt;br /&gt;
Muy de moda últimamente por sitios como&amp;nbsp;&lt;a href=&quot;https://github.com/&quot;&gt;Github&lt;/a&gt; y &lt;a href=&quot;https://github.com/&quot;&gt;Bitbucket&lt;/a&gt;. En otro &lt;a href=&quot;http://papeltank.blogspot.com/2011/11/git-repository-bitbucketorg-ubuntu-1110.html&quot;&gt;post&lt;/a&gt; ya indique como configurar Git en Eclipse.&lt;br /&gt;
&lt;br /&gt;
URL:&amp;nbsp;&lt;a href=&quot;http://www.eclipse.org/egit/&quot;&gt;http://www.eclipse.org/egit/&lt;/a&gt;&lt;br /&gt;
Download: Desde Eclipse MarketPlace&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEjbsUFlXN_1qi9yBHFmjIa1GRAVOiKbu7ivD5iN7GlfvR03Vz1F2cr8CBHdpGGK9-RItcVNcIvVqLsBf83atXxwvF6Ps33DpEAv7vjovKTZH2y6_AUWE7mjYQgAQQNs6BZyQ49CfG32Y/s1600/%C3%81rea+de+trabajo+1_071.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;381&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEjbsUFlXN_1qi9yBHFmjIa1GRAVOiKbu7ivD5iN7GlfvR03Vz1F2cr8CBHdpGGK9-RItcVNcIvVqLsBf83atXxwvF6Ps33DpEAv7vjovKTZH2y6_AUWE7mjYQgAQQNs6BZyQ49CfG32Y/s400/%C3%81rea+de+trabajo+1_071.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Python + Django&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Pydev&lt;/b&gt;&lt;br /&gt;
Editor por excelencia en Eclipse. Muchas posibilidades como: sintaxis, autocompletado, debugger, formateo de código,...&lt;br /&gt;
&lt;br /&gt;
Una utilidad que he descubierto hace poco, es integralo con &lt;a href=&quot;http://pypi.python.org/pypi/pep8&quot;&gt;pep8.py&lt;/a&gt;, para chequear tu código con las convenciones de estilos definidas en &lt;a href=&quot;http://www.python.org/dev/peps/pep-0008/&quot;&gt;Style Guide for Python Code&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Ahora tu código python será aún más bonito.&lt;br /&gt;
&lt;br /&gt;
URL:&amp;nbsp;&lt;a href=&quot;http://pydev.org/&quot;&gt;http://pydev.org/&lt;/a&gt;&lt;br /&gt;
Download: Desde Eclipse MarketPlace&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTxBBt0QyrvLP5hTUOHHMf-wk-VhgLEEv3LT4dqiGb9FVvxOgVOiLMmeZ-_TulzmbpfXpXebMI0FIIJhl72vPOoJDBY7QVzysqzeybne_zQ8ASDJ2NfMaqUFd-GXGxK3HnwWs7JyXfsXI/s1600/Selecci%C3%B3n_072.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;285&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTxBBt0QyrvLP5hTUOHHMf-wk-VhgLEEv3LT4dqiGb9FVvxOgVOiLMmeZ-_TulzmbpfXpXebMI0FIIJhl72vPOoJDBY7QVzysqzeybne_zQ8ASDJ2NfMaqUFd-GXGxK3HnwWs7JyXfsXI/s400/Selecci%C3%B3n_072.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Django Editor&lt;/b&gt;&lt;br /&gt;
Plugin para editor de plantillas de&amp;nbsp;&lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt;. Simple pero efectivo.&lt;br /&gt;
&lt;br /&gt;
URL:&amp;nbsp;&lt;a href=&quot;http://eclipse.kacprzak.org/&quot;&gt;http://eclipse.kacprzak.org/&lt;/a&gt;&lt;br /&gt;
Download: Añadiendo una fuente en Install New Software.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9sLkJef55E5BjEqeLg1Rp6xblQoBm3ocIKHaA3IxHXPl-dOMTR0x0qoc6jUkdyjY362FjayUsfSFxcDasw_Qr940EqFVneudXNPnfb7UbXCRfCGrBI5tl1ZrICnwbEw1bI95FgYcwoA0/s1600/%C3%81rea+de+trabajo+1_065.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;197&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj9sLkJef55E5BjEqeLg1Rp6xblQoBm3ocIKHaA3IxHXPl-dOMTR0x0qoc6jUkdyjY362FjayUsfSFxcDasw_Qr940EqFVneudXNPnfb7UbXCRfCGrBI5tl1ZrICnwbEw1bI95FgYcwoA0/s200/%C3%81rea+de+trabajo+1_065.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSzgXi2xo70R86PlOl3NM-lEH3ULhANf0PpK3afx3wtPqeFlrKDLzzDshA_xheMJc_b_ocnJdq-QCZbga9zGpWNhWyKLw6fgYpYwbcqMQ-0DPR4QANS4mx1sxJEnyfOgqUtz_jVV11FaQ/s1600/Selecci%C3%B3n_069.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;314&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSzgXi2xo70R86PlOl3NM-lEH3ULhANf0PpK3afx3wtPqeFlrKDLzzDshA_xheMJc_b_ocnJdq-QCZbga9zGpWNhWyKLw6fgYpYwbcqMQ-0DPR4QANS4mx1sxJEnyfOgqUtz_jVV11FaQ/s640/Selecci%C3%B3n_069.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Otros&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Markdown Editor&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Plugin para editar&amp;nbsp;cómodamente&amp;nbsp;fichero .md con posibilidad de vista prévia.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
URL:&amp;nbsp;&lt;a href=&quot;http://www.winterwell.com/software/markdown-editor.php&quot;&gt;http://www.winterwell.com/software/markdown-editor.php&lt;/a&gt;&lt;br /&gt;
Download: Añadiendo una fuente en Install New Software.&lt;br /&gt;
&lt;br /&gt;
Nota: para poder instalarlo en Eclipse 3.5, en la ventana de añadir nuevo software, hay que desactivar la opción: &quot;Group items by category&quot;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyoyPndVOItrFMzgjXWcGtZq3OzGRDYV6MtpM6l-aspa_QHplpjsXkbqRHGdCxwm5tHiuvnS-u3kre-TnT54YgS_HsDPWrFQqSvs-2Md_NxtO2U8Y_-tCve-HE2T1sfpJHEEY-wJ0LSMg/s1600/Install+_066.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;159&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyoyPndVOItrFMzgjXWcGtZq3OzGRDYV6MtpM6l-aspa_QHplpjsXkbqRHGdCxwm5tHiuvnS-u3kre-TnT54YgS_HsDPWrFQqSvs-2Md_NxtO2U8Y_-tCve-HE2T1sfpJHEEY-wJ0LSMg/s200/Install+_066.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLoiEhcktJiCFjtdHScm93aV1AIEklDXfnM0KiIR8cBFrZBrHTw04tBVupMVAD4kPQnSt0b_lCViNIOGQ6Rgo-ye14MCoFRV5by-Ppxgtbi6FRcohpmcc9MMsi7JJjVNj7H84VYpxZ3fU/s1600/Selecci%C3%B3n_068.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLoiEhcktJiCFjtdHScm93aV1AIEklDXfnM0KiIR8cBFrZBrHTw04tBVupMVAD4kPQnSt0b_lCViNIOGQ6Rgo-ye14MCoFRV5by-Ppxgtbi6FRcohpmcc9MMsi7JJjVNj7H84VYpxZ3fU/s640/Selecci%C3%B3n_068.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
¿que plugin es para ti esencial?&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2012/03/mis-plugins-para-eclipse.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIfTVGF_O3q3WkTc5Q1BgrOUCRPTagDUMay-xPN-GvQfhmMolPcTP7F_acIHpL9e-hMkn4klO1BigymbW1ZslFBXEL0NBWBNlGpEiI29UBEmsq8vqzSYPxptHa1JXnDo5CGraauRYV8jI/s72-c/%C3%81rea+de+trabajo+1_070.png" height="72" width="72"/><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-1516226460628607659</guid><pubDate>Tue, 20 Dec 2011 18:30:00 +0000</pubDate><atom:updated>2011-12-23T08:43:54.074+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">django</category><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">websocket</category><title>Django + Socket.io</title><description>Si queremos &lt;a href=&quot;http://es.wikipedia.org/wiki/WebSocket&quot;&gt;Websocket&lt;/a&gt; en nuestra aplicación &lt;a href=&quot;https://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt;, hay que calentarse un poco la cabeza.&lt;br /&gt;
&lt;br /&gt;
La versión actual de mod_wsgi no es posible tener websocket. &lt;a href=&quot;http://groups.google.com/group/paste-users/browse_thread/thread/2f3a5ba33b857c6c?pli=1&quot;&gt;Aquí&lt;/a&gt; se discute como extender el módulo de Apache para permitir estas conexiones. Lo dejamos en espera.&lt;br /&gt;
&lt;br /&gt;
Podemos utilizar el webserver &lt;a href=&quot;http://www.tornadoweb.org/&quot;&gt;Tornado&lt;/a&gt;, un server no bloqueante desarrollado por &lt;a href=&quot;http://friendfeed.com/&quot;&gt;FriendFeed&lt;/a&gt; (Facebook). O utilizar soluciones con &lt;a href=&quot;http://www.gevent.org/&quot;&gt;gevent&lt;/a&gt;. Esta&amp;nbsp;librería&amp;nbsp;de python nos permite realizar peticiones&amp;nbsp;asíncronas&amp;nbsp;tirando de &lt;a href=&quot;http://libevent.org/&quot;&gt;libevent&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Para no complicarnos, podemos utilizar la aplicación&amp;nbsp;&lt;a href=&quot;https://github.com/stephenmcd/django-socketio&quot;&gt;django_socketio&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Con esta app tenemos un websocket y el cliente para javascript de &lt;a href=&quot;http://socket.io/&quot;&gt;socket.io&lt;/a&gt;&amp;nbsp;con todas las dependencias que necesitamos.&lt;br /&gt;
&lt;br /&gt;
Al turrón...&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Instalamos django-socketio.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;$ sudo apt-get install python-dev build-essential libevent-1.4-2 libevent-dev
$ sudo pip install django_socketio
[...]
Successfully installed django-socketio gevent-socketio sphinx-me gevent-websocket gevent greenlet&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Añadimos la aplicación al settings.py&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:python&quot;&gt;INSTALLED_APPS = (
    &#39;django.contrib.auth&#39;,
    &#39;django.contrib.contenttypes&#39;,
    &#39;django.contrib.sessions&#39;,
    &#39;django.contrib.sites&#39;,
    &#39;django.contrib.messages&#39;,

    # Uncomment the next line to enable the admin:
    &#39;django.contrib.admin&#39;,

    # Uncomment the next line to enable admin documentation:
    # &#39;django.contrib.admindocs&#39;,

    # socket
    &#39;django_socketio&#39;,
)&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Añadimos a urls.py&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:python&quot;&gt;urlpatterns += patterns(&#39;&#39;,
    (&quot;&quot;, include(&quot;django_socketio.urls&quot;)),

    [otras urls]
)&lt;/pre&gt;&lt;br /&gt;
Ahora creamos las vistas que serán el punto de entrada para los eventos del websocket.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:python&quot;&gt;@events.on_subscribe(channel=&quot;^canal-&quot;)
def menssaje(request, socket, context, channel):
    if not request.user.is_authenticated():
        socket.send_and_broadcast_channel({&#39;action&#39;: &#39;connect&#39;, &#39;text&#39;: &#39;Bienvenido Invitado&#39;}, channel=channel)
    else:
        socket.send_and_broadcast_channel({&#39;action&#39;: &#39;connect&#39;, &#39;text&#39;: &#39;Bienvenido %s&#39; % str(request.user.username)}, channel=channel)&lt;/pre&gt;&lt;br /&gt;
Hay diferentes decoradores para recibir los eventos que se&amp;nbsp;envíen&amp;nbsp;al socket. (Consultar sección &lt;i&gt;Broadcast and Send Methods&lt;/i&gt; en el proyecto)&lt;br /&gt;
&lt;br /&gt;
En este ejemplo, los usuarios se&amp;nbsp;subscribirán&amp;nbsp;a canales con nombre &quot;canal-ID&quot;. Cuando lo hagan se&amp;nbsp;enviarán&amp;nbsp;mensajes, tanto al usuario que se ha suscrito, como al resto de clientes conectados al mismo canal.&lt;br /&gt;
&lt;br /&gt;
Otra vista podría ser del tipo:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:python&quot;&gt;@events.on_message(channel=&quot;^canal-&quot;)
def message(request, socket, context, message):
    message = message[0]

    action = message[&quot;action&quot;]
    text = message[&quot;text&quot;]

    if action == &#39;talk&#39;:
        print text

        socket.broadcast_channel({&#39;action&#39;: &#39;talk&#39;, &#39;text&#39;: text}, channel)&lt;/pre&gt;&lt;br /&gt;
Un usuario envía al socket un mensaje que será enviado al resto de clientes.&lt;br /&gt;
&lt;br /&gt;
Como se ve, se ha definido un protocolo de comunicación entre el cliente y el servidor. Con el&amp;nbsp;parámetro&amp;nbsp;&lt;i&gt;action&lt;/i&gt;, se&amp;nbsp;controla&amp;nbsp;las diferentes acciones que se pueden hacer en nuestra aplicación.&lt;br /&gt;
&lt;br /&gt;
Ahora la parte del cliente que se comunica con el server. (simplifico al máximo)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;template.html&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:javascript&quot;&gt;&lt;script type=&quot;text/javascript&quot;&gt;
 // path para socket.io
 WEB_SOCKET_SWF_LOCATION = &quot;{{ STATIC_URL }}WebSocketMain.swf&quot;;
 WEB_SOCKET_DEBUG = true;
 
    // creamos la coneción con el socket
 var socket = new io.Socket();
 socket.connect();
 socket.on(&#39;connect&#39;, function() {
  socket.subscribe(&#39;canal-&#39; + &#39;69&#39;);
    });

    // manejador de eventos
    socket.on(&#39;message&#39;, function(data) {
        switch(data.action) {
        case &#39;connect&#39;:
            alert(&quot;NEW: &quot; + data.text);
            break;
        case &#39;text&#39;:
            alert(&quot;SAY SOMEBODY: &quot; + data.text);
            break;
        }
    });

    // enviamos nosotros un mensajito sexy
    socket.send({&quot;action&quot;: &quot;text&quot;, &quot;text&quot;: &quot;So cool&quot;});
&lt;/script&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Para arrancar la aplicación&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;$ ./manage.py runserver_socketio&lt;/pre&gt;&lt;br /&gt;
Ya veremos en próximas entregas como pasarlo a un entorno de producción.&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;https://github.com/stephenmcd/django-socketio&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;https://github.com/stephenmcd/django-socketio&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://socket.io/&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;http://socket.io/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;</description><link>http://papeltank.blogspot.com/2011/12/django-socketio.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-7369645006527956881</guid><pubDate>Fri, 09 Dec 2011 17:30:00 +0000</pubDate><atom:updated>2011-12-09T18:30:00.549+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">gist</category><category domain="http://www.blogger.com/atom/ns#">php</category><title>Add days to date in PHP</title><description>La siguiente función sumará un número determinado de días a un fecha dada.&lt;br /&gt;
&lt;br /&gt;
&lt;script src=&quot;https://gist.github.com/1450902.js?file=add_days.php&quot;&gt;&lt;/script&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.vision.to/how-to-add-days-weeks-months-to-any-date-.php&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://www.vision.to/how-to-add-days-weeks-months-to-any-date-.php&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://php.net/manual/en/function.date.php&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://php.net/manual/en/function.date.php&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://php.net/manual/en/function.strtotime.php&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://php.net/manual/en/function.strtotime.php&lt;/span&gt;&lt;/a&gt;</description><link>http://papeltank.blogspot.com/2011/12/add-days-to-date-in-php.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-2752484390532523975</guid><pubDate>Tue, 29 Nov 2011 17:04:00 +0000</pubDate><atom:updated>2011-12-02T18:33:14.517+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">express.js</category><category domain="http://www.blogger.com/atom/ns#">node.js</category><title>Hello World Node.js + Express.js</title><description>Creando un hola mundo con express.js + node.js.&lt;br /&gt;
&lt;br /&gt;
Instalamos node.js + npm (ya lo vimos &lt;a href=&quot;http://papeltank.blogspot.com/2011/11/hola-mundo-en-nodejs-ubuntu-1110.html&quot;&gt;aquí&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Instalamos express.js&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;$ npm install -g express

/home/b3ni/local/bin/express -&amp;gt; /home/b3ni/local/lib/node_modules/express/bin/express
qs@0.4.0 /home/b3ni/local/lib/node_modules/express/node_modules/qs 
mkdirp@0.0.7 /home/b3ni/local/lib/node_modules/express/node_modules/mkdirp 
mime@1.2.4 /home/b3ni/local/lib/node_modules/express/node_modules/mime 
formidable@1.0.8 /home/b3ni/local/lib/node_modules/express/node_modules/connect/node_modules/formidable 
connect@1.8.1 /home/b3ni/local/lib/node_modules/express/node_modules/connect 
express@2.5.1 /home/b3ni/local/lib/node_modules/express 
&lt;/pre&gt;
&lt;br /&gt;
Creamos carpeta para el proyecto, en mi caso, mi proyecto git + bitbucket (ya lo vimos &lt;a href=&quot;http://papeltank.blogspot.com/2011/11/git-repository-bitbucketorg-ubuntu-1110.html&quot;&gt;aquí&lt;/a&gt;)
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;$ cd ~/git/proyecto
$ express

destination is not empty, continue? yes

   create : .
   create : ./package.json
   create : ./app.js
   create : ./public
   create : ./routes
   create : ./routes/index.js
   create : ./views
   create : ./views/layout.jade
   create : ./views/index.jade
   create : ./public/javascripts
   create : ./public/images
   create : ./public/stylesheets
   create : ./public/stylesheets/style.css

   dont forget to install dependencies:
   $ cd . &amp;amp;&amp;amp; npm install
&lt;/pre&gt;
&lt;br /&gt;
Instalamos&amp;nbsp;dependencia si son necesarias.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;$ npm install -g express

/home/b3ni/local/bin/express -&amp;gt; /home/b3ni/local/lib/node_modules/express/bin/express
qs@0.4.0 /home/b3ni/local/lib/node_modules/express/node_modules/qs 
mkdirp@0.0.7 /home/b3ni/local/lib/node_modules/express/node_modules/mkdirp 
mime@1.2.4 /home/b3ni/local/lib/node_modules/express/node_modules/mime 
formidable@1.0.8 /home/b3ni/local/lib/node_modules/express/node_modules/connect/node_modules/formidable 
connect@1.8.1 /home/b3ni/local/lib/node_modules/express/node_modules/connect 
express@2.5.1 /home/b3ni/local/lib/node_modules/express
&lt;/pre&gt;
&lt;br /&gt;
Ya podemos arrancar el server con&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:bash&quot;&gt;$ node app.js
Express server listening on port 3000 in development mode
&lt;/pre&gt;
&lt;br /&gt;
Vamos a escribir el mensaje Hello World. Para ello miramos la vista que se está renderizando.&amp;nbsp;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:js&quot;&gt;// Routes
app.get(&#39;/&#39;, routes.index);

En la configuración tenemos:

app.configure(function(){
  app.set(&#39;views&#39;, __dirname + &#39;/views&#39;);
  app.set(&#39;view engine&#39;, &#39;jade&#39;);
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(app.router);
  app.use(express.static(__dirname + &#39;/public&#39;));
});
&lt;/pre&gt;
&lt;br /&gt;
Podemos ver que los ficheros éstaticos se sirven con node.js y están ela carperta /public. Las vistas estás en /views. Editamos el template /views/index.jade y lo cambiamos a nuestro gusto
&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;brush:text&quot;&gt;h1= title
p Hello World
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOjK1rF3pOKR379uBTFclCHwmMcQhBVnOtj6vxUJGpIQO6cY07gQwhDwLTvQkqb9i6JIQdNWAJih7PtLPVfP-1eCZ1FmC5GuIiE7H-50S_pS_SvQOL3oX9caUpkyfOwafG54Wvm10sNTs/s1600/Selecci%25C3%25B3n_062.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOjK1rF3pOKR379uBTFclCHwmMcQhBVnOtj6vxUJGpIQO6cY07gQwhDwLTvQkqb9i6JIQdNWAJih7PtLPVfP-1eCZ1FmC5GuIiE7H-50S_pS_SvQOL3oX9caUpkyfOwafG54Wvm10sNTs/s1600/Selecci%25C3%25B3n_062.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://expressjs.com/guide.html&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://expressjs.com/guide.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</description><link>http://papeltank.blogspot.com/2011/11/hello-world-nodejs-expressjs.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOjK1rF3pOKR379uBTFclCHwmMcQhBVnOtj6vxUJGpIQO6cY07gQwhDwLTvQkqb9i6JIQdNWAJih7PtLPVfP-1eCZ1FmC5GuIiE7H-50S_pS_SvQOL3oX9caUpkyfOwafG54Wvm10sNTs/s72-c/Selecci%25C3%25B3n_062.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-6804669361948440920</guid><pubDate>Tue, 15 Nov 2011 20:00:00 +0000</pubDate><atom:updated>2011-11-16T20:10:00.469+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">configuración</category><category domain="http://www.blogger.com/atom/ns#">mysql</category><category domain="http://www.blogger.com/atom/ns#">search</category><title>MySQL Full Text y longitud de palabras</title><description>Si utilizamos índices Full Text en nuestras consultas de Mysql, quizás interese establecer la longitud mínima de palabra al valor que nos interese.&lt;br /&gt;
&lt;br /&gt;
Por defecto este valor se establece a 4. De esta forma, si realizamos búsquedas del tipo:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;SELECT *&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;FROM products&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;WHERE MATCH (title)&amp;nbsp;AGAINST (&#39;+Pad&#39; IN BOOLEAN MODE);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
No dará resultados para productos con nombre: &quot;Papyre Pad&quot;&lt;br /&gt;
&lt;br /&gt;
Para establecer el valor de la variable, se debe hacer en el fichero de configuración de Msyql.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ sudo vi /etc/mysql/conf.d/variables.cnf&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;[mysqld]&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;set-variable &amp;nbsp; &amp;nbsp;= ft_min_word_len=3&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ sudo /etc/init.d/mysql restart&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Reparamos las tablas con indices Full Text.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;mysql&amp;gt; REPAIR TABLE products QUICK;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_ft_min_word_len&quot;&gt;http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_ft_min_word_len&lt;/a&gt;&lt;/span&gt;</description><link>http://papeltank.blogspot.com/2011/11/mysql-full-text-y-longitud-de-palabras.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-7534323744744722952</guid><pubDate>Sat, 12 Nov 2011 12:17:00 +0000</pubDate><atom:updated>2011-11-29T09:47:39.088+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">node.js</category><category domain="http://www.blogger.com/atom/ns#">npm</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Hola Mundo en Node.js / Ubuntu 11.10</title><description>HOWTO para instalar Node.js en Ubuntu 11.10&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Instalando node.js&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Se instalará &lt;a href=&quot;http://nodejs.org/&quot;&gt;node.js&lt;/a&gt; en tu carpeta de usuario: ~/local/bin&lt;br /&gt;
La versión a instalar será la 0.4.7, para luego poder deployarlo en &lt;a href=&quot;http://www.heroku.com/&quot;&gt;Heroku&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ sudo apt-get install libssl-dev&amp;nbsp;build-essential g++ curl git&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ mkdir ~/local&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ echo &#39;export PATH=$HOME/local/bin:$PATH&#39; &amp;gt;&amp;gt; ~/.bashrc&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ source ~/.bashrc&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ export NODE_VERSION=&#39;0.4.7&#39;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$&amp;nbsp;wget http://nodejs.org/dist/node-v$NODE_VERSION.tar.gz&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ tar xvfz node-v$NODE_VERSION.tar.gz&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$&amp;nbsp;cd node-v$NODE_VERSION&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ ./configure --prefix=~/local&amp;nbsp;--without-ssl&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ make install&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ cd ~&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Instalando npm&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://npmjs.org/&quot;&gt;Npm&lt;/a&gt; es el gestor de paquetes de node.js.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ curl http://npmjs.org/install.sh | sh&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Probando&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Creamos el fichero test.js con el contenido.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;var http = require(&#39;http&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;http.createServer(function (req, res) {&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; res.writeHead(200, {&#39;Content-Type&#39;: &#39;text/plain&#39;});&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; res.end(&#39;Hello World\n&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;}).listen(1337, &quot;127.0.0.1&quot;);&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;console.log(&#39;Server running at http://127.0.0.1:1337/&#39;);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Ejecutamos...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ node test.js&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Server running at http://127.0.0.1:1337/&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyIX9QUyA3YjmxkqrilfnezMTe_bPyVArZW7XGxvMnhSq9zfbrJjz_CcIJCuejeWnxxaFwEExNLMx2v1M496CAi81XoxhqRPqtEmExW4a5yCytE-xwHlrwtzuPzgpNxKuLLci1jCs0Mlc/s1600/0016.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyIX9QUyA3YjmxkqrilfnezMTe_bPyVArZW7XGxvMnhSq9zfbrJjz_CcIJCuejeWnxxaFwEExNLMx2v1M496CAi81XoxhqRPqtEmExW4a5yCytE-xwHlrwtzuPzgpNxKuLLci1jCs0Mlc/s1600/0016.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;http://www.cambus.net/setting-up-a-node-js-development-environment-with-npm-and-cloud9-ide-installed-locally/&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://www.cambus.net/setting-up-a-node-js-development-environment-with-npm-and-cloud9-ide-installed-locally/&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;u&gt;Update&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Para instalar la última versión actual de node (v0.6.3), sustituimos:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ export NODE_VERSION=&#39;0.4.7&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;por&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ export NODE_VERSION=&#39;0.6.3&#39;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;y&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ wget http://nodejs.org/dist/node-v$NODE_VERSION.tar.gz&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;por&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ wget http://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.gz&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;</description><link>http://papeltank.blogspot.com/2011/11/hola-mundo-en-nodejs-ubuntu-1110.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyIX9QUyA3YjmxkqrilfnezMTe_bPyVArZW7XGxvMnhSq9zfbrJjz_CcIJCuejeWnxxaFwEExNLMx2v1M496CAi81XoxhqRPqtEmExW4a5yCytE-xwHlrwtzuPzgpNxKuLLci1jCs0Mlc/s72-c/0016.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-1793225837364370530</guid><pubDate>Sat, 12 Nov 2011 10:14:00 +0000</pubDate><atom:updated>2011-11-12T12:38:49.615+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">eclipse</category><category domain="http://www.blogger.com/atom/ns#">git</category><category domain="http://www.blogger.com/atom/ns#">ssh</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Git Repository bitbucket.org Ubuntu 11.10 / Eclipse</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Preparando el sistema y configuraciones varias&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Vamos a clonar un proyecto Git de &lt;a href=&quot;https://bitbucket.org/&quot;&gt;https://bitbucket.org&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Necesitamos subir nuestra clave pública a bitbucket. En la siguiente &lt;a href=&quot;http://confluence.atlassian.com/display/BITBUCKET/Using+SSH+to+Access+your+Bitbucket+Repository;jsessionid=1E034788D79813359452B0CA03C0ED9B&quot;&gt;dirección&lt;/a&gt; indican como crearla y subirla.&lt;br /&gt;
&lt;br /&gt;
Si no tenemos clave pública en &lt;i&gt;/home/b3ni/.ssh/id_rsa.pub&lt;/i&gt; la crearemos de forma normal con (email de tu cuenta bitbucket):&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;ssh-keygen -t rsa -C &quot;your_email@youremail.com&quot;&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;
Subimos el fichero &lt;i&gt;id_rsa.pub&lt;/i&gt; generado en el perfil de usuario de bitbucket.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdB_eEbnili58jDRQo6GvdK7UKR9Gp5EGy9v-mBXuC5iXB-BpfPe8z5LTBjcPvZFv3598dgqojnTG9fpgmmwevHxfqwz3KcyphlZRQSb9AxT_vIavAPrkMstVY0AjNVQCT4fZjQl6_V5k/s1600/0004.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;130&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdB_eEbnili58jDRQo6GvdK7UKR9Gp5EGy9v-mBXuC5iXB-BpfPe8z5LTBjcPvZFv3598dgqojnTG9fpgmmwevHxfqwz3KcyphlZRQSb9AxT_vIavAPrkMstVY0AjNVQCT4fZjQl6_V5k/s320/0004.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
En la opción SSH Keys&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgapwPje_KIQ2hc0pGUmWXFN2SxhA7IKopmIijSi_ktbiIyKNd-G3hvqfQRAOJlpqHtDkOwM80i9jU4fzAlky72soq-FyFWVtUCj315akDjoGx0oAumSd6AvZvZNyy46PhyphenhyphenGG6xWBFmSt8/s1600/0005.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;150&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgapwPje_KIQ2hc0pGUmWXFN2SxhA7IKopmIijSi_ktbiIyKNd-G3hvqfQRAOJlpqHtDkOwM80i9jU4fzAlky72soq-FyFWVtUCj315akDjoGx0oAumSd6AvZvZNyy46PhyphenhyphenGG6xWBFmSt8/s320/0005.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Clonamos el repositorio en nuestra máquina.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ git clone git@bitbucket.org:b3ni/REPO.git&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Si nos da un error de autenticación del estilo.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Permission denied (publickey).&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Añadimos nuestra key al sistema (por si no lo estaba antes), con la orden:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;$ ssh-add&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Clonando en Eclipse&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
De forma similar a como instalamos el plugin para &lt;a href=&quot;http://papeltank.blogspot.com/2011/10/clone-mercurial-repository-in-eclipse.html&quot;&gt;Mercurial&lt;/a&gt;. Nos vamos al Eclipse MarketPlace he instalamos&amp;nbsp;&lt;b&gt;EGit - Git Team Provider&lt;/b&gt; (&lt;a href=&quot;http://marketplace.eclipse.org/content/egit-git-team-provider&quot;&gt;http://marketplace.eclipse.org/content/egit-git-team-provider&lt;/a&gt;)&lt;br /&gt;
&lt;br /&gt;
Añadimos la perspectiva de Git.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdPeZp-nJcXEUSKHxEd2h_kLhKJnP8_zSGtqfDtekASeNDccyKwqKK0Wd0LvBB-NMhOd1b6SnPm4PMNouaoqavloT5fVpWvwbAU5ZGVogOKqSYBe05_WCgacSiWE4gCU5jsV6DNVbcDjQ/s1600/0006.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdPeZp-nJcXEUSKHxEd2h_kLhKJnP8_zSGtqfDtekASeNDccyKwqKK0Wd0LvBB-NMhOd1b6SnPm4PMNouaoqavloT5fVpWvwbAU5ZGVogOKqSYBe05_WCgacSiWE4gCU5jsV6DNVbcDjQ/s320/0006.png&quot; width=&quot;250&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Una forma cómoda de clonarlo, es copiando la url anterior (&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;git@bitbucket.org:b3ni/REPO.git&lt;/span&gt;) al portapapeles y pegarla en la ventana de repositorios.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIaC2ZjR3Dn4ryV8Apyk-EypWfJEV1Fu96-a_dTqP-yslRI8OgFbrbVpq-TdZngi0UT-cXg08I3dnoq7dgSilQLe4jOQO5P8V_NFCfOlpFzZzoyQ4qdp9jewlVQ64-3fNuWgn0b4AbU9g/s1600/0007.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;382&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIaC2ZjR3Dn4ryV8Apyk-EypWfJEV1Fu96-a_dTqP-yslRI8OgFbrbVpq-TdZngi0UT-cXg08I3dnoq7dgSilQLe4jOQO5P8V_NFCfOlpFzZzoyQ4qdp9jewlVQ64-3fNuWgn0b4AbU9g/s400/0007.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Indicamos el protocolo, ssh y siguiente. Más adelante&amp;nbsp;seleccionamos&amp;nbsp;en que directorio se va a clonar, en mi caso dentro de mi workspace.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXI-k0iveYUF4P9w3sVFAdJR0LECUm42GSyuAEOK-ae8bmtTaRKB-7GpDpXbQ5WzWKlSdfgPz0aN06LNfYp8aP3_eaeMzsbwn_6HM1BmJ15X_WNDZYhqJRmG7wDlhA6C3PWUhNxfXj3GU/s1600/0008.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;382&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXI-k0iveYUF4P9w3sVFAdJR0LECUm42GSyuAEOK-ae8bmtTaRKB-7GpDpXbQ5WzWKlSdfgPz0aN06LNfYp8aP3_eaeMzsbwn_6HM1BmJ15X_WNDZYhqJRmG7wDlhA6C3PWUhNxfXj3GU/s400/0008.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Ahora creamos un proyecto para trabajar en Eclipse. Hacemos click derecho sobre la copia de trabajo importada y le damos a Import Project...&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr-o9vFsy7tl8Uc5cNaxf5hEXpShY31zeQu8BXXO-bmAsSprAOHBaohxbdKT621o6URr2Go3kaDSPrkRlqbBGUzrC_Q-tATs0_G_ySau4jvvV-bGzlePaX6IsvrA3FAa3yrPGA2vkpxYY/s1600/0015.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;136&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhr-o9vFsy7tl8Uc5cNaxf5hEXpShY31zeQu8BXXO-bmAsSprAOHBaohxbdKT621o6URr2Go3kaDSPrkRlqbBGUzrC_Q-tATs0_G_ySau4jvvV-bGzlePaX6IsvrA3FAa3yrPGA2vkpxYY/s400/0015.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOBP1ioWuTQbDcNRABCY4H-V16sQV0dnUOcQP8kzioN7IjqvC46we8QY9rYeILaXVMe7kJ4T7v7_g-RTuF59qrhhPdjzWB2VG2oSLOd6gtQPs0tvqcz3qgxp5ZawshR0fNg4DCKD30eG0/s1600/0010.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;343&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOBP1ioWuTQbDcNRABCY4H-V16sQV0dnUOcQP8kzioN7IjqvC46we8QY9rYeILaXVMe7kJ4T7v7_g-RTuF59qrhhPdjzWB2VG2oSLOd6gtQPs0tvqcz3qgxp5ZawshR0fNg4DCKD30eG0/s400/0010.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
En la vista de proyectos de Eclipse creamos un fichero y hacemos Team &amp;gt; Commit para añadirlo al repositorio local.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgVFR9WrPB-IKMBDB950aIPi4NCPX5wTrAZOxbNFAXYUnVh37T-Q6HXmHLeg6ex4V6KClEz3r60x4rnl9KfQVETtEPixaWlFkfZPEYurWbNY1jB39kebS9MVciwAlAG4_jiktV2lhXtYQ/s1600/0012.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgVFR9WrPB-IKMBDB950aIPi4NCPX5wTrAZOxbNFAXYUnVh37T-Q6HXmHLeg6ex4V6KClEz3r60x4rnl9KfQVETtEPixaWlFkfZPEYurWbNY1jB39kebS9MVciwAlAG4_jiktV2lhXtYQ/s400/0012.png&quot; width=&quot;391&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Si nos pide&amp;nbsp;identificación, poner tu mail de tu ssh / bitbucket.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRhZo_9V7aplsUOcp6Ij8_cffoN0KDm3o8xoenPIWhLQU-DjmwJHSBT62BxprDGccZvHfqpxKQlrVfbKY8tWiDQOj-VonP9aAqFE2WECnQCQLDAP_Zc454lIo6aHmXxURmxcqTZdkY_e8/s1600/0011.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRhZo_9V7aplsUOcp6Ij8_cffoN0KDm3o8xoenPIWhLQU-DjmwJHSBT62BxprDGccZvHfqpxKQlrVfbKY8tWiDQOj-VonP9aAqFE2WECnQCQLDAP_Zc454lIo6aHmXxURmxcqTZdkY_e8/s400/0011.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
A continuación enviamos los cambios al master. Con Team &amp;gt; Push To Upstream. Si nos vamos a la vista web de bitbucket, ya tenemos nuestro fichero subido.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAojmOfND2cUGwAMMU5Z68C0niDajQLKiRcuvx7-a8Bcmyb8kpRweACSHyUJa4FT1xAc_D39DqDlgxVWf2yhGUajVMYg6OBmaGiKrCNS1zIyDDI0h1lpdmdxHfLXWqgxk58Xz2lmflpEo/s1600/0014.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;313&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAojmOfND2cUGwAMMU5Z68C0niDajQLKiRcuvx7-a8Bcmyb8kpRweACSHyUJa4FT1xAc_D39DqDlgxVWf2yhGUajVMYg6OBmaGiKrCNS1zIyDDI0h1lpdmdxHfLXWqgxk58Xz2lmflpEo/s640/0014.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Fin.&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2011/11/git-repository-bitbucketorg-ubuntu-1110.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdB_eEbnili58jDRQo6GvdK7UKR9Gp5EGy9v-mBXuC5iXB-BpfPe8z5LTBjcPvZFv3598dgqojnTG9fpgmmwevHxfqwz3KcyphlZRQSb9AxT_vIavAPrkMstVY0AjNVQCT4fZjQl6_V5k/s72-c/0004.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-128828691023573027</guid><pubDate>Thu, 27 Oct 2011 17:33:00 +0000</pubDate><atom:updated>2011-10-27T19:33:21.319+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">eclipse</category><category domain="http://www.blogger.com/atom/ns#">mercurial</category><title>Clone Mercurial Repository in Eclipse</title><description>Veremos como importar un proyecto &lt;a href=&quot;http://mercurial.selenic.com/&quot;&gt;Mercurial&lt;/a&gt; en &lt;a href=&quot;http://www.eclipse.org/&quot;&gt;Eclipse&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Instalamos Mercurial&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo apt-get install mercurial&lt;/pre&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;(Windows:&amp;nbsp;&lt;a href=&quot;http://mercurial.selenic.com/downloads/&quot;&gt;http://mercurial.selenic.com/downloads/&lt;/a&gt;)&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Instalamos el plugin para Eclipse. Simplemente ir al &lt;b&gt;Eclipse Marketplace&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDlVLAtTZAlhZJNIYVu-t11FaDDKJUzGXED_L9AyEUIS4ktET0q7V5Cfd60zGCeMHYSwFMYQaHWtPXUp5KyQkqRBp1uSKAtxg-wJNqON9jcG2ew6hlCfd5tlBXAd4cFtwvxe8ToT9b-sE/s1600/%25C3%2581rea+de+trabajo+2_057.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDlVLAtTZAlhZJNIYVu-t11FaDDKJUzGXED_L9AyEUIS4ktET0q7V5Cfd60zGCeMHYSwFMYQaHWtPXUp5KyQkqRBp1uSKAtxg-wJNqON9jcG2ew6hlCfd5tlBXAd4cFtwvxe8ToT9b-sE/s320/%25C3%2581rea+de+trabajo+2_057.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Buscamos&amp;nbsp;el plugin &lt;i&gt;Mercurial&lt;/i&gt;&lt;i&gt;Eclipse&lt;/i&gt;, instalar, reiniciar y listo.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqneh7uRr32sgf4AqL9xTW3ZyC7pXx_fTXv0YIltZp8K-SI7uQMvQXvkBrUX36XPvXIwrpqHq4AboL7OyCX44fRJfaYX64VpAzLz9_o5eN-Nh-8AlwqEfdOW9EKefBAR2ZOS_XbZc282s/s1600/Selecci%25C3%25B3n_058.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;232&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqneh7uRr32sgf4AqL9xTW3ZyC7pXx_fTXv0YIltZp8K-SI7uQMvQXvkBrUX36XPvXIwrpqHq4AboL7OyCX44fRJfaYX64VpAzLz9_o5eN-Nh-8AlwqEfdOW9EKefBAR2ZOS_XbZc282s/s400/Selecci%25C3%25B3n_058.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
Ahora ya podemos importar los proyectos desde nuestros repositorios. Por ejemplo, mi repositorio en:&amp;nbsp;&lt;a href=&quot;https://bitbucket.org/b3ni&quot;&gt;https://bitbucket.org/b3ni&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
New Project &amp;gt; Mercurial &amp;gt; Clone Existing Mercurial Repository&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXl4H1ycKiU4x6Iqsp0SfCM0xt9dYs0UNW0gFq0JlZlxhzaZnSfgV5AAEr4d5f9GZi0cHjicRYejIak1_FDgnhBNnTTw38MvlhGJStx3zTIpmda0JUZNdb1_5UP08KEBbM4Iz1dKLue18/s1600/New+Project+_059.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;261&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXl4H1ycKiU4x6Iqsp0SfCM0xt9dYs0UNW0gFq0JlZlxhzaZnSfgV5AAEr4d5f9GZi0cHjicRYejIak1_FDgnhBNnTTw38MvlhGJStx3zTIpmda0JUZNdb1_5UP08KEBbM4Iz1dKLue18/s320/New+Project+_059.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Ya podemos trabajar de forma habitual.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvGe_ISoh-N98q28nGuEVMeVCAeQwAzxb5OzmacwPQlePCdqj5lDDWUjvSX5CHhMihOQ8eGQ8NdhcKY7yd5SvvKQCsgBvJXC_JrHfCGKnmGrx_1UutKi_bMq95ezyHZ6urhp5ikn_cw5U/s1600/%25C3%2581rea+de+trabajo+2_060.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvGe_ISoh-N98q28nGuEVMeVCAeQwAzxb5OzmacwPQlePCdqj5lDDWUjvSX5CHhMihOQ8eGQ8NdhcKY7yd5SvvKQCsgBvJXC_JrHfCGKnmGrx_1UutKi_bMq95ezyHZ6urhp5ikn_cw5U/s400/%25C3%2581rea+de+trabajo+2_060.png&quot; width=&quot;343&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;http://www.javaforge.com/project/HGE&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;http://www.javaforge.com/project/HGE&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;</description><link>http://papeltank.blogspot.com/2011/10/clone-mercurial-repository-in-eclipse.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDlVLAtTZAlhZJNIYVu-t11FaDDKJUzGXED_L9AyEUIS4ktET0q7V5Cfd60zGCeMHYSwFMYQaHWtPXUp5KyQkqRBp1uSKAtxg-wJNqON9jcG2ew6hlCfd5tlBXAd4cFtwvxe8ToT9b-sE/s72-c/%25C3%2581rea+de+trabajo+2_057.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-7820650436187454605</guid><pubDate>Wed, 27 Jul 2011 18:40:00 +0000</pubDate><atom:updated>2011-07-27T20:41:40.464+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">cookie</category><category domain="http://www.blogger.com/atom/ns#">password</category><category domain="http://www.blogger.com/atom/ns#">prestashop</category><title>Change COOKIE_KEY / Restart Passwords... in Prestashop</title><description>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Para cambiar la key de la cookie de Prestashop&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
1. Crear fichero php: /generate_cookie.php&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php

require_once &#39;./classes/Tools.php&#39;;

$newkey = ToolsCore::passwdGen(56);
$newpass = md5($newkey.&quot;PASSWORD&quot;);

print &quot;NEW COOKIE KEY: $newkey&amp;lt;br&amp;gt;&quot;;
print &quot;UPDATE ps_employee SET passwd = &#39;$newpass&#39; WHERE id_employee = 1;&amp;lt;br&amp;gt;&quot;;
&lt;/pre&gt;Este script generá una cookie nueva y su password para el administrador.&lt;br /&gt;
&lt;br /&gt;
2. Configurar&amp;nbsp;PASSWORD adecuadamente.&lt;br /&gt;
&lt;br /&gt;
3. Ejecutar el fichero en el navegador. Para obtener nueva key-cookie.&lt;br /&gt;
&lt;pre&gt;NEW COOKIE KEY: &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;WjgztSZ7NoQwbP2X6aFuynOzahFLLhUfte8rV9EhavBMze1jCQJJv6ON&lt;/span&gt;
UPDATE ps_employee SET passwd = &#39;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;288570e272dc5da49e48abbcb296a068&lt;/span&gt;&#39; WHERE id_employee = 1;&lt;/pre&gt;4. Actualizar el fichero&amp;nbsp;config/settings.inc.php con la nueva cookie:&lt;br /&gt;
&lt;pre&gt;define(&#39;_COOKIE_KEY_&#39;, &#39;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;WjgztSZ7NoQwbP2X6aFuynOzahFLLhUfte8rV9EhavBMze1jCQJJv6ON&lt;/span&gt;&#39;);&lt;/pre&gt;5. Actualizar la contraseña del administrador en BD ejecutando el DDL.&lt;br /&gt;
&lt;pre&gt;UPDATE ps_employee SET passwd = &#39;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;288570e272dc5da49e48abbcb296a068&lt;/span&gt;&#39; WHERE id_employee = 1;
&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;&lt;b&gt;Restablecer la contraseña de un usuario de Prestashop&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
1. Crear el fichero php: /restart_password.php&lt;br /&gt;
&lt;pre&gt;$key = &#39;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;WjgztSZ7NoQwbP2X6aFuynOzahFLLhUfte8rV9EhavBMze1jCQJJv6ON&lt;/span&gt;&#39;;
$idEmployee = 1;
$newpass = md5($key.&quot;PASSWORD&quot;);
print &quot;UPDATE ps_employee SET passwd = &#39;$newpass&#39; WHERE id_employee =&amp;nbsp;$idEmployee;&amp;lt;br&amp;gt;&quot;;&lt;/pre&gt;2. Configurar $key (está en el fichero:&amp;nbsp;config/settings.inc.php),&amp;nbsp;$idEmployee&amp;nbsp;y PASSWORD adecuadamente.&lt;br /&gt;
&lt;br /&gt;
3. Ejecutar el script.&lt;br /&gt;
&lt;br /&gt;
4.&amp;nbsp;Actualizar la contraseña del usuario ($idEmployee)&amp;nbsp;en BD ejecutando el DDL.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.prestashop.com/forums/topic/22045-solved-changed-server-cant-login/&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://www.prestashop.com/forums/topic/22045-solved-changed-server-cant-login/&lt;/span&gt;&lt;/a&gt;</description><link>http://papeltank.blogspot.com/2011/07/change-cookiekey-in-prestashop-restart.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-7109583937644010082</guid><pubDate>Fri, 22 Jul 2011 06:35:00 +0000</pubDate><atom:updated>2011-07-22T08:38:25.321+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">autenticación</category><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">soap</category><category domain="http://www.blogger.com/atom/ns#">soapui</category><title>HTTP Authentication with SOAP</title><description>Ciertos web-service en SOAP tienen autenticación HTTP. Por lo que debemos suministrar el usuario y el password en las cabeceras de la petición.&lt;br /&gt;
&lt;br /&gt;
Ahora veremos como configurar el SoapUI para hacer este tipo de peticiones y posteriormente como realizarlas en una aplicación PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;SoapUI&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Primero&amp;nbsp;asegurarnos&amp;nbsp;que la opción A&lt;i&gt;uthenticate Preemptively&lt;/i&gt; está marcada, de esta forma enviamos user / password en los requests. La encontramos en:&amp;nbsp;File &amp;gt; Preferences &amp;gt; HTTP Settings&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmccI5RcEWYS9YN4RwdI1qNtiXGP-vLwJOeNvoMtckZ1qS8FybGhKQZW_puMrsCG_T277NQz79MDPamY4GEKA5Ccadb9Ci9j9wn21y5UjfIumcwx-LuQdiZHe1ptjhV7wFYuQDJkD3JeQ/s1600/Selecci%25C3%25B3n_038.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;291&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmccI5RcEWYS9YN4RwdI1qNtiXGP-vLwJOeNvoMtckZ1qS8FybGhKQZW_puMrsCG_T277NQz79MDPamY4GEKA5Ccadb9Ci9j9wn21y5UjfIumcwx-LuQdiZHe1ptjhV7wFYuQDJkD3JeQ/s400/Selecci%25C3%25B3n_038.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;&amp;nbsp;File &amp;gt; Preferences &amp;gt; HTTP Settings &amp;gt; Authenticate Preemptively&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;Ahora, desplegamos la pestaña &lt;b&gt;Aut&lt;/b&gt; en la ventana de petición y rellenamos usuario y password.&lt;br /&gt;
&lt;br /&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKx0JnzjYQobumLhONk9quwtQx1yfPQCOB373cTeLzWXY0kJQ9M-RpxuFWaL0UaHWJkPlE2dfUyZ1emcDO_11xh1kGgtYXIqpijsh7xnG-kqaN_YKIXEm2nmw-p4m00FOnGWWurRIuUGc/s1600/Selecci%25C3%25B3n_039.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKx0JnzjYQobumLhONk9quwtQx1yfPQCOB373cTeLzWXY0kJQ9M-RpxuFWaL0UaHWJkPlE2dfUyZ1emcDO_11xh1kGgtYXIqpijsh7xnG-kqaN_YKIXEm2nmw-p4m00FOnGWWurRIuUGc/s400/Selecci%25C3%25B3n_039.png&quot; width=&quot;367&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Indicando Usuario y Password en la petición Soap&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;
&lt;div&gt;&lt;b&gt;PHP&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
En las peticiones SOAP implementadas en PHP, añadimos las siguientes opciones en la creación del cliente Soap.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$client = new SoapClient(&#39;http://tuweb/wsdl&#39;, array(
 &#39;login&#39; =&amp;gt; &#39;USER&#39;, 
 &#39;password&#39; =&amp;gt; &#39;PASSWORD&#39;)
);
$result = $client-&amp;gt;METODO();
&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;&lt;a href=&quot;http://www.soapui.org/&quot;&gt;http://www.soapui.org/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.php.net/manual/es/soapclient.soapcall.php&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://www.php.net/manual/es/soapclient.soapcall.php&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2011/07/http-authentication-with-soap.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmccI5RcEWYS9YN4RwdI1qNtiXGP-vLwJOeNvoMtckZ1qS8FybGhKQZW_puMrsCG_T277NQz79MDPamY4GEKA5Ccadb9Ci9j9wn21y5UjfIumcwx-LuQdiZHe1ptjhV7wFYuQDJkD3JeQ/s72-c/Selecci%25C3%25B3n_038.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-8034441558507114543</guid><pubDate>Wed, 22 Jun 2011 15:16:00 +0000</pubDate><atom:updated>2011-06-27T22:00:34.973+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">php</category><category domain="http://www.blogger.com/atom/ns#">smarty</category><title>Get items with dinamic key-array in Smarty</title><description>Acceso a item de un array asociativo en smarty, mediante una clave dinámica.&lt;br /&gt;
&lt;br /&gt;
Imaginemos que tenemos un array asociativo de la forma:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$text = array(
 &#39;lang_es&#39; =&amp;gt; &#39;foo&#39;,
 &#39;lang_en&#39; =&amp;gt; &#39;var&#39;,
);
&lt;/pre&gt;&lt;br /&gt;
Si queremos acceder en la plantilla a un item concreto:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;{assign var=&#39;codeCountry&#39; value=&#39;en&#39;}

My name is: {$text.{&quot;lang_&quot;|cat:$codeCountry}}&lt;/pre&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;http://www.smarty.net/&quot;&gt;http://www.smarty.net/&lt;/a&gt;&lt;/span&gt;</description><link>http://papeltank.blogspot.com/2011/06/get-items-with-dinamic-key-array-in.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-6029899839546082859</guid><pubDate>Wed, 20 Apr 2011 20:00:00 +0000</pubDate><atom:updated>2011-04-20T22:00:00.964+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">eclipse</category><category domain="http://www.blogger.com/atom/ns#">pydev</category><category domain="http://www.blogger.com/atom/ns#">sintaxis</category><title>Eclipse / Pydev + Django + DoesNotExist</title><description>Para el evitar el molesto error de&amp;nbsp;sintaxis &lt;b&gt;DoesNotExist&lt;/b&gt; como el models.&lt;b&gt;objects&lt;/b&gt; que &lt;a href=&quot;http://pydev.org/&quot;&gt;PyDev&lt;/a&gt; con los proyectos &lt;a href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Un ejemplo:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;try:       
    c = Casilla.objects.get(fila=fila, col=col)
except Casilla.DoesNotExist:
    return None
&lt;/pre&gt;&lt;br /&gt;
El editor nos muestra los errores en objects y DoesNotExist:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6FQ3b1Nh19LNdfrKDW5MfaHXRrMqwmFpN1RE5KRJxSD8jRySg7HJwPKjPupUqP18rXD1oI1XIoMVRmzOr2GoOZto6RXDk2UZzQE6SaET7VIPiU57pxs1FaVE5UxQh2lHipXgKgk7m714/s1600/Selecci%25C3%25B3n_013.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;92&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6FQ3b1Nh19LNdfrKDW5MfaHXRrMqwmFpN1RE5KRJxSD8jRySg7HJwPKjPupUqP18rXD1oI1XIoMVRmzOr2GoOZto6RXDk2UZzQE6SaET7VIPiU57pxs1FaVE5UxQh2lHipXgKgk7m714/s320/Selecci%25C3%25B3n_013.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Para evitar esto, simplemente añadimos que PyDev ignore estás palabras y las considere globales. Dentro del Eclipse, nos vamos a:&lt;br /&gt;
&lt;br /&gt;
Window &amp;gt; Preferences &amp;gt; Pydev &amp;gt; Editor &amp;gt; Code Analysis &amp;gt; Undefined&lt;br /&gt;
&lt;br /&gt;
Ya añadimos esas palabras, separadas con comas.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqFmhsB008Ucqk-zOO92WYJXA8V0XLN8b45bVPLVtFJ_olUHPpZFefb5NHunbRWIMRfKdfk9itin8IdMbvK5CvYkkCeW-mhYgXplgRAtSUE1NrnvQlU-dfuY7QACN48H5qsgTLOd2jyig/s1600/Selecci%25C3%25B3n_014.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;219&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqFmhsB008Ucqk-zOO92WYJXA8V0XLN8b45bVPLVtFJ_olUHPpZFefb5NHunbRWIMRfKdfk9itin8IdMbvK5CvYkkCeW-mhYgXplgRAtSUE1NrnvQlU-dfuY7QACN48H5qsgTLOd2jyig/s640/Selecci%25C3%25B3n_014.png&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/851628/django-user-doesnotexist-does-not-exist/1391255#1391255&quot;&gt;http://stackoverflow.com/questions/851628/django-user-doesnotexist-does-not-exist/1391255#1391255&lt;/a&gt;&lt;/span&gt;</description><link>http://papeltank.blogspot.com/2011/04/eclipse-pydev-django-doesnotexist.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6FQ3b1Nh19LNdfrKDW5MfaHXRrMqwmFpN1RE5KRJxSD8jRySg7HJwPKjPupUqP18rXD1oI1XIoMVRmzOr2GoOZto6RXDk2UZzQE6SaET7VIPiU57pxs1FaVE5UxQh2lHipXgKgk7m714/s72-c/Selecci%25C3%25B3n_013.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-5144038277179831340</guid><pubDate>Fri, 18 Mar 2011 09:24:00 +0000</pubDate><atom:updated>2011-03-18T10:24:00.035+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">externo</category><category domain="http://www.blogger.com/atom/ns#">servidor</category><category domain="http://www.blogger.com/atom/ns#">svn</category><title>Repositorio externo dentro de copia de trabajo</title><description>Supongamos que tenemos un repositorio para alojar nuestro proyecto, y queremos usar un repositorio externo dentro del mismo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo tenemos la siguiente estructura en nuestro repositorio.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiygcAROd5inGGxCh0FOVy2wQ-uahMffyzvWxHDBoYfbZMR5CmkhyVutmZZC4qm02nquXLwjfJJriKDUYq56DzaaNjgP4Nb0Xzr8W-qHd8tuT3bTmyS2nsQ7Tv4MaBJc8_vIli7lzIk3RQ/s1600/Selecci%25C3%25B3n_013.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;145&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiygcAROd5inGGxCh0FOVy2wQ-uahMffyzvWxHDBoYfbZMR5CmkhyVutmZZC4qm02nquXLwjfJJriKDUYq56DzaaNjgP4Nb0Xzr8W-qHd8tuT3bTmyS2nsQ7Tv4MaBJc8_vIli7lzIk3RQ/s200/Selecci%25C3%25B3n_013.png&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Queremos que el directorio dojo sea un &quot;enlace&quot; al svn de dojo, por ejemplo la versión 1.6.0rc1&lt;br /&gt;
&lt;br /&gt;
Basta hacer:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;cd test-svn-externo/js
rmdir dojo
svn propset svn:externals &#39;http://svn.dojotoolkit.org/src/tags/release-1.6.0rc1/ dojo&#39; .
svn update
&lt;/pre&gt;&lt;br /&gt;
Ya estamos sincronizados con el repositorio externo, si lo abrimos con el Eclipse, nos lo marcará.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisvIxNpx0Z8_JxfyhMgx70GjbCIjvTKyivm6r8bNVE1LOoBAEJc73ezxB0FkMhBHft8rakfXeLBy2h32k52dnwx4QV5BPnbeJvEyC7TeXRjRVUm7_OFxe1hN1rkg4basCIrVFZE-0DKP8/s1600/Selecci%25C3%25B3n_014.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisvIxNpx0Z8_JxfyhMgx70GjbCIjvTKyivm6r8bNVE1LOoBAEJc73ezxB0FkMhBHft8rakfXeLBy2h32k52dnwx4QV5BPnbeJvEyC7TeXRjRVUm7_OFxe1hN1rkg4basCIrVFZE-0DKP8/s1600/Selecci%25C3%25B3n_014.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2011/03/repositorio-externo-dentro-de-copia-de.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiygcAROd5inGGxCh0FOVy2wQ-uahMffyzvWxHDBoYfbZMR5CmkhyVutmZZC4qm02nquXLwjfJJriKDUYq56DzaaNjgP4Nb0Xzr8W-qHd8tuT3bTmyS2nsQ7Tv4MaBJc8_vIli7lzIk3RQ/s72-c/Selecci%25C3%25B3n_013.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-4865191232678787928</guid><pubDate>Sun, 13 Mar 2011 09:00:00 +0000</pubDate><atom:updated>2011-03-13T10:00:02.782+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">eclipse</category><category domain="http://www.blogger.com/atom/ns#">filtros</category><title>Ficheros Ocultos Eclipse</title><description>Para mostrar los ficheros ocultos dentro del Eclipse. (Por ejemplo: .httpacces)&lt;br /&gt;
&lt;br /&gt;
En la vista del Explorar de Ficheros, pulsar sobre el icono del triángulo y Filters...&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3eol6qL4IaMQ9I5OryH5NG9V2Yc5HvY885AiconlJhyphenhyphenLURoPDfWlyacDL4FrlYX7wUTOnOAhPG00bxzuWQ4MJnp3vZ45eoRVhVjl_MT9Gt8ax8zBaX3vVndhSvFdG7aXF7oWn6arOCko/s1600/Selecci%25C3%25B3n_008.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3eol6qL4IaMQ9I5OryH5NG9V2Yc5HvY885AiconlJhyphenhyphenLURoPDfWlyacDL4FrlYX7wUTOnOAhPG00bxzuWQ4MJnp3vZ45eoRVhVjl_MT9Gt8ax8zBaX3vVndhSvFdG7aXF7oWn6arOCko/s400/Selecci%25C3%25B3n_008.png&quot; width=&quot;340&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Desmarcar la opción: &lt;i&gt;.* resources&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
Después de eso, ya aparecerá el filtro en el menú contextual del triángulo, para su facil acceso.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1gFEtOHnP55ukqytrhLoCw_HgDwEML5IoifokskAjEb3yG8oP6_4lgOxLjl-J4FoXYyawQRRApkkr8F3CLY7gwv3gOGB8B0iv5hA6NJEDL28JC1yZUb_GHC9Y-OqJtnt69S6bGXbuHNs/s1600/%25C3%2581rea+de+trabajo+1_009.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1gFEtOHnP55ukqytrhLoCw_HgDwEML5IoifokskAjEb3yG8oP6_4lgOxLjl-J4FoXYyawQRRApkkr8F3CLY7gwv3gOGB8B0iv5hA6NJEDL28JC1yZUb_GHC9Y-OqJtnt69S6bGXbuHNs/s1600/%25C3%2581rea+de+trabajo+1_009.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;a href=&quot;http://es.w3support.net/index.php?db=so&amp;amp;id=98610&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://es.w3support.net/index.php?db=so&amp;amp;id=98610&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2011/03/ficheros-ocultos-eclipse.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3eol6qL4IaMQ9I5OryH5NG9V2Yc5HvY885AiconlJhyphenhyphenLURoPDfWlyacDL4FrlYX7wUTOnOAhPG00bxzuWQ4MJnp3vZ45eoRVhVjl_MT9Gt8ax8zBaX3vVndhSvFdG7aXF7oWn6arOCko/s72-c/Selecci%25C3%25B3n_008.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-7561770978535853101</guid><pubDate>Fri, 11 Mar 2011 14:00:00 +0000</pubDate><atom:updated>2011-03-11T20:16:12.111+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">arranque</category><category domain="http://www.blogger.com/atom/ns#">script</category><category domain="http://www.blogger.com/atom/ns#">subversion</category><title>Script init.d subversion Ubuntu</title><description>Describiré la forma de crear un script de arranque para Subversion.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Estado del sistema&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Subversión instalado&lt;/u&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: monospace; white-space: pre;&quot;&gt;sudo apt-get install subversion&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Repositorio creado&lt;/u&gt;&lt;br /&gt;
&lt;pre&gt;sudo mkdir /usr/local/svn/repos
sudo svnadmin create /usr/local/svn/repos&lt;/pre&gt;&lt;br /&gt;
&lt;b&gt;Scritp de arranque en init.d&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;cd /etc/init.d
sudo touch subversion
sudo vi subversion
&lt;/pre&gt;&lt;br /&gt;
Escribimos el contenido. Si nuestro repositorio está en otro sitio, cambiar la variable REPOS&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;#!/bin/bash

NAME=svnserve
DESC=&quot;Subversion server&quot;
DAEMON=/usr/bin/$NAME
REPOS=/usr/local/svn/repos/
PARAMS=&quot;-d -r $REPOS&quot;
DAEMONUSER=root

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

start_it_up()
{
 log_daemon_msg &quot;Starting $DESC&quot; &quot;$NAME&quot;
 start-stop-daemon --start --quiet --chuid $DAEMONUSER:$DAEMONUSER --exec $DAEMON -- $PARAMS
 log_end_msg $?
}

shut_it_down()
{
 log_daemon_msg &quot;Stopping $DESC&quot; &quot;$NAME&quot;
 start-stop-daemon --stop --retry 60 --quiet --oknodo --exec $DAEMON
 log_end_msg $?
}

case &quot;$1&quot; in
 start)
  start_it_up
  ;;
 stop)
  shut_it_down
  ;;
 restart)
  shut_it_down
  start_it_up
  ;;
 *)
  echo &quot;Usage: /etc/init.d/$NAME {start|stop|restart}&quot; &amp;gt;&amp;amp;2
  exit 1
  ;;
esac

exit 0
&lt;/pre&gt;&lt;br /&gt;
Editamos los permisos del scritp:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sudo chmod +x /etc/init.d/subversion&lt;/pre&gt;&lt;br /&gt;
Lo añadimos al arranque:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sudo update-rc.d subversion defaults&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://pintucoperu.wordpress.com/2008/06/24/creando-un-servidor-svn-en-ubuntu/&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://pintucoperu.wordpress.com/2008/06/24/creando-un-servidor-svn-en-ubuntu/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://benrobb.com/2007/01/15/howto-start-subversion-at-boot-on-ubuntu/&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://benrobb.com/2007/01/15/howto-start-subversion-at-boot-on-ubuntu/&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://manpages.ubuntu.com/manpages/dapper/es/man8/start-stop-daemon.8.html&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://manpages.ubuntu.com/manpages/dapper/es/man8/start-stop-daemon.8.html&lt;/span&gt;&lt;/a&gt;</description><link>http://papeltank.blogspot.com/2011/03/script-initd-subversion-ubuntu.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-5180280200035522092</guid><pubDate>Wed, 09 Mar 2011 21:33:00 +0000</pubDate><atom:updated>2011-03-09T22:33:00.803+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">arquitectura</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">so</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>SO y Arquitectura Linux</title><description>Saber el sistema operativo y la aquitectura de la máquina.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$&amp;nbsp;cat /etc/issue &amp;amp;&amp;amp; uname -m

Ubuntu 10.10 \n \l

x86_64&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;http://www.versionet.com/gnu-linux/como-saber-que-distribucion-y-version-de-linux-esta-instalada&lt;/span&gt;</description><link>http://papeltank.blogspot.com/2011/03/so-y-arquitectura-linux.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-6779938842812351704</guid><pubDate>Sun, 26 Dec 2010 07:00:00 +0000</pubDate><atom:updated>2011-03-08T09:28:27.380+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">passwords</category><category domain="http://www.blogger.com/atom/ns#">permisos</category><category domain="http://www.blogger.com/atom/ns#">postgresql</category><category domain="http://www.blogger.com/atom/ns#">usuarios</category><title>Cambiar contraseña usuario Postgresql</title><description>Para cambiar la constraseña de un usuario Postgresql, hacer:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo su - postgres
$ psql&lt;/pre&gt;&lt;pre&gt;postgres=# alter user USUARIO with encrypted password &#39;NEW-PASS&#39;;
ALTER ROLE
postgres=# \q
&lt;/pre&gt;&lt;br /&gt;
Asegurarse que el fichero de permisos de Postgresql está correcto.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo vi /etc/postgresql/8.4/main/pg_hba.conf

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
local   all         all                               md5

$ sudo /etc/init.d/postgresql restart&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;http://markmail.org/message/y2lh4vnbojl5r4rc&quot;&gt;http://markmail.org/message/y2lh4vnbojl5r4rc&lt;/a&gt;&lt;/span&gt;</description><link>http://papeltank.blogspot.com/2010/12/cambiar-contrasena-usuario-postgresql.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-7429695726918096379</guid><pubDate>Wed, 22 Dec 2010 21:00:00 +0000</pubDate><atom:updated>2010-12-22T22:00:02.658+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">openerp</category><category domain="http://www.blogger.com/atom/ns#">setup</category><title>Setup OpenERP Ubuntu 10.10</title><description>Continuamos con la configuración del servidor OpenERP. En campitulos anteriores teníamos las siguientes configuración:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;PostgresSQL, con usuario para OpenERP,&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #222222; font-family: Georgia, Utopia, &#39;Palatino Linotype&#39;, Palatino, serif; font-size: 15px; line-height: 21px;&quot;&gt;&lt;b&gt;openerp&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #222222; font-family: Georgia, Utopia, &#39;Palatino Linotype&#39;, Palatino, serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 15px; line-height: 21px;&quot;&gt;OpenERP instalado.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
Indicamos la conexión de ERP a la BD. Editamos&amp;nbsp;&lt;i&gt;openerp-server.conf&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo vi /etc/openerp-server.conf

# Specify the database user name (default None).
db_user = openerp

# Specify the database password for db_user (default None).
db_password = password
&lt;/pre&gt;&lt;br /&gt;
Arrancamos el server. Podemos ver los logs en &lt;b&gt;/var/log/openerp.log&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo /etc/init.d/openerp-server restart&lt;/pre&gt;&lt;br /&gt;
Opcional: Crear base de datos de demo.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5O4f4pwfDXPAWsvx1dmzd54PrIt6wXECNLlUYmAxDiaSkJqy20RhPr90eTQD6x3bWGm4Guk8SOygFzQ1ueOG924OIv_g-tLmG73ITkmMOUS_NjEgSzp9OusM_XZrfZfrLywaXJjfrSmc/s1600/Crear+una+nueva+base+de+datos_006.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;190&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5O4f4pwfDXPAWsvx1dmzd54PrIt6wXECNLlUYmAxDiaSkJqy20RhPr90eTQD6x3bWGm4Guk8SOygFzQ1ueOG924OIv_g-tLmG73ITkmMOUS_NjEgSzp9OusM_XZrfZfrLywaXJjfrSmc/s400/Crear+una+nueva+base+de+datos_006.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
El password por defecto (como se indica) para el usuario admin de OpenERP, es &lt;i&gt;&lt;b&gt;admin&lt;/b&gt;&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVahCC2ecENIBwuXjE7MT7xv7N7OnZ7tcbmHtrQewOnB59sUuTSMWwJddMjseRpUDgwTFhIZvTtvHq_-8_mupuVyP_Rx4DYxmxgV21u1cqpqXXiP40e5vp1Fu1G0Bs5jgr4vK7TvzBurw/s1600/Creaci%25C3%25B3n+Base+de+Datos_008.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVahCC2ecENIBwuXjE7MT7xv7N7OnZ7tcbmHtrQewOnB59sUuTSMWwJddMjseRpUDgwTFhIZvTtvHq_-8_mupuVyP_Rx4DYxmxgV21u1cqpqXXiP40e5vp1Fu1G0Bs5jgr4vK7TvzBurw/s400/Creaci%25C3%25B3n+Base+de+Datos_008.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Después seleccionamos un perfil (escogemos el mínimo) y rellenamos los datos de nuestra compañía.&lt;br /&gt;
&lt;br /&gt;
Continuará...&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://doc.openerp.com/book/1/1_1_Inst_Config/1_1_Inst_Config_install.html#installation-on-linux-ubuntu&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;http://doc.openerp.com/book/1/1_1_Inst_Config/1_1_Inst_Config_install.html#installation-on-linux-ubuntu&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://doc.openerp.com/book/1/1_1_Inst_Config/1_1_Inst_Config_db_create.html&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;http://doc.openerp.com/book/1/1_1_Inst_Config/1_1_Inst_Config_db_create.html&lt;/span&gt;&lt;/a&gt;</description><link>http://papeltank.blogspot.com/2010/12/setup-openerp-ubuntu-1010.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5O4f4pwfDXPAWsvx1dmzd54PrIt6wXECNLlUYmAxDiaSkJqy20RhPr90eTQD6x3bWGm4Guk8SOygFzQ1ueOG924OIv_g-tLmG73ITkmMOUS_NjEgSzp9OusM_XZrfZfrLywaXJjfrSmc/s72-c/Crear+una+nueva+base+de+datos_006.png" height="72" width="72"/><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-3853052329646403546</guid><pubDate>Sun, 19 Dec 2010 07:00:00 +0000</pubDate><atom:updated>2010-12-21T10:12:22.825+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">install</category><category domain="http://www.blogger.com/atom/ns#">openerp</category><category domain="http://www.blogger.com/atom/ns#">ubuntu</category><title>Install OpenERP Ubuntu 10.10 (for dummies)</title><description>Otra instalación más fácil (que la comentada en &lt;a href=&quot;http://papeltank.blogspot.com/2010/11/install-openerp-ubuntu-1010.html&quot;&gt;otros capitulos&lt;/a&gt;) es instalar los paquetes directamente desde el repositorio de Ubuntu.&lt;br /&gt;
&lt;br /&gt;
Suponemos que ya está montada la base de datos PostgresSQL con un usuario para OpenERP.&lt;br /&gt;
&lt;br /&gt;
Hacemos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade
$ sudo apt-get install openerp-server openerp-client
&lt;/pre&gt;&lt;br /&gt;
Esto instalará el cliente, el server y sus&amp;nbsp;dependencia. Pone el server como demonio y lo arranca.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;Configurando openerp-server (5.0.14-0ubuntu1) ...

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Open ERP uses a PostgreSQL database to store its data. With the first *
* generation of packages, you have to setup this database manually.     *
* Please read /usr/share/doc/openerp-server/README.Debian how to do it. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Starting openerp-server: openerp-server.
&lt;/pre&gt;&lt;br /&gt;
Continuará...&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://doc.openerp.com/book/1/1_1_Inst_Config/1_1_Inst_Config_install.html#installation-on-linux-ubuntu&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;http://doc.openerp.com/book/1/1_1_Inst_Config/1_1_Inst_Config_install.html#installation-on-linux-ubuntu&lt;/span&gt;&lt;/a&gt;</description><link>http://papeltank.blogspot.com/2010/12/install-openerp-ubuntu-1010-for-dummies.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-8648071148926846448</guid><pubDate>Fri, 17 Dec 2010 21:00:00 +0000</pubDate><atom:updated>2010-12-17T22:00:00.791+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bug</category><category domain="http://www.blogger.com/atom/ns#">eclipse</category><category domain="http://www.blogger.com/atom/ns#">error</category><title>Eclipse bloqueado: Loading Workbench...</title><description>Cuando tu amigo Eclipse le da por quedarse colgado/congelado (hangs) en la pantalla de inicio. Más concretamente cuando está...&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;&lt;i&gt;&lt;b&gt;Loading Workbench...&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;br /&gt;
&lt;/b&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL21ts8-V5kY6Auyyf1J2VMDU9aQ7uXO5tb2fwGnU9sMguBOfdblv1qlAUkJLZi28Gx28PU0rb50Q1Y6t09K13mwBEwGrwTADw6KKC5E3PdR1N7_DDFeqyjSI2PI5Zo1vx1eiiErhf5tU/s1600/Escritorio+1_002.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;207&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL21ts8-V5kY6Auyyf1J2VMDU9aQ7uXO5tb2fwGnU9sMguBOfdblv1qlAUkJLZi28Gx28PU0rb50Q1Y6t09K13mwBEwGrwTADw6KKC5E3PdR1N7_DDFeqyjSI2PI5Zo1vx1eiiErhf5tU/s320/Escritorio+1_002.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: center;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Una solución un poco &lt;i&gt;bestia&lt;/i&gt;&amp;nbsp;(¿quien dijo lo de matar moscas a cañonazos? ¿Raid?) es eliminar la configuración del workspace.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;Paramos eclipse&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: inherit;&quot;&gt;&lt;pre&gt;$ rm ~/workspace/.metadada -rf&lt;/pre&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Arrancamos eclipse&lt;/li&gt;
&lt;li&gt;Configuramos entorno eclipse (tedioso!!!!)&lt;/li&gt;
&lt;li&gt;Importamos los proyectos: File &amp;gt; Import... &amp;gt; Existing Projects into Workspace&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgInA0kQCacyesze5C8Ln9vGNpmS7fK2hutdYZD_PXEnv9rak7H2ARtcEIpjMfY7pFv1o3CpT0NX7nFpNeUssTClLsB3VJmMgv6blbZi_CrZEcF2GRDZ9p1a75VVhFTr8zuwzzXSfzqE20/s1600/Import+_003.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;287&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgInA0kQCacyesze5C8Ln9vGNpmS7fK2hutdYZD_PXEnv9rak7H2ARtcEIpjMfY7pFv1o3CpT0NX7nFpNeUssTClLsB3VJmMgv6blbZi_CrZEcF2GRDZ9p1a75VVhFTr8zuwzzXSfzqE20/s320/Import+_003.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Hasta definir cual es exactamente lo que produce el bloque dentro de .metadata, habrá que hacer esto. Sobre todo cuando hay prisa.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://bugs.eclipse.org/bugs/show_bug.cgi?id=209801&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-small;&quot;&gt;https://bugs.eclipse.org/bugs/show_bug.cgi?id=209801&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;</description><link>http://papeltank.blogspot.com/2010/12/eclipse-bloqueado-loading-workbench.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL21ts8-V5kY6Auyyf1J2VMDU9aQ7uXO5tb2fwGnU9sMguBOfdblv1qlAUkJLZi28Gx28PU0rb50Q1Y6t09K13mwBEwGrwTADw6KKC5E3PdR1N7_DDFeqyjSI2PI5Zo1vx1eiiErhf5tU/s72-c/Escritorio+1_002.png" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-4860896806601716502</guid><pubDate>Tue, 14 Dec 2010 17:43:00 +0000</pubDate><atom:updated>2011-01-10T08:09:49.666+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">python</category><category domain="http://www.blogger.com/atom/ns#">setup.py</category><category domain="http://www.blogger.com/atom/ns#">uninstall</category><title>Uninstall software Python</title><description>Como sabréis el setup.py no tiene comando uninstall o remove. Para eliminar un software python utilizaremos la opción --record del comando install.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;--record: filename in which to record list of installed files&lt;/pre&gt;&lt;br /&gt;
Por lo que tendremos que re-instalar.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sudo python setup.py install --record files.txt&lt;/pre&gt;&lt;br /&gt;
Ahora solo nos queda borrar todos los ficheros y directorios, ayudándonos del comando &lt;a href=&quot;http://unixhelp.ed.ac.uk/CGI/man-cgi?xargs&quot;&gt;xargs&lt;/a&gt;, el cual ejecuta ordenes para cada linea del fichero.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;cat files.txt | xargs rm -rf&lt;/pre&gt;&lt;br /&gt;
Si tienes alguna reserva al ejecutar el &lt;i&gt;rm -rf,&lt;/i&gt;&amp;nbsp;visualiza el fichero:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;cat files.txt &lt;s&gt;| sudo xargs echo&lt;/s&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Resumiendo:&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;sudo python setup.py install --record files.txt
cat files.txt | sudo xargs echo
&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;http://kmandla.wordpress.com/2009/01/08/there-is-no-setuppy-uninstall/&quot;&gt;http://kmandla.wordpress.com/2009/01/08/there-is-no-setuppy-uninstall/&lt;/a&gt;&lt;/span&gt;</description><link>http://papeltank.blogspot.com/2010/12/desinstalar-software-python.html</link><author>noreply@blogger.com (Anonymous)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8681853551766938564.post-1480992021080147771</guid><pubDate>Mon, 13 Dec 2010 07:00:00 +0000</pubDate><atom:updated>2010-12-21T10:13:57.887+01:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">install</category><category domain="http://www.blogger.com/atom/ns#">openerp</category><category domain="http://www.blogger.com/atom/ns#">postgresql</category><category domain="http://www.blogger.com/atom/ns#">python</category><title>Install OpenERP Ubuntu 10.10</title><description>Bienvenido al maravilloso mundo de &lt;a href=&quot;http://es.wikipedia.org/wiki/OpenERP&quot;&gt;OpenERP&lt;/a&gt; (anteriormente conocido como TinyERP).&lt;br /&gt;
&lt;br /&gt;
A igual que mi colega &lt;a href=&quot;http://m1cm3.blogspot.com/&quot;&gt;m1cm3&lt;/a&gt;,&amp;nbsp;haré una serie de entradas destinadas a instalar/configurar/aprender OpenERP, eso sí, en Ubuntu 10.10.&lt;br /&gt;
&lt;br /&gt;
Comenzamos con la instalación. Describo los pasos a seguir para tener una instalación básica con los datos de ejemplo.&lt;br /&gt;
&lt;br /&gt;
Versiones:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Ubuntu 10.10&lt;/li&gt;
&lt;li&gt;PostgresSQL 8.4&lt;/li&gt;
&lt;li&gt;OpenERP&amp;nbsp;5.0.15&lt;/li&gt;
&lt;li&gt;Python 2.6.6&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;PostgreSQL&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Instalamos es servidor desde el repositorio&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo apt-get install postgresql&lt;/pre&gt;&lt;br /&gt;
Cambiamos permisos del usuario admin: &lt;b&gt;postgres&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo su - postgres
$ psql postgres
postgres=# \password postgres
Ingrese la nueva contraseña:&amp;nbsp;&lt;i&gt;password&lt;/i&gt;
Ingrésela nuevamente:&amp;nbsp;&lt;i&gt;password&lt;/i&gt;
postgres-# \quit
$ exit
&lt;/pre&gt;&lt;br /&gt;
Habilitamos el login de forma local al servidor de postgresql. Y cambiamos el modo de acceso de los usuarios de cualquier tipo y a cualquier base de datos a md5 (por derfecto está a ident). Si no, nos encontraremos un mensaje similar cuando intentemos hacer un login local.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$&amp;nbsp;psql -d postgres -U postgres -W
psql: FATAL: &amp;nbsp;la autentificación Ident falló para el usuario &amp;lt;&amp;lt;postgres&amp;gt;&amp;gt;
&lt;/pre&gt;&lt;br /&gt;
Editamos y modificamos el fichero&amp;nbsp;&lt;b&gt;pg_hba.conf&lt;/b&gt;:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ vi /etc/postgresql/8.4/main/&lt;b&gt;pg_hba.conf&lt;/b&gt;
&lt;b&gt;
&lt;/b&gt;
# TYPE &amp;nbsp;DATABASE &amp;nbsp; &amp;nbsp;USER &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CIDR-ADDRESS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;METHOD
# &quot;local&quot; is for Unix domain socket connections only

local &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;md5&lt;/b&gt;
&lt;/pre&gt;&lt;br /&gt;
Reiniciamos el servidor postgresql.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$&amp;nbsp;sudo /etc/init.d/postgresql restart
&amp;nbsp;* Restarting PostgreSQL 8.4 database server
&lt;/pre&gt;&lt;br /&gt;
Creamos un usuario para OpenERP, &lt;b&gt;openerp&lt;/b&gt;, indicando que será un superusurio.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo su - postgres
$ createuser --createdb --username postgres --no-createrole --pwprompt &lt;b&gt;openerp&lt;/b&gt;
Ingrese la contraseña para el nuevo rol: &lt;i&gt;password&lt;/i&gt;
Ingrésela nuevamente: &lt;i&gt;password&lt;/i&gt;
¿Será el nuevo rol un superusuario? (s/n) &lt;b&gt;S&lt;/b&gt;
&lt;/pre&gt;&lt;br /&gt;
Comprobamos si todo ha ido correcto.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ psql
postgres=# SELECT * FROM pg_user ;
&amp;nbsp;usename &amp;nbsp;| usesysid | usecreatedb | usesuper | usecatupd | &amp;nbsp;passwd &amp;nbsp;| valuntil | useconfig
----------+----------+-------------+----------+-----------+----------+----------+-----------
&amp;nbsp;openerp  | &amp;nbsp; &amp;nbsp;16384 | t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ******** | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&amp;nbsp;postgres | &amp;nbsp; &amp;nbsp; &amp;nbsp; 10 | t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | ******** | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
(2 filas)
\quit
&lt;/pre&gt;&lt;br /&gt;
Probamos el login del usuario &lt;i&gt;openerp&lt;/i&gt; a la base de datos por defecto &lt;i&gt;postgres&lt;/i&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ psql -d postgres -U openerp -W
Contraseña para usuario openuser:
psql (8.4.5)
Digite «help» para obtener ayuda.

postgres=# \quit
&lt;/pre&gt;&lt;br /&gt;
Todo ok.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;EDIT: una mejor y más rápida instalación, seguir &lt;a href=&quot;http://papeltank.blogspot.com/2010/12/install-openerp-ubuntu-1010-for-dummies.html&quot;&gt;aqui&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: x-large;&quot;&gt;OpenERP&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Instalaremos la última versión estable del server y demás clientes. Nos la descargamos desde su web:&amp;nbsp;&lt;a href=&quot;http://www.openerp.com/downloads&quot;&gt;http://www.openerp.com/downloads&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoBw3Yqpbf6vW8xzR3syJyt9EcXfJ_zuopNJRP4QogUSH0xPwx1jVRGtfJ6JRLmYaH-OgEseRUWz7z-HaoNSQfhZ-NxUmUiYYP5TxogjcorTcThEqeTB5UIT99C7asRwTX0_KVB1hUH0c/s1600/Selecci%25C3%25B3n_001.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;193&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoBw3Yqpbf6vW8xzR3syJyt9EcXfJ_zuopNJRP4QogUSH0xPwx1jVRGtfJ6JRLmYaH-OgEseRUWz7z-HaoNSQfhZ-NxUmUiYYP5TxogjcorTcThEqeTB5UIT99C7asRwTX0_KVB1hUH0c/s320/Selecci%25C3%25B3n_001.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Instalando el openerp-server&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Instalamos las librerías necesarias para el servidor:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo apt-get install python python-psycopg2 python-reportlab python-egenix-mxdatetime python-tz python-pychart python-pydot python-lxml python-vobject&amp;nbsp;python-yaml
&lt;/pre&gt;&lt;br /&gt;
Descomprimimos el server y lo testeamos (sin instalación), de esta forma podremos saber si están todas las dependencias satisfechas o por el contrario nos falta alguna librería.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ tar xvfz&amp;nbsp;openerp-server-6.0.0-rc1.tar.gz
$ cd openerp-server-6.0.0-rc1/bin
$ python&amp;nbsp;openerp-server.py
&lt;/pre&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2RvsGug90o5VYq9jCUu31hMNfk9opBHP91gqD4hIGfIVE7MFR3IvSyB7Ezpd9VLXaE9sDNf3BBhg09lrByMrSWORWfrNjra4B0Es_eXLZr7A8vCYpvrMJcsgWxInceqWaBe_NU0pGLRM/s1600/Selecci%25C3%25B3n_002.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;105&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2RvsGug90o5VYq9jCUu31hMNfk9opBHP91gqD4hIGfIVE7MFR3IvSyB7Ezpd9VLXaE9sDNf3BBhg09lrByMrSWORWfrNjra4B0Es_eXLZr7A8vCYpvrMJcsgWxInceqWaBe_NU0pGLRM/s400/Selecci%25C3%25B3n_002.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Con &lt;i&gt;python openerp-server.py -h&lt;/i&gt; obtendremos todos los comandos del server.&lt;br /&gt;
&lt;br /&gt;
Realizamos la instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ pwd
/home/b3ni/bin/openerp-server-6.0.0-rc1
$ &amp;nbsp;sudo python setup.py install
&lt;/pre&gt;&lt;br /&gt;
Al finalizar ya está instalado, si no ha ocurrido ningún problema. Podemos hacer un whereis para ver donde está el bin.&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ whereis openerp-server
openerp-server: /usr/local/bin/openerp-server
&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Instalando el cliente gráfico&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Librerías:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ sudo apt-get install python python-gtk2 python-glade2 python-matplotlib python-egenix-mxdatetime python-hippocanvas
&lt;/pre&gt;&lt;br /&gt;
Descomprimimos y testeamos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ tar xvfz&amp;nbsp;openerp-client-5.0.15.tar.gz
$&amp;nbsp;cd openerp-client-5.0.15/bin/
$ python openerp-client.py
&lt;/pre&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFOHjoepqHYC2NHNkMXoAQZUoS-5hNTqt_7_m-myrIM8cX-k7ozJMr4gAGuLLqZm1YjmZOA7aVsv518W3FlsSNdwMlyuCNFN50fA2sYTzmwfRVhxV0QGW4PbBcdaQ-PDxGAzz6Yf29_F4/s1600/OpenERP_003.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;351&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgFOHjoepqHYC2NHNkMXoAQZUoS-5hNTqt_7_m-myrIM8cX-k7ozJMr4gAGuLLqZm1YjmZOA7aVsv518W3FlsSNdwMlyuCNFN50fA2sYTzmwfRVhxV0QGW4PbBcdaQ-PDxGAzz6Yf29_F4/s400/OpenERP_003.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Lo instalamos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ cd openerp-client-5.0.15/
$ sudo python setup.py install
&lt;/pre&gt;&lt;br /&gt;
Lo probamos y obtenemos el siguiente error, indicando que no puede encontrar&amp;nbsp;&lt;i&gt;openerp-icon.png&lt;/i&gt; y proponiendonos revisar el fichero de configuración &lt;b&gt;.openerpc&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$&amp;nbsp;openerp-client

CRITICAL:init:No se ha podido abrir el archivo «openerp-icon.png»: No existe el fichero o el directorio
CRITICAL:init:Ensure that the file /home/b3ni/.openerprc is correct
&lt;/pre&gt;&lt;br /&gt;
Editamos el fichero .openerpc e indicamos la ruta correcta al cliente (/usr/local/share):&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;[path]
pixmaps = /usr/local/share/pixmaps/openerp-client
share = /usr/local/share/openerp-client
&lt;/pre&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: large;&quot;&gt;Instalando el cliente web&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
Librerías:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$&amp;nbsp;sudo apt-get install python-cherrypy3 python-pybabel python-mako python-simplejson python-formencode python-pyparsing python-tz python-xlwt
&lt;/pre&gt;&lt;br /&gt;
Descomprimimos y configuramos:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ tar xvfz&amp;nbsp;openerp-web-5.0.15.tar.gz
$ vi openerp-web-5.0.15/config/openerp-web.cfg
&lt;/pre&gt;&lt;br /&gt;
En este fichero podemos configurar el servidor web. Por ejemplo el tipo de logging o el puerto donde escuchará el servidor web. Por defecto escuchará en el puerto 8080.&lt;br /&gt;
&lt;br /&gt;
Arrancamos el server web:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$ pwd
/home/b3ni/bin/openerp-web-5.0.15
$ ./openerp-web.py
[12/Dec/2010:11:29:44] ENGINE Bus STARTING
[12/Dec/2010:11:29:44] ENGINE Started monitor thread &#39;_TimeoutMonitor&#39;.
[12/Dec/2010:11:29:44] ENGINE Started monitor thread &#39;Autoreloader&#39;.
[12/Dec/2010:11:29:44] ENGINE Serving on 0.0.0.0:8080
[12/Dec/2010:11:29:44] ENGINE Bus STARTED
&lt;/pre&gt;&lt;br /&gt;
Ya podemos acceder desde nuestro navegador en la dirección &lt;b&gt;localhost:8080&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjVGDYaQF1vZUmI7UO45TKL1RZqg1k6LPtLaTTfndYt1nGROzLWFXeKuRtfZq53pdYtTYIozbfWCIurEiD02htzG3W8-o7hyphenhyphenFLxN7uSLFoE8RcWFVwkqdiFeQI0frhbSuPQhIUl4kEPAQ/s1600/Selecci%25C3%25B3n_004.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;185&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjVGDYaQF1vZUmI7UO45TKL1RZqg1k6LPtLaTTfndYt1nGROzLWFXeKuRtfZq53pdYtTYIozbfWCIurEiD02htzG3W8-o7hyphenhyphenFLxN7uSLFoE8RcWFVwkqdiFeQI0frhbSuPQhIUl4kEPAQ/s400/Selecci%25C3%25B3n_004.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
Continuará...&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: small;&quot;&gt;Referencias:&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;http://doc.openerp.com/install/linux/index.html&quot;&gt;http://doc.openerp.com/install/linux/index.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;http://brunogirin.blogspot.com/2010/05/installing-openerp-on-ubuntu-1004-lts.html&quot;&gt;http://brunogirin.blogspot.com/2010/05/installing-openerp-on-ubuntu-1004-lts.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;&lt;a href=&quot;http://doc.openerp.com/install/linux/server/index.html&quot;&gt;http://doc.openerp.com/install/linux/server/index.html&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href=&quot;http://doc.openerp.com/install/linux/client/index.html&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: xx-small;&quot;&gt;http://doc.openerp.com/install/linux/client/index.html&lt;/span&gt;&lt;/a&gt;</description><link>http://papeltank.blogspot.com/2010/11/install-openerp-ubuntu-1010.html</link><author>noreply@blogger.com (Anonymous)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoBw3Yqpbf6vW8xzR3syJyt9EcXfJ_zuopNJRP4QogUSH0xPwx1jVRGtfJ6JRLmYaH-OgEseRUWz7z-HaoNSQfhZ-NxUmUiYYP5TxogjcorTcThEqeTB5UIT99C7asRwTX0_KVB1hUH0c/s72-c/Selecci%25C3%25B3n_001.png" height="72" width="72"/><thr:total>0</thr:total></item></channel></rss>