tag:blogger.com,1999:blog-28950827899151263982024-03-05T08:30:33.846-06:00Alvaro's BlogUnknownnoreply@blogger.comBlogger5125tag:blogger.com,1999:blog-2895082789915126398.post-25938581365905340572010-03-24T22:10:00.001-06:002010-04-01T13:30:27.568-06:00Apariencia del Servidor y el Administrador de Reportes en Firefox<p><font size="2">Has tenido la oportunidad de utilizar el Servidor de Reportes en Firefox? Si lo ha hecho notará que existe un problema con este navegador al mostrar los reportes. </font></p> <p><font size="2">Básicamente, el problema radica en que el navegador carga el tamaño por defecto del reporte cuando se inicia la página. Luego que los datos son procesados y mostrados en el reporte, el navegador no modifica el tamaño.</font></p> <p><font size="2">Para solucionar esto, podría instalar un plug in, el cual puede ser descargado desde </font><a href="http://userscripts.org/scripts/show/6758" target="_blank"><font color="#00bbbb" size="2">MS Report Server Fixes</font></a><font size="2">. Sin embargo, el problema con esta solución es que el plug in se debe instalar en cada computadora que accesará al servidor de reportes.</font></p> <p><font size="2">Una mejor solución es tomar la genial idea de Jim Wilson e implementarla en su control de visor de reportes. En mi caso, mejré el código para darle una mejor apariencia:</font></p> <blockquote> <p>  <font color="#0000ff"><</font><font color="#800000">script</font> <font color="#ff0000">type</font><font color="#0000ff">="text/javascript"</font>> <br />      <font color="#0000ff">function</font> Load() { <br />          <font color="#0000ff">if</font> (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { <br />              <font color="#0000ff">if</font> (document.getElementsByTagName(<font color="#800000">'iframe'</font>).length) { <br />                  <font color="#008000">// Add a new style node to make sure all iframes are affected - even those not yet in the DOM.</font> <br />                  <font color="#0000ff">var</font> style = document.createElement(<font color="#800000">'style'</font>);  <br />                 style.appendChild(document.createTextNode(<font color="#800000">'iframe{position:absolute;z-index:1}'</font>)); <br />                  document.getElementsByTagName(<font color="#800000">'head'</font>)[0].appendChild(style); <br />              } <br />              <font color="#0000ff">if</font> (document.getElementsByTagName(<font color="#800000">'style'</font>).length) { <br />                  <font color="#008000">// Grab the inline style element and filter out bad values. <br /></font>                  <font color="#0000ff">var</font> styles = document.getElementsByTagName(<font color="#800000">'style'</font>); <br />                  for (<font color="#0000ff">var</font> i = 0; i < styles.length; i++) { <br />                      <font color="#0000ff">var</font> style = styles[i]; <br />                      style.innerHTML = style.innerHTML.replace(/overflow-x:hidden;?/, <font color="#800000">''</font>); <br />                  } <br />              }   <br />          document.getElementById(<font color="#800000">'ReportFramectl146'</font>).style.width= document.documentElement.clientWidth;   <br />         document.getElementById(<font color="#800000">'ParameterTable_ctl146_ctl00'</font>).style.width= document.documentElement.clientWidth;   <br />         document.getElementById(<font color="#800000">'oReportDiv'</font>).style.width= document.documentElement.clientWidth; <br />          } <br />      } <br />  <font color="#0000ff"></</font><font color="#800000">script</font><font color="#0000ff">></font></p> </blockquote> <p> <font size="2">Luego, llame la función en evento load de la página. Por ejemplo:</font></p> <blockquote> <p><font color="#0000ff"><</font><font color="#800000">body</font> <font color="#ff0000">style</font><font color="#0000ff">="</font><font color="#ff0000">margin</font>: <font color="#0000ff">0px</font>; <font color="#ff0000">overflow</font>: <font color="#0000ff">auto</font>" <font color="#ff0000">onload</font><font color="#0000ff">="Load()"></font></p> </blockquote> <p><font size="2">Yo ya realizé la correción en eI Administrador y el Servidor de Reportes. Pueden descargar los siguientes archivos y sobreescribirlos en sus respectivas carpetas de su servidor:</font></p> <p align="left"><a href="http://cid-16ae05f5f4709b73.skydrive.live.com/self.aspx/.Public/Blog/Report.aspx#resId/16AE05F5F4709B73!1325" target="_blank"><font color="#00bbbb" size="2">Report.aspx</font></a><font size="2"> para ser copiado en <em>C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\Pages</em></font></p> <p align="left"><a href="http://cid-16ae05f5f4709b73.skydrive.live.com/self.aspx/.Public/Blog/Report.aspx#resId/16AE05F5F4709B73!1326" target="_blank"><font color="#00bbbb" size="2">ReportViewer.aspx</font></a><font size="2"> para ser copiado en <em>C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportManager\Pages</em></font></p> <p><font size="2">De esta manera,  podrá ver ahora los reportes correctamente en Firefox.</font></p> <h5><font size="3">Referencias:</font></h5> <p><font size="2"><strong>[1]</strong> Jim Wilson, </font><a title="http://userscripts.org" href="http://userscripts.org"><font color="#00bbbb" size="2">http://userscripts.org</font></a><font size="2">, 2006</font></p> <p><font size="2"><strong>[2]</strong> Sergio Tarrillo, </font><a title="http://geeks.ms/" href="http://geeks.ms/blogs/sergiotarrillo/archive/2008/01/29/67485.aspx" target="_blank"><font color="#00bbbb" size="2">http://geeks.ms/</font></a><font size="2">, 2008</font></p> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2895082789915126398.post-85724306142836903602009-10-02T12:16:00.008-06:002009-10-24T10:37:11.710-06:00Flujos de Trabajo de SharePoint: Obtener Valores de una lista<div style="text-align: left"><span style="font-size: medium" class="Apple-style-span"><font size="2" face="Arial">En Visual Studio requerimos de un esfuerzo mayor para realizar tareas que en SharePoint Designer se realizan con unos simples clics. Para obtener valores de un campo de una lista se debe realizar lo siguiente:</font></span></div> <span style="font-size: 100%" class="Apple-style-span"> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><o:p></o:p><font size="2" face="Arial"></font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><font size="2"><font face="Arial">1. Agregar la siguiente propiedad pública en la clase del flujo de trabajo:<o:p></o:p></font></font></span></p> <p class="MsoNormal"><span lang="ES-CR"><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";color:blue;"></span></p> <blockquote><span style="font-family: ";color:blue;">public</span><span style="font-family: ";"> Microsoft.SharePoint.Workflow.<span style="color: #2b91af">SPWorkflowActivationProperties</span> workflowProperties = <span style="color: blue">new</span> Microsoft.SharePoint.Workflow.<span style="color: #2b91af">SPWorkflowActivationProperties</span>();</span></blockquote> <span style="font-family: ";"><o:p></o:p></span> <p></p> <p class="MsoNormal"><span style="line-height: 115%" lang="ES-CR"><span></span><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><font size="2"><font face="Arial">2. Opcionalmente, para manipular los valores de la lista se podrían agregar variables globales por ejemplo:<o:p></o:p></font></font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";color:blue;" lang="ES-CR"></span></p> <blockquote><span style="font-family: ";color:blue;" lang="ES-CR">public</span><span style="font-family: ";" lang="ES-CR"> <span style="color: blue">string</span> titulo;</span></blockquote> <span style="font-family: ";" lang="ES-CR"></span><span style="font-family: ";" lang="ES-CR"><o:p></o:p></span> <p></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span lang="ES-CR"><span style="font-family: arial" class="Apple-style-span"><font size="2">3. En el evento de alguna actividad el SharePoint, en mi caso utilicé el onWorkflowActivated (la actividad inicial que debe de agregarse en todo flujo de trabajo) agregar las propiedades:</font></span></span><span style="font-family: ";"><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span class="apple-style-span"><span style="font-family: ";color:black;" lang="ES-CR"><o:p></o:p></span></span></p> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";color:blue;"></span></p> <blockquote> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";color:blue;">private</span><span style="font-family: ";"> <span style="color: blue">void</span> onWorkflowActivated1_Invoked(<span style="color: blue">object</span> sender, <span style="color: #2b91af">ExternalDataEventArgs</span> e)<o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";"><span></span>{<o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";"><span></span><span style="color: blue"><span style="white-space: pre" class="Apple-tab-span"> </span>if</span> (workflowProperties.Item[<span style="color: #a31515">"Title"</span>] != <span style="color: blue">null</span>)<o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";"><span></span><span style="white-space: pre" class="Apple-tab-span"> </span>titulo = workflowProperties.Item[<span style="color: #a31515">"Title"</span>].ToString();<o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";"><span></span><span style="color: blue"><span style="white-space: pre" class="Apple-tab-span"> </span>else<o:p></o:p></span></span></p> <p style="line-height: normal; margin-bottom: 0pt; mso-layout-grid-align: none" class="MsoNormal"><span style="font-family: ";"><span></span><span style="white-space: pre" class="Apple-tab-span"> </span>titulo = <span style="color: #a31515">"Null"</span>;<span> </span><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";"><span></span>}</span></p> </blockquote> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";"><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-size: 10pt"><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span lang="ES-CR"><font size="2"><span style="font-family: arial" class="Apple-style-span">De esta manera podrán obtenerse los valores de la lista y manipularlos dentro del flujo de trabajo.</span><span style="font-family: arial" class="Apple-style-span"><o:p></o:p></span></font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span lang="ES-CR"><o:p><span style="font-family: arial" class="Apple-style-span"><font size="2" face="Arial"></font></span></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span lang="ES-CR"><span style="font-family: arial" class="Apple-style-span"><font size="2">Para obtener los valores de un formulario de InfoPath se deben realizar una serie de pasos adicionales. Pueden seguir este ejemplo de Nick Swan si necesitan hacerlo </font></span><a href="http://weblog.vb-tech.com/nick/archive/2007/02/25/2207.aspx"><span style="text-decoration: none; text-underline: none"><span style="color: #00cccc" class="Apple-style-span"><span style="font-family: arial" class="Apple-style-span"><font size="2">SharePoint 2007 Workflow with Visual Studio 2005 + InfoPath 2007</font></span></span></span></a><span style="font-family: arial" class="Apple-style-span"><font size="2">. Aunque una alternativa podría ser convertir los valores que se van a necesitar a columnas de SharePoint por medio de los Promoted Properties y hacerlo de la forma mostrarda anteriormente.</font></span><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-size: 12pt" lang="ES-CR"><o:p></o:p><font size="2" face="Arial"></font></span></p> <h5>Error: System.ArgumentNullException when referencing the WorkflowProperties</h5> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-size: 12pt" lang="ES-CR"><o:p></o:p></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><font size="2"><font face="Arial">En el mensaje de la lista en que está ocurriendo el flujo de trabajo, el error mostrado es “Error Ocurred”, cancelando el flujo de trabajo al no poder obtener los valores de los campos requeridos.<o:p></o:p></font></font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><o:p></o:p><font size="2" face="Arial"></font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><font size="2"><font face="Arial">Normalmente ocurre por que dentro del evento <em>OnWorkflowActivated</em> no se ha relacionado con la propiedad <em>WorkflowProperties<o:p></o:p></em></font></font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><o:p></o:p><font size="2" face="Arial"></font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: ";" lang="ES-CR"><font size="2" face="Arial">Para solucionar lo anterior vaya a las propiedades del <em>OnWorkflowActivated</em> y en <em>WorkflowProperties</em> seleccionar el miembro existente:</font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: arial, sans-serif" class="Apple-style-span"><span class="Apple-style-span"><span style="font-family: georgia, serif; font-size: 13px" class="Apple-style-span"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim2gpl9irS8b4bKQ2TWGONmVmJtrRqpTN5mKIGF7FR5tZIIUNUsgBaCMdgIwUYi-CdTVFpfAXqr58utIk8csn84mkhJL2ZPEqEbxYgxXeglELNVXAkjBtwD0eWS_31eMCuriuOWcYsh0-O/s1600-h/Untitled.jpg"><img style="text-align: center; border-right-width: 0px; margin: 0px auto 10px; width: 320px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; height: 258px; border-left-width: 0px; cursor: pointer" id="BLOGGER_PHOTO_ID_5388069419927090274" border="0" alt="" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEim2gpl9irS8b4bKQ2TWGONmVmJtrRqpTN5mKIGF7FR5tZIIUNUsgBaCMdgIwUYi-CdTVFpfAXqr58utIk8csn84mkhJL2ZPEqEbxYgxXeglELNVXAkjBtwD0eWS_31eMCuriuOWcYsh0-O/s320/Untitled.jpg" /></a></span></span></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: arial" class="Apple-style-span"><font size="2" face="ari">Haga clic en OK, y listo. Se podrán obtener los valores normalmente.</font></span></p> <p style="line-height: normal; margin-bottom: 0pt" class="MsoNormal"><span style="font-family: arial" class="Apple-style-span"><font size="2"></font></span></p> <h5>Referencias:<span style="font-family: arial" class="Apple-style-span"></span></h5> <p><font size="2" face="tre"></font></p> </span> <div align="left"><font face="Arial"><font size="2"><strong>[1]</strong> <font face="ari">WinSmarts, </font></font></font><a href="http://blah.winsmarts.com/2007-8-SharePoint_2007_Workflows_-_Setting_up_your_environment.aspx" target="_blank"><font color="#33ccff" size="2" face="ari">http://blah.winsmarts.com</font></a><font size="2" face="ari">, 2009</font></div> <div align="left"><font face="ari"><font size="2"><font face="Arial"><strong>[2]</strong></font> David Fekke,<font color="#33ccff"> </font></font></font><a href="http://blah.winsmarts.com/2007-8-SharePoint_2007_Workflows_-_Setting_up_your_environment.aspx" target="_blank"><font color="#33ccff" size="2" face="ari">http://www.fekke.com</font></a><font size="2" face="ari">, 2009</font></div> <div align="left"></div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2895082789915126398.post-70253822055489335172009-06-29T10:32:00.006-06:002009-10-24T10:16:18.324-06:00Data View DropDownList de SharePoint no carga el valor seleccionado luego de hacer PostBack<div></div> <h2><font size="2" face="Arial">¿Cual es la situación?</font></h2> <div><font size="2" face="Arial"></font></div> <div><font size="2" face="Arial">Cuando se habilita la propiedad de PostBack automático (<font color="#ff0000">AutoPostBack</font><font color="#3333ff">="True"</font>) dentro del control Data View DropDownlist ocurre lo siguiente: </font> <br /></div> <div><font size="2" face="Arial">1. Selecciona un item.</font> <br /></div> <div><font size="2" face="Arial">2. El evento hace PostBack,</font> <br /></div> <div><font size="2" face="Arial">3. Si se intenta obtener el valor seleccionado este es null o vacío.</font></div> <br /> <div><font size="2" face="Arial"></font></div> <div><font size="2" face="Arial"></font></div> <h1><font size="2" face="Arial">¿Que sucede?</font></h1> <div><font size="2" face="Arial"></font></div> <div align="justify"><font size="2" face="Arial">La propiedad EnableViewState tiene valor por defecto True, esta propiedad indica si el control del servidor debe mantener su estado de vista.</font></div> <div align="justify"><font size="2" face="Arial"></font></div> <div align="justify"><font size="2" face="Arial"></font></div> <div align="justify"><font size="2" face="Arial">En otras palabras, esta característica permite que los controles de servidor se vuelvan a llenar automáticamente con sus valores originales en cada postback si necesidad de escribir código adicional.</font></div> <div align="justify"><font size="2" face="Arial"></font></div> <div align="justify"><font size="2" face="Arial"></font></div> <div align="justify"><font size="2" face="Arial">Dependiendo de la situación puede ser de mucha utilidad. Sin embargo, se se está haciendo un evento en cascada o alguna función que requiera del valor seleccionado del <em>DropDown</em> luego de hacer el postback puede presentar algunos dolores de cabeza. Especialmente si se toma en consideración que la manipulación de código en SharePoint algunas veces </font><font size="2" face="Arial">es limitada.</font></div> <br /> <div><font size="2" face="Arial"></font></div> <h1><font size="2" face="Arial">¿Como se resuelve?</font></h1> <div><font size="2" face="Arial"></font></div> <div><font size="2" face="Arial">Cambie la propiedad <font color="#ff0000">EnableViewState</font> a <font color="#3333ff">False</font>, de esta manera podrá obtener el valor fácilmente.</font></div> <br /> <div></div> <div></div> <div><strong><font size="2" face="Arial">Referencias</font>:</strong></div> <br /> <div align="left"><font size="2"><font face="Arial"><strong>[1]</strong> DevFYI Developer Resource, </font></font><a href="http://dev.fyicenter.com/Interview-Questions/dotNet-2/What_does_the_EnableViewStateProperty_do_why.html" target="_blank"><font color="#33ccff" size="2" face="Arial">http://dev.fyicenter.com</font></a><font size="2" face="Arial">, 2009</font></div> <div align="left"><font size="2" face="Arial"><strong>[2]</strong> Microsoft, </font><a href="http://msdn.microsoft.com/es-es/library/system.web.ui.control.enableviewstate(vs.80).aspx" target="_blank"><font color="#33ccff" size="2" face="Arial">http://msdn.microsoft.com</font></a><font size="2" face="Arial">, 2009</font></div> Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-2895082789915126398.post-90174376683167267972009-05-24T22:33:00.000-06:002010-04-01T11:56:53.020-06:00Creación de ayudas para tus aplicaciones<div align="justify"><span style="font-family:arial;">Cuantas veces te han solicitado la creación de una ayuda o tutorial para poder aprender el uso de <a href="http://imagenes.sftcdn.net/es/scrn/43000/43149/4_hm1.jpg"><span style="font-family:arial;"><img style="MARGIN: 0px 10px 10px 0px; WIDTH: 300px; HEIGHT: 253px; CURSOR: hand" border="0" alt="Imagen tomada de http://helpmaker.softonic.com/" align="left" src="http://imagenes.sftcdn.net/es/scrn/43000/43149/4_hm1.jpg" /></span></a>una aplicación o proyecto en el cual estás participando o desarrollando. O por </span><span style="font-family:arial;">otro lado, con el fin de darle una valor agregado quieres insertar un espacio que se utilice como guía de uso.<br /><br />Normalmente ese tipo ayudas se crean en Word y se convierten a PDF o página web. Algunas veces no queda mal, pero sinceramente no es el apropiado para este tipo de trabajos, porque es un editor de palabras, no de ayudas.</span><span style="font-family:arial;"><br /><br />Para ese tipo de trabajos existen varias aplicaciones en el mercado. Sin embargo, mi aplicación favorita es HelpMaker, un programita muy sencillo de utilizar. Entre sus funciones pueden exportar el proyecto como WinHelp (esas ayudas comunes con el ícono amarillo) o en HTML (página web).<br /></span><span style="font-family:Trebuchet MS;font-size:85;"></span></div><div align="justify"><br /><strong><span style="font-family:arial;"><em>Sitio oficial de la aplicación:</em> </span></strong><a href="http://www.vizacc.com/"><strong><span style="font-family:arial;color:#33ccff;">http://www.vizacc.com/</span></strong></a><span style="font-family:arial;"><strong><span style="color:#33ccff;"><br /></span><em>Enlace adicional:</em> <a href="http://helpmaker.softonic.com/"><span style="color:#33ccff;">http://helpmaker.softonic.com/</span></a></strong></div><br /><strong>Actualización 1:</strong> Algunas veces me ha ocurrido que el programa se vuelve tan popular que lo convierten en una aplicacíon comercial, si eres usuario de Hotmail puedes descargar la versión 7.4.4 de este sitio <a href="http://cid-16ae05f5f4709b73.skydrive.live.com/self.aspx/Software/HelpMaker.zip"><span style="color:#33ccff;">SkyDrive</span></a></span>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-2895082789915126398.post-2482626886167091542007-06-28T11:15:00.000-06:002010-04-01T11:57:19.093-06:00Nanotecnologia en Costa RicaÁlvaro Enrique Hernández Vargas, <a href="mailto:alvarohv@gmail.com">alvarohv@gmail.com</a><br />Dayán González, <a href="mailto:dayangonzavi@gmail.com">dayangonzavi@gmail.com</a><br /><br /><div align="justify"><a name="_Toc170761698"><strong>Resumen</strong></a><br /><div align="justify">El auge de la nanotecnología está iniciando, aunque por muchos años se pensó que los avances en este campo solo serían sueños y se verían en un futuro muy lejano, hoy en día se están dando resultados formidables, los cual traen muchos beneficios, pero también abre un gran debate de implicaciones. Nos encontramos frente a una oportunidad que no se puede desperdiciar, ya que esta tecnología podría catapultar países como Costa Rica en esta materia y aprovecharlo para crear un mercado económico muy estable y dejar de lado su marcado rasgo como país subdesarrollado.<br /></div><br /><a name="_Toc170761699"><strong>Palabras Claves</strong></a><br />Nano.<br />Micrómetro.<br />Nanotecnología.<br />Revolución Nanotecnológica.<br />Uso de la nanotecnología.<br />Pymes.<br /><br /><a name="_Toc170761700"><strong>Introducción</strong></a><br />Dentro de los diferentes libros que forman la Biblia, encontramos una historia de un pequeño llamado David que logró vencer a un gigante que parecía invencible como lo era Goliat; su secreto fue su valentía y determinación, algo que nadie pudo ver y lo hacía diferente a los demás.<br />De forma análoga, podemos comparar esta historia con el auge de la nanotecnología, ya que para poder triunfar tendrá que vencer algo más grande: la forma de vivir y trabajar actual. Tal vez la comparación entre una historia bíblica y una ciencia aplicada puede parecer extraña pero mediante la lectura de este artículo podremos ver como se asemejan en cuanto al impacto que tendrá y su revolución en el futuro.<br />Por otro lado, uno de los puntos clave de la nanotecnología es que su efecto podría ser un arma de doble filo: se convierte en una herramienta para reducir esta brecha económica y tecnológica de manera significativa o aumentarla entre los países desarrollados y los subdesarrollados. Sin embargo el filo de la espada dependerá de la acción que tomen los países tercermundistas, si se quedan “viendo al cielo” será imposible competir contra potencias como China o Estados Unidos. No obstante, si se toman las acciones necesarias a tiempo, las ventajas que traería serían enormes.<br />Costa Rica es un país privilegiado, por su posición geográfica, sus recursos naturales, cuenta con una población con altos índices de educación, y desde el punto de vista industrial-económico: con recursos relativamente baratos (entiéndase por recursos tanto el capital humano como los riquezas naturales).<br />Este artículo hará énfasis a la situación actual de la nanotecnología en Costa Rica, y lo que se debe hacer para que en el futuro no sólo se conozca este país como un lugar de paz, sino también como un centro tecnológico y de desarrollo que compita con las grandes potencias mundiales.<br /><br /><a name="_Toc170761701"><strong>¿Qué es nanotecnología?</strong></a><br />La nanotecnología es un campo de las ciencias aplicadas dedicado al control y manipulación de la materia a una escala menor que un micrómetro, es decir, a nivel de átomos y moléculas<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn1" name="_ftnref1">[1]</a>. En otras palabras, la nanotecnología es la tecnología aplicada a un nivel nano, por lo tanto no se encierra a un área de aplicación en específica, de ahí que se le considere como interdisciplinaria.<br />Para hacerse una idea a que nivel de desarrollo se está hablando, un nano es la millonésima parte del milímetro (10-9, si lo vemos desde el punto matemático).<br /><br /><a name="_Toc170761702"><strong>¿Áreas de aplicación de la Nanotecnología?</strong></a><br />Como se mencionó anteriormente, la nanotecnología se puede aplicar a muchos campos. Según un informe de un grupo de investigadores de la Universidad de Toronto, en Canadá<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn2" name="_ftnref2">[2]</a>, las diez aplicaciones más prometedoras de la nanotecnología son:<br />· Almacenamiento, producción y conversión de energía<br />· Producción agrícola<br />· Tratamiento y remediación de aguas<br />· Diagnóstico y cribaje de enfermedades<br />· Sistemas de administración de fármacos<br />· Procesamiento de alimentos<br />· Remediación de la contaminación atmosférica<br />· Construcción<br />· Monitorización de la salud<br />· Detección y control de plagas e informática.<br /><br /><br /><a name="_Toc170761703"><strong>Nanotecnología en Costa Rica</strong><br /></a><br />El término Nanotecnología es un término totalmente nuevo e innovador. Tal vez su comercialización sea totalmente nula. Sin embargo Costa Rica ya dio los primeros pasos que den comienzo a una era de investigación y desarrollo de esta tecnología.<br />Gracias a la colaboración del Centro Nacional de Alta Tecnología (CENAT), el Ministerio de Ciencia y Tecnología (MICIT), el Consejo Nacional de Rectores (CONARE) y la Industria de Alta Tecnología, y empresas internacionales como la NASA se creó el Laboratorio Nacional de Nanotecnología, Microsensores y Materiales Avanzados (LANOTEC). La cuál tiene como objetivo colaborar con el avance de esta ciencia aplicada en el país.<br />Además la investigación no sólo se resigna a una organización. Instituciones como la Universidad de Costa Rica tienen un departamento de investigación dedicado al desarrollo de la nanotecnología.<br />Por otro lado, personas como Samuel Stupp y Jeannette Benavides han seguido sus sueños y se han dedicado al estudio de esta innovadora tecnología, ésta última por ejemplo labora en la NASA desde hace más de un lustro dirige el Proyecto de nanotubos de carbono. Como su principal logro están en haber logrado abaratar los costos de estos nanotubos, los cuales pasaron de un costo de $500 por gramo a tan solo $1.<br />Lo anterior son ejemplos de los avances en investigación que se han logrado. El siguiente paso es capitalizar los estudios y avances a nivel comercial, y luego crear un equilibrio entre investigación e industria para lograr que Costa Rica se convierta en un punto de referencia cuando se hable de Nanotecnología.<br /><br /><a name="_Toc170761704"><strong>¿Qué debe hacer Costa Rica para un aprovechar los beneficios de la nanotecnología?</strong></a><br />Si bien es cierto, para el desarrollo de la nanotecnología se requiere una alta inversión económica, los resultados que generen dichas investigaciones traerían mayores ganancias a las invertidas. Por ejemplo la National Science Foundation, (Fundación Nacional de Ciencia de los Estados Unidos, NSF, por sus siglas en inglés) estima un mercado de nanotecnología en US$ 1 trillón de dólares durante la próxima década en el mundo<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn3" name="_ftnref3">[3]</a>.<br />Por otro lado, los productos de la nanotecnología pueden ser más pequeños, baratos, ligeros y más funcionales y requieren menos energía y menos materias primas para fabricarlos. Por lo tanto, la nanotecnología es particularmente importante para los países en vías de desarrollo como Costa Rica, debido a que involucra poca labor, tierras o mantenimiento; es altamente productiva y barata; y sólo requiere modestas cantidades de materiales y energía<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn4" name="_ftnref4">[4]</a>.<br />¿Cómo puede Costa Rica implementar un modelo de desarrollo basado en la nanotecnología? Para lograr solucionar esta pregunta se han diseñado una serie de pasos que el país debe seguir para poder realizarlo efectivamente.<br /><a name="_Toc170758682"><strong><i>Paso 1.</i></strong> Hacer conciencia nacional.</a> La ciencia es un campo de sumo cuidado y dedicación, son muy pocos los que invierten en algo que no está plasmado totalmente, ni mucho menos trabajar en algo que podría no dar resultados positivos tal y como lo son las investigaciones. Muy bien lo dijo la Divulgadora Científica Karen Bultitude, cuando se le entrevistó acerca de la ciencia: “A lo largo de los últimos años ha habido muchos ‘sustos’ en torno a la ciencia, como con los avances de la nanotecnología: la gente no sabe exactamente qué es y se asusta”<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn5" name="_ftnref5">[5]</a>. Por lo tanto se debe eliminar ese concepto, buscar incentivar a la población en el campo de la nanotecnología, y hacerla ver que es una oportunidad que no se puede ignorar, que es una puerta abierta hacia el éxito.<br /><a name="_Toc170758683"><strong><i>Paso 2.</i></strong> Educar a la población.</a> Muy pocas instituciones educativas se dedican a enseñar la nanotecnología como algo más que un simple concepto. Se debe poner mucho énfasis en este aspecto, ya que es el más importante. El conocimiento de lo que se está haciendo es lo más valioso que se puede tener, no basta con tener los recursos necesarios, ya que son inservibles por si mismos. Una propuesta sería por ejemplo cambiar el modelo actual de Proyectos Científicos que tiene el MEP o el mismo INA para brindar una carrera destinada a esta ciencia. Este es un paso lento y debe ser planificado para que brinde resultados a corto plazo.<br /><br /><strong><i>Paso 3.</i></strong> Patrocinar proyectos de investigación y desarrollo. Con todo, vale la pena correr el riesgo, pues sin financiación de algún tipo es prácticamente imposible llevar a cabo investigaciones serias. Ideas innovadoras pueden traer grandes beneficios. Porque no pensar en algún modelo de producción de Energía patrocinado y posteriormente comercializado por el ICE, acabaría con las necesidades energéticas del país y porque no, exportar energía.<br /><a name="_Toc170758685"><strong><i>Paso 4. </i></strong>Fortalecer el desarrollo de proyectos y proteger al productor nacional.</a> Va de la mano con el paso anterior. No sólo es el hecho de apoyar y patrocinar los proyectos, sino también brindarles asesoría y ayudar a que crezcan. Además de dar protección, tanto en materia legal como económica para que el productor nacional no se vea afectado por inversionistas extranjeros que quieren sacar provecho y estén preparados para competir en el mercado.<br /><a name="_Toc170758686"><strong><i>Paso 5. </i></strong>Apoyar el desarrollo de Pymes.</a> Hay que alejar ese concepto que sólo grandes empresas pueden desarrollar la nanotecnología, hay que colaborar e incentivar a los pequeños emprendedores para que logren sus objetivos con respecto a esta área específica, incentivando de esta manera el desarrollo de capital costarricense.<br /><a name="_Toc170758687"><strong><i>Paso 6. </i></strong>Atraer inversión extranjera.</a> No viéndolo desde el punto de vista de trabajar para empresas transnacionales, porque el capital generado no traería beneficios al país ni mucho menos a la persona, sino buscando socios o clientes potenciales para poder obtener ventajas y ganancias de los proyectos de desarrollo.<br /><a name="_Toc170758688"><strong><i>Paso 7.</i></strong> Proyectar la inversión hacia el exterior, buscar mercados internacionales</a>. Luego de establecer un negocio o proyecto totalmente fortalecido, es momento de incursionar en mercados internaciones donde se pueden obtener mayores ganancias, las cuales fortalecerían aún más a Costa Rica como productor de proyectos nano tecnológicos.<br /><br /><strong><a name="_Toc170761705">Conclusiones</a><br /><a name="_Toc170761706">Sociedad, ética y desarrollo de la nanotecnología en Costa Rica</a></strong><br />La Nanotecnología en Costa Rica es un tema que prácticamente es nuevo para la mayoría de los ciudadanos, los cuales desconoce casi toda información, por lo que, son inexpertos y no están consientes que podría traer grandes ventajas a un país como el nuestro, en muchos campos. En un país como Costa Rica se puede decir que realmente es muy poco lo que se ha intentado implementar.<br />El problema del porque no implementamos la nanotecnología se puede resumir en que tenemos una ideología de un país tercermundista y nos comportamos como uno de ellos, sin salirnos del esquema y con ello no buscamos en nosotros mismos las creaciones y soluciones de nuestros propias innovaciones. Lo peor de todo esto es que se cuenta con los recursos necesarios para poder realizar proyectos de alta calidad.<br />Todo esta al alcance del que lo quiera conseguir, con lo cual se quiere hacer una critica social de lo que estamos haciendo, en donde los costarricense hemos perdido la pericia de crear nuevos descubrimientos que aporten beneficios a la sociedad y donde en hoy día la nanotecnología se esta convirtiendo en uno de los factores que esta marcando el futuro de la humanidad.<br />Se puede observar que la Nanotecnología marcará una pauta de una nueva generación de tecnología, en donde, será un punto determinante para la sociedad, por lo que, Costa Rica debe buscar integrarse a la investigación, desarrollo o por lo menos a la adquisición, para así poder afrontar el futuro con las herramientas necesarias para ser un país de punta en cuanto a nanotecnología.<br />“Revolución Nanotecnológica, una revolución que se pronostica afectará a la sociedad de forma invasiva –tan tremendamente invasiva– como las tecnologías de la información y de las comunicaciones, o la biología molecular”<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn6" name="_ftnref6">[6]</a><br />La nanotecnología podría verse como la creación de un producto para su comercialización, aunque su verdadero alcance esta en crear innovaciones que brinden beneficios a la sociedad, sin pensar en un valor económico, ni mucho en la brecha tecnología, con lo cual surgirían soluciones que no se encuentran aun consideradas.<br />“Mucho más lejos de su explotación comercial están otras aplicaciones potenciales que bien podrían tacharse de futuristas y que de materializarse algún día colmarían, cuando no superarían, las más ambiciosas expectativas del hombre, sobrepasando los límites de su imaginación”.<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn7" name="_ftnref7">[7]</a><br />El campo de la nanotecnología es relativamente nuevo, lo cual no ha provocado que existan gran cantidad de instituciones y empresas que desarrollen esta tecnología, parece ser que apenas esta surgiendo el tema de la nanotecnología. Aunque el problema de falta de búsqueda y surgimiento de proyectos innovadores relacionados con nanotecnología, no es un tema que afecta solamente a Costa Rica, ni mucho menos es nuevo. Pero no debemos conformarnos con la tendencia de los demás, debemos ser un país de individuos capaces de ser fabricador de nanotecnología.<br />“El concepto de Nanotecnología lo esbozó, hace casi medio siglo, el Premio Nóbel de Física Richard Feynman. En su conferencia “There’s plenty of room at the bottom”, pronunciada ante la Sociedad de Física Norteamericana en 1959, en el California Institute of Technology de Pasadena, Feynman se lamentó de la falta de iniciativas en torno a la “fabricación de cosas a escala pequeña”. <a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftn8" name="_ftnref8">[8]</a><br />Muchos críticos hablan de que la nanotecnología podría más bien marcar una brecha económica, pero es lógico que toda creación tecnológica tenga un alto costo, cuando se inician posteriormente a producir a nivel comercial sus precios bajan significativamente, sino, se pueden crear técnicas tal y como lo hizo Jeannette Benavides, con el ejemplo de los nanotubos, como se expuso anteriormente.<br />La brecha social que se dice se puede crear, se veía marcada por la diferencia económica, pero para su desarrollo se pueden buscar socios o patrocinadores y cuando los resultados estén plasmados, sus costos se abaratarán y las ganancias se verán. Además se verán solucionadas gran cantidad de problemas como los energéticos, cura de enfermedades, entre otros.<br />Finalmente un último pronóstico, la nanotecnología está destinada a convertirse en la siguiente era tecnológica, queda a decisión de cada persona si toma ventaja a tiempo o se quedan esperando a que eso llegue y se conviertan en simples espectadores, sin protagonismo alguno.<br /><a name="_Toc170761707">Referencias</a><br />· (Wikipedia, www.wikipedia.org, 2007). Wikipedia Foundation, Inc. [en línea]. Recuperado el 25 de Junio de 2007, de <a href="http://es.wikipedia.org/wiki/Nanotecnología">http://es.wikipedia.org/wiki/Nanotecnología</a><br />· (Ivannia Meza, www.conicit.go.cr, 2007) Ivannia Meza, imeza@micit.go.cr, MICIT, “Inauguran Laboratorio Nacional de Nanotecnología”, <a href="http://www.conicit.go.cr/boletin/boletin27/labnano.shtml">http://www.conicit.go.cr/boletin/boletin27/labnano.shtml</a>, 2007.<br />· (José Vega Baudrit, www.cenat.ac.cr, 2007) Dr. José Vega Baudrit, “Laboratorio de Nanotecnología (LANOTEC)”, <a href="http://www.cenat.ac.cr/cenat/?q=node/22">http://www.cenat.ac.cr/cenat/?q=node/22</a>, 2007.<br />· (Debbie Ponchner, www.nacion.com, 2006) Debbie Ponchner, dponchner@nacion.com, Nación, “Entrevista: Karen Bultitude”, <a href="http://www.nacion.com/ln_ee/2006/octubre/30/aldea877412.html">http://www.nacion.com/ln_ee/2006/octubre/30/aldea877412.html</a>, 2006.<br />· (D. Manuel Fuentes(2007), “La nanotecnología y su impacto en la sociedad”) Dr. D. Manuel Fuentes, Profesor Ordinario de la Escuela Superior de Ingenieros de España, “La Nanotecnología y su impacto en la sociedad del siglo XXI”, <a href="http://www.unav.es/noticias/leccioninaugural.pdf">http://www.unav.es/noticias/leccioninaugural.pdf</a>, 2007.<br />· José Manuel de Cózar Escalante, jcozar@ull.es, Universidad de La Laguna, “Nanotecnologías: promesas dudosas y control social”, <a href="http://www.conicit.go.cr/recursos/documentos/nano_promesa.html">http://www.conicit.go.cr/recursos/documentos/nano_promesa.html</a> , 2003.<br />· Debbie Ponchner, dponchner@nacion.com, Nación, “Tica desarrolló técnica para abaratar nanotubos de carbono”. <a href="http://www.nacion.com/ln_ee/2006/noviembre/20/aldea900869.html">http://www.nacion.com/ln_ee/2006/noviembre/20/aldea900869.html</a>, 2006.<br />· Debbie Ponchner, dponchner@nacion.com, Nación, “La nanotecnología puede penetrar cualquier campo”, <a href="http://www.nacion.com/ln_ee/2007/febrero/23/aldea1005413.html">http://www.nacion.com/ln_ee/2007/febrero/23/aldea1005413.html</a>, 2007.<br />· Roxana Grillo Rosania, "Coreanos interesados en estudios sobre nanotecnología", <a href="http://www.ucr.ac.cr/boletin/index2.php?option=com_content&do_pdf=1&id=39">http://www.ucr.ac.cr/boletin/index2.php?option=com_content&do_pdf=1&id=39</a> , 2007<br />· (R.P. Feynman, <a href="http://www.zyvex.com/">http://www.zyvex.com/</a>, 1960) R.P. Feynman: Theres’s Plenty of Room at the Bottom, Eng. Sci. 23 (1960) 22-36, and <a href="http://www.zyvex.com/nanotech/feynman.html">http://www.zyvex.com/nanotech/feynman.html</a> (1959)<br />· (Feynman, Richard P., “There’s Plenty of Room at the Bottom”, 1961) Feynman, Richard P. 1961 “There’s Plenty of Room at the Bottom”, in “Miniaturization” ed Horace D. Gilbert, Reinhold Publishing Corp N.Y., 282-296.<br /><br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref1" name="_ftn1">[1]</a> Wikipedia, <a href="http://www.wikipedia.org/">http://www.wikipedia.org/</a>, 2007<br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref2" name="_ftn2">[2]</a> Wikipedia, <a href="http://www.wikipedia.org/">http://www.wikipedia.org/</a>, 2007<br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref3" name="_ftn3">[3]</a> Ivannia Meza, <a href="http://www.conicit.go.cr/">http://www.conicit.go.cr/</a>, 2007<br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref4" name="_ftn4">[4]</a> José Vega Baudrit, <a href="http://www.cenat.ac.cr/">http://www.cenat.ac.cr/</a>, 2007<br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref5" name="_ftn5">[5]</a> Debbie Ponchner, <a href="http://www.nacion.com/">http://www.nacion.com/</a>, 2006<br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref6" name="_ftn6">[6]</a> D. Manuel Fuentes(2007), “La nanotecnología y su impacto en la sociedad”, pág. 5.<br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref7" name="_ftn7">[7]</a> D. Manuel Fuentes(2007), “La nanotecnología y su impacto en la sociedad”, pág. 16.<br /><a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref8" name="_ftn8">[8]</a> R.P. Feynman, <a href="http://www.zyvex.com/">http://www.zyvex.com/</a>, 1960<a href="http://www.blogger.com/post-create.g?blogID=2895082789915126398#_ftnref8" name="_ftn8">[8]</a> R.P. Feynman, <a href="http://www.zyvex.com/">http://www.zyvex.com/</a>, 1960</div>Unknownnoreply@blogger.com1