Archivo de la categoría: Desarrollo Web

Executing action with Ajax in RoR, and modifying html without refreshing the page

In index.html.erb we produce a link that triggers an ajax action when clicked by means of :remote => true. In this example the entity or model is Day and the action is total.

Notice that we render day.id as id for the html element we want to manipulate. This is how we could identify and work with that specific element (any element in the identified row).

Let’s look at myentity_controller.erb. There we got the repond_to block and the condition format.js {}. This indicates that javascript will be sent as response and the correspondent code must be included in a js.erb view with the name of the action (e.g. myaction.js.erb).

In myaction.js.erb we can use JQuery to manipulate the dom and html elements with the powerful help of Rails bindings.

Visit more tips in our dev adventure Adagio Dev

Magento

Compartimos un poco acerca de Magento

Una plataforma Open Source para el comercio electrónico, para las tiendas online.

Existen soluciones de pago para armar tiendas en línea, incluso algunos servicios de hosting las ofrecen como parte de algunos de sus paquetes así como ofrecen tener con un click un sistema manejador de contenidos como WordPress, Drupal, Joomla, etc… y así muy rápido ya tener nuestros blogs, websites, etc.

Las plataformas de código abierto permite la personalización y en algunos casos su popularidad facilita el intercambio de experiencias en la implementación de casos particulares. Incluso se llegan a encontrar casos muy recurrentes como errores desde la instalación o verdaderos trucos que nos ayudan a tener un sitio web estable luego de que llegamos a encontrarnos en un verdadero callejón sin salida.

Drupal, por ejemplo, tiene una amplia comunidad. Con la evolución del núcleo y de los módulos, se requieren soluciones muy actualizadas, las cuales están disponibles. Para quienes van muy por delante se encuentran los ajustes aún en fase de prueba y también uno mismo puede corregir al menos parcialmente temas que no funcionan del todo bien. No nos asustemos, así es la web, no todo brilla y funciona de maravilla tras bambalinas.

Magento, tema de este artículo, es una buena solución para el e-commerce. Una opinión personal es que no suficientes técnicos, ingenieros ni entusiastas ingresan al mundo del commercio electrónico. Ello también suma a que el commercio electrónico esté algo atrasado. Magento, tiene el soporte de eBay, y es desarrollado principalmente por la empresa Varien. Cuando tengamos dudas o problemas, y busquemos soluciones, llegaremos a foros y blogs del año 2008. Con suerte, del año 2011. La comunidad, y lo compartido para el desarrollo con Magento debe ser menos del 10% de lo que podemos encontrar sobre Drupal.

Sin embargo, mi opinión es positiva. Magento incluye Órdenes de Compra, Facturas, Registro de Clientes, Soporte para Múltiples Tiendas y Versiones de Tiendas (StoreViews), Soporte Multi-idioma, Pasarelas de Pago, Emails transaccionales. Sin duda es una excelente solución cuando se trata de tienda de artículos. Los plugins o extensiones no son tantas como en WordPress o Drupal. Si algo no funciona bien tendremos que tener suerte en poder arreglarlo o que el soporte técnico adquirido lo haga por nosotros.

Como todas las plataformas, si evaluamos varias plataformas para lo que querramos tener, Magento puede ser lo que requerimos, tal vez integrado con algunas extensiones y de la mano de un CMS como WordPress o Drupal, Drupal mejor 😄

Sitios web en Inglés y Español

En este artículo vamos a compartir algunas observaciones acerca de sitios web multilenguaje, conocido también como Internacionalización.

En los sitios web cuando se desea manejar varios idiomas, o al menos dos, se debe considerar que:

  • Los contenidos puedan ser ingresados en los idiomas requeridos.
  • La interfaz (botones, títulos, alertas, encabezados) permita ser personalizada para cada caso de acuerdo al idioma.

Hay distintas estrategias e implementaciones para el multi-idioma.

Para el caso de las interfaces, los distintos lenguajes de programación suelen emplear un mecanismo de reemplazado de texto. Por lo cual se debe considerar un idioma por default o principal. Esto también ayudará a que siempre se muestre algún texto, incluso cuando el proceso de traducción no esté al 100%.

