martes, agosto 29, 2006

Usando XML en el Control de Menu de ASP.Net 2.0

Para Gabasys estuve revisando las ventajas y los pros de utilizar en el menu de la aplicación, ya fuera el SiteMap de la aplicación, un acceso a la base de datos o un archivo de xml.


Decidi irme por la ultima opción, creo que puede ser más sencillo el modificar un archivo de xml en el caso de una actualizacion, que tener que generar una instruccion de sql para modificar la base de datos. El SiteMap, decidi que seria parte del control de navegacion y nada mas. De esta manera puedo tener diferentes opciones entre el menu y el sitemap.


Ya al estar programando, no encontraba la forma de que el menu se formara de manera correcta, el archivo xml de pruebas es el siguiente:


<?xml version="1.0" encoding="utf-8" ?>

<menu>

<category text="Pacientes">

<item text="Agregar Nuevo" url="~/pacientes/nuevo.aspx"></item>

<item text="Modificar" url="~/pacientes/modificar.aspx"></item>

<item text="Borrar" url="~/pacientes/borrar.aspx"></item>

</category>

<category text="Consultas">

<item text="Agregar Nuevo" url="~/pacientes/nuevo.aspx"></item>

<item text="Modificar" url="~/pacientes/modificar.aspx"></item>

<item text="Borrar" url="~/pacientes/borrar.aspx"></item>

</category>

</menu>


Puse el componente Menu Contro en el MasterPage de la siguiente manera:


<asp:Menu ID="Menu1" runat="server" DataSourceID="xmlSitioMapa" Orientation="Horizontal">

<DataBindings>

<asp:MenuItemBinding DataMember="item" NavigateUrlField="url" TextField="text" />

<asp:MenuItemBinding DataMember="category" TextField="text" />

</DataBindings>

</asp:Menu>

<asp:XmlDataSource ID="xmlSitioMapa" runat="server" DataFile="~/App_GlobalResources/xmlMenu.xml">

</asp:XmlDataSource>