Para el caso de los contenidos, que se van creando con frecuencia y que también requieren ser editados, la opción es tener por separado la versión en Inglés y en Español, por ejemplo. Los contenidos se segmentan en título, contenido principal, texto introductorio, imagen principal, galería de imágenes, etiquetas, categoría, etc. Esta estructuración permite que reutilicemos imágenes que podrían ser las mismas para todos los idiomas, o que los nombres de las categorías sean traducidas desde la administración de las mismas y no desde la edición de los contenidos.

También debemos considerar que la administración del sitio web, conocido como backend, también puede tener la opción de visualizarse en un idioma u otro. Esto puede o no ayudar a que de acuerdo al idioma en que administramos un sitio estemos ingresando el contenido para ese idioma. Algunos sistemas son muy flexibles para el manejo de múltiples idiomas y emplean los valores por default de manera ligera, en otros sistemas cambiar de idioma a otro no es tan rápido en la administración sino que cargan muchos campos y valores para editar, en muchos casos al cambiar a un idioma puede que tengamos que volver a ingresar todos los datos.

Como vemos, desde el lado de la administración no es un tema sencillo manejar múltiples idiomas. Les comento que por ejemplo en Drupal, hasta la versión 7 son al menos dos formas de hacerlo y módulos de terceros suelen funcionar bien con uno u otro, pero no con ambos. Esta es una complicación.

A pesar de las dificultades, para algunos rubros es vital, por ejemplo en turismo. Ya que los visitantes, clientes finales, o intermediarios, suelen manejar otro idioma y esperan que la web esté al menos en inglés. En el caso de los nuevos negocios, si pueden cobrar a nivel mundial se debe considerar como pérdida de oportunidad el no tenerlo en los idiomas que incluyen al público objetivo.

Idea suelta. Un truco es manejar idiomas para lograr segmentación en la comunicación. Digamos que podríamos mostrar una tienda sobria y otra con lenguaje con mucha carga emocional, un lenguaje con mucha energía. A pesar de que es en el mismo idioma, se pueden considerar estas variaciones, o los ya conocidos giros lingüísticos de cada país.

Aviso. Entre los detalles que se deben tener en cuenta, está que el diseño de un sitio web se realiza en un idioma, y puede que los títulos o contenidos requieran mayor espacio al ser traducidos.

Enlaces acerca de Drupal

Compartimos enlaces a interesantes artículos y recursos para el desarrollo con Drupal

 

Drupal en Peraltrees

http://www.pearltrees.com/francocedillo/drupal/id8076038

 

Drupal en diigo

https://www.diigo.com/user/paracuerdas/drupal

 

Drupal en delicious

https://delicious.com/francocedillo/drupal

 

Temas y Noticias acerca de Drupal en facebook

Compartimos una lista en facebook para seguir las novedades de Drupal. Encontramos actualizaciones de personas que desarrollan con, hacen consultorías o imparten cursos de Drupal. Como: Fernando Paredes (develcuy), Antonio Cucho, Danny Montalvo, Adam Sánchez, César Soplín, Karim Bouldjema, Heissen López y Eduardo García (de 7Sabores).

Aparecen también listadas las actualizaciones de empresas como Lullabot, Acquia. Y no faltan los buenos tutoriales de Drupalize.me o los anuncios de la comunidad Drupal Latino y Drupal Perú.

Dale un vistazo a la Lista en facebook acerca de Drupal, ¿te animas a seguirla? ¿alguna recomendación de perfiles para seguirlos también?

https://www.facebook.com/lists/10151298008390196

Tracking de Creación de Contenidos en Drupal con Google Analytics y Tokens

¿y el track de la creación de contenidos en Drupal con Google Analytics y Tokens?
[node:author:uid]
[node:original:author:created]

¿y si tenemos pocos Tipos de Contenidos que nos ayudan a medir algo claramente?
[node:content-type:name]

 
… admin/config/system/googleanalytics