Pero cuando se ejecutaba la aplicacion en lugar de tener las 2 opciones de Paciente | Consultas, solo obtenia un molesto menu, consulte algunas paginas de Google y encontre la modificación que se debia realizar en un ejemplo de Sonu Kapoor (http://www.xmlpitstop.com/ArticleManagement/DisplayArticle.aspx?ResourceID=83), el cual agrego al XPath para filtrar los datos, algo muy simple que hizo la diferencia:


<asp:Menu ID="Menu1" runat="server" DataSourceID="xmlSitioMapa" Orientation="Horizontal">

<DataBindings>

<asp:MenuItemBinding DataMember="item" NavigateUrlField="url" TextField="text" />

<asp:MenuItemBinding DataMember="category" TextField="text" />

</DataBindings>

</asp:Menu>

<asp:XmlDataSource ID="xmlSitioMapa" runat="server" DataFile="~/App_GlobalResources/xmlMenu.xml" XPath="menu/category">

</asp:XmlDataSource>


Y una vez que se ejecuta, se obtiene lo esperado


MenuControl


Listo!

sábado, agosto 26, 2006

Cómo empezar un proyecto en SourceForge.

El proyecto GabaSys ha iniciado y esta alojado en SorceForge. Espero recibir correos pronto de personas que quieran participar en el mismo. En esta ocasión, describiré el proceso para iniciar un proyecto de SourceForge.
Primero es registrarse en SourceForge.net, una vez registrado el siguiente paso es mandar la solicitud para el proyecto (Register a new project). He leido en otros blogs, que la respuesta es casi autómatica, en mi caso se tardo un par de semanas el correo electrónico con la aceptación de iniciar el proyecto, no se a que se debió.
Una vez aceptado el proyecto, el siguiente paso es usar una herramienta SSH para conectarse al servidor, es muy latoso usar SSH, pero entiendo que como tal sf.net se vende como un producto empresarial, es asi, que la seguridad en ese ámbito debe ser muy fuerte. Esperaba que el proceso de colocar los archivos fuentes, documentos y demas fuera mas sencillo y con una interface predominantemente web. Pero creo que aun cuando son proyectos de codigo abierto, la seguridad no esta de mas.
Estoy en windows asi que decidí usar WinSCP el cual es un proyecto del mismo SourceForge. WinSCP trae la herramienta PUTTYGen (despues de la instalacion completa de WinSCP, en el mismo menu de programas), con el cual se puede crear una llave publica y privada para el acceso a SSH. Las instrucciones en inglés están https://sourceforge.net/docs/F02/en/#keygen_putty.
La llave pública creada con PUTTYGen se deberá agregar en el perfil de la cuenta "Edit SSH Keys", y la llave privada sera usada en la conexion de WinSCP, dejando vacio el campo de contraseña y utilizando el archivo generado con la llave privada.
Una vez conectado al servidor shell.sourceforge.net, habra que cambiar el directorio al del proyecto /users/groups/g/ga/gabasys/htdocs/ segun el nombre que se haya seleccionado en el caso de GabaSys, la ruta anterior es la que corresponde. Ya en ese directorio, podemos poner todos los archivos de html que estamos requiriendo asi como las imagenes pertinentes, es decir es nuestro webroot.
Por otra parte, los archivos que corresponden al código fuente del proyecto y demas, no se deben subir de esta forma, para esto existe el sistema de archivos liberados o File Release System (FRS). El FRS conjuga FTP anonimo y un esquema de relación en el proyecto.
Lo primero es realizar ftp anonimo a upload.sourceforge.net, antes de subir los archivos es muy recomendable que hayamos verificado el nombre correcto del mismo y sus contenido. En mi caso el primer archivo fue la base de datos vacia. Un archivo .zip que contenia el archivo gabasys.mdb. Las instrucciones en ingles para subir los archivos estan en: https://sourceforge.net/docman/display_doc.php?docid=6445&group_id=1#filereleasesteps.
Aqui lo interesante del proceso, el archivo se pone disponible para todo los usuarios que estan liberando archivos al mismo tiempo, no revise si al momento de seleccionar mi archivo en el FRS, se quitaba la disponibilidad para los demas usuarios, lo cual no es muy importante. De regreso a las pantallas administrativas de sf.net, se debe seleccionar la seccion File Releases. Se agrega un paquete (por omision aparece uno con el mismo nombre del proyecto). Yo decidí llamar al paquete gabasys-db. Se crea el paquete y a continuacion se debe agregar los "releases", seleccionamos "Add release", para esta versión coloque gabasys-db.0.1, se aprieta el boton de agregar "release" y a continuación aparecerá una pantalla en la cual aparecen todos los archivos disponibles en el servidor ftp anonimo de sf.net, es ahora cuando se debe realizar una relación entre el archivo que habiamos colocado mediante el ftp y el nombre de la version que estamos liberando del proyecto.
Regresamos a los archivos que se encuentran en nuestro webroot y agregamos en nuestras paginas la seccion de Descargar (Download), con el url compuesto de la siguiente manera:
https://sourceforge.net/project/showfiles.php?group_id=167362 modificando el numero que corresponda en el group_id
Y no olvidar colocar el logo de sf.net el cual debe colocarse en nuestro sitio web, esto como requisito del mismo sf.net.
¡Listo!

FreeMind 0.8.0

Sofware para crear mapas de ideas.
Estoy realizando la estructura de la base de datos para el programa MedSid, en esta ocasion use FreeMind 0.8.0 http://freemind.sourceforge.net/ como en varias ocasiones estoy usando una herramienta de Codigo Abierto (OS), ya habia trabajado con la version anterior, sin embargo se bloqueo en un par de ocasiones en la laptop, y decidi no usarlo. Obtuve la nueva version hace un par de meses. Decidí darle un intento más, y en esta ocasión no he tenido problemas.
Mientras esperaba en un restaurante hace una semana exactamente, decidi empezar a construir la estructura. Empecé con algunas ideas que tenia en la cabeza para la parte central de la base de datos. Lo dejé un par de días y ayer en la tarde, me parece que lo que tengo puede funcionar.

FORMAS DE POSICIONAMIENTO WEB

¿Por qué nadie me encuentra en Internet?
Buscadores.
Directorios Web.
Compra de banners. (AdWords de Google).
Enlaces de otros sitios comunes. (Asociaciones).
Enlaces a mi competencia.

BUSCADORES.
Existen servicios y software que se pueden contratar o comprar, y que logran que nuestro sitio aparezca en los buscadores mas conocidos. $
DIRECTORIOS.
Los directorios web generalmente son elaborados por personas que revisan el contenido del sitio propuesto. Sin costo.
COMPRA DE BANNER.
Existen diferentes portales que venden sus espacios publicitarios, entre ellos el más existoso es Google. $$$
ENLACES DE SITIOS COMUNES.
La mejor manera de posicionarse en los rankings de los buscadores es que existan muchas páginas que se enlacen a nuestro sitio. Una manera sencilla es pidiendo a los contactos, clientes o asociaciones a las que pertenecen las empresas, que recomienden sus páginas el sitio web de la empresa.
ENLACES A LA COMPETENCIA.
Muchas veces algun usuario de internet esta buscando información de nuestra competencia. Es así, que los buscadores pondrán a la competencia en primer lugar, y en segundo, la información de la empresa.
¡Listo!

HERRAMIENTAS WEB DE MARKETING

SPAM o correo no deseado.
Boletines electrónicos
Fuente de información
Renovación continua.
De uso práctico.
Para personas por personas.

SPAM
Aún cuando el spam se considera un mal uso que se puede hacer del correo electrónico, lo cierto es que el envío masivo sigue siendo una de las opciones más utilizadas en internet, para darse a conocer.
BOLETINES ELECTRÓNICOS
Comparte algunos elementos del Spam, la diferencia radica en que el usuario expresamente solicito este envío. Es muy útil para lograr un contacto constante con los clientes y usuarios del sitio.
FUENTE DE INFORMACIÓN
Si el sitio web se vuelve un recurso de información al cual es atractivo que los visitantes regresen, el mayor efecto es que se realizan recomendaciones a nuevos visitantes y se empieza a reconocer a la empresa como una herramienta que da seguridad y confianza.
RENOVACIÓN CONTINUA
Los usuarios pueden perder el interes de nuestro sitio de una manera muy rápida, es así que la renovación continua de la información y del diseño gráfico pueden ayudar a que este interés no se pierda.
USO PRÁCTICO
Mientras nuestro sitio web, pueda servir al usuario, este lo recomendará y lo seguirá usando. Esto conlleva a un reconocimiento de la firma que se encarga de tener un sitio útil, el usuario tendrá la percepción de que podrán resolver sus problemas.
PARA PERSONAS POR PERSONAS
Internet es un lugar frio, completamente etereo, nuestro sitio web debe tener la cualidad de transmitir que detrás del sitio siempre existirá una empresa en la que se puede confiar.
¡Listo!

¿Un blog para mi empresa?

Si se crea un blog de la empresa que la gente encuentre útil y relevante, se tendra un medio de autopublicidad que ayude al negocio. 5 razones para realizar un blog:
  1. El sitio de la empresa se vuelve mas personal.
  2. Los blogs permiten crear contenidos de una manera muy sencilla.
  3. El contenido dinamico de un sitio, provoca que el usuario regrese a ver las novedades.
  4. Los buscadores como Google siempre buscan contenido fresco en Internet.
  5. Los autores de blogs por lo general recomiendan blogs de otros autores.
¡Listo!

Recomendación sobre el proyector Optoma EP719

Despues de mucho tiempo en semanas pasadas, se compro un proyector. Solicite que me recomendaran alguno, y la verdad es que nadie me habia orientado sobre el asunto. Busque en internet, y todo mundo opina que los infocus son muy buenos. No soy experto en el tema, y por eso habia consultado con un par de "especialistas".
Total que en el viaje a McAllen en dias pasados, me dijero que la marca Optoma es usado en la Universidad Veracruzana. Yo no habia oido mucho sobre esta marca pero el precio del equipo, en este caso el modelo EP719 por $8,999.00 usd, me parecia muy buen precio.
Hoy en la tarde tuve la oportunidad de usarlo y me lleve una grata sorpresa, la nitidez es maravillosa, solo tuve conectarlo a mi laptop y empezo a funcionar sin problema alguno, el equipo es maravillosamente pequeño por lo que no tuve contratiempos en la oficina del cliente que visite.
Debo admitir, que ir a una presentación sin haber probado el equipo antes, me tenia un poco ansioso, pero por cuestiones de tiempo, no me quedo de otra. La verdad es que no importó, el equipo se porto fabulosamente, repito sin contratiempos.
Para aquellos interesados en un proyector, les recomiendo este en particular.
¡Listo!

Modulos practicos en instalaciones de OSCommerce

Acabo de terminar de configurar las opciones que me habian solicitado en la instalacion de OSCommerce para un cliente de la empresa. Los modulos que se agregaron finalmente son:
Monitor Page 1.3
Most Popular 1.0
Recently viewed products
Recover cart sales
Admin change password

No tuve gran problema para configurar los modulos, excepto con el RVP, el cual resolvi colocando un fix que tenian dentro de las contribuciones de OSCommerce (por algo estan ahi).
¡Listo!