JASoft.org

El blog de José Manuel Alarcón Aguín. Programación web y mucho más...

MENÚ - JASoft: JM Alarcón

Mostrando notificaciones desde el navegador con HTML5

Los navegadores son, cada vez más, los sistemas operativos modernos. A lo que me refiero es a que la mayoría de las aplicaciones que usamos en el día a día residen cada vez más en el navegador y menos en aplicaciones específicas en el escritorio. Por ello, desde HTML5 tenemos que poder hacer más cosas que tradicionalmente eran coto exclusivo de las aplicaciones de escritorio. Una de ellas es la posibilidad de enviar notificaciones ante ciertos eventos: Chrome Firefox Gracias a la API de notificaciones de HTML5 es posible conseguirlo, aunque tiene sus detalles que debemos controlar. Actualmente Internet Explorer es el único navegador que no soporta la API de notificaciones de HTML5, y ésta además no es un estándar cerrado, por lo que puede variar de un momento a otro. Lo que voy a explicar a continuación funcionará bien en Google Chrome, Firefox, Safari y Opera en el escritorio, aunque solamente lo he probado en Chrome y Firefox. Lo de Internet Explorer me... [Más]

La propiedad EnableViewStateMac ya no funciona en ASP.NET Web Forms 4.5.2

Hace unas semanas Microsoft anunció la revisión 4.5.2 de .NET, que actualiza un poco la última versión de la plataforma .NET (la 4.5) con algunos ajustes y correcciones. Si nos atenemos a lo que anunciaron en el blog oficial, e incluso en la lista de cambios del lanzamiento, no hay nada que llame la atención sobre un pequeño detalle que sin embargo es muy importante: han deshabilitado la posibilidad de desactivar el MAC del ViewState en ASP.NET Web Forms. Y esto ¿qué significa? Para verlo, primero demos un repaso rápido a qué es el MAC y para qué sirve. Luego veremos qué implicaciones tiene el hecho de no poder desactivarlo. Funcionamiento del ViewState y autenticación El ViewState, como todos deberíamos saber, es una parte fundamental del funcionamiento de Web Forms. Almacena el estado de los diferentes controles de una página entre postbacks. En Web Forms cada evento que se produce que se gestiona en el servidor implica un envío de la página de nuevo al servidor. A estos reenv... [Más]

Acceder a la herramienta de configuración de ASP.NET en Visual Studio 2013

Hasta la versión 2012 de Visual Studio disponíamos de un acceso directo muy cómodo desde el propio entorno que nos permitía lanzar la herramienta de configuración de ASP.NET: De esta manera abríamos la utilidad que nos permitía configurar la seguridad de la aplicación: usuarios, roles, proveedores para éstos, etc... En Visual Studio 2013 y .NET 4.5 se ha dado preferencia a las bibliotecas de ASP.NET Identityen detrimento del clásico sistema de Membership. Por ello, aparte de basar las nuevas plantillas de proyecto en estas nuevas bibliotecas de autenticación y autorización, se ha retirado el acceso directo a la herramienta anterior (y no se proporciona tampoco una herramienta análoga para lo nuevo, debiendo recurrir a la implementación por defecto incluida en las plantillas). Sin embargo, si necesitas (o prefieres) utilizar el antiguo sistema de autenticación y te interesa acceder a la herramienta, todavía puedes hacerlo, aunque no te resultará tan cómodo. El acceso se basa en el... [Más]

Cuadros de texto auto-completados sin necesidad de usar JavaScript

Uno de las extensiones y “widgets” JavaScript más utilizadas es, sin duda, la que nos permite crear cuadros de texto auto-completables, es decir, aquellos en los que a medida que empezamos a escribir se nos van rellenando con los posibles valores correctos, algo así: Lo habitual es usar algún plug-in de jQuery para conseguirlo. Sin embargo gracias a HTML5 esto ya no es necesario en la mayor parte de los navegadores. En HTML5 tenemos una nueva etiqueta llamada datalist que nos permite definir el contenido para esos cuadros de texto. Su sintaxis es la siguiente: <datalist id="cursos"> <option value="HTML5 y CSS3"/> <option value="JavaScript"/> <option value="ASP.NET MVC"/> <option value="ASP.NET Web Forms"/> <option value="ASP.NET SignalR"/> </datalist> De esta manera, y de forma muy parecida a... [Más]

Las rutas relativas en archivos CSS

Se trata esta de una cuestión básica pero que muchos programadores web con poca experiencia suelen confundir. Imagina que tienes un sitio web muy sencillo con una página, una hoja de estilos y una imagen, organizados de esta manera: La página que está ubicada en la raíz hace uso de la hoja de estilos “MisEstilos.css” que está en la carpeta CSS. Además incluye a la imagen “Correo.jpg” almacenada en la carpeta “imágenes”. Además, la hoja de estilos incluye una regla que hace uso también de la misma imagen, para colocarla de fondo en un elemento. ¿Cuál es la ruta relativa que deberíamos usar para referenciar a la imagen desde la página? ¿Y desde la CSS? ¿Es la misma? Veamos las respuestas a estas preguntas, bastante sencillas pero no obvias para todo el mundo. Si queremos referenciar la imagen desde la página debemos hacer algo como esto: <img src="imagenes/Correo.jpg"> Más fácil imposible, ¿no? La página hace uso de la hoja de estilos, así que pa... [Más]

A ver si vas a ser un “DevOp” y no lo sabes...

Una de las palabras de moda en los últimos tiempos en el mundo del desarrollo del software es, sin duda, DevOp. Si lees habitualmente noticias y artículos sobre el sector (que no sean totalmente técnicos) has escuchado hablar sobre ello casi seguro. Según muchos estudios recientes y de acuerdo a lo que afirman todas estas famosas publicaciones, los “DevOps” están llamados a ser el futuro de los trabajadores del sector. Hasta ahí llegan las afirmaciones. Pero ¿qué es realmente un DevOp? ¿Qué características tengo que tener para serlo? ¿El DevOp nace o se hace? ;-) Voy a tratar de explicar cómo yo lo veo a ver si puedo ayudar a aclarar las ideas... Los cambios que está sufriendo el mundo del software DevOp es una palabra formada por trozos de otras dos (o sea, un acrónimo), en este caso Developer y Operations. Como tal, el DevOp se encargaría de tareas propias ... [Más]

10 años de este blog y cuánto cuesta crearlo

Ya soy, oficialmente, toda una institución ;-) Y es que sí, amiguetes, este blog cumple hoy nada más y nada menos que ¡10 años!. Eso en tiempo de internet es algo así como 70 años. O sea, que realmente el blog tiene mucha solera y se le debe respeto como a todos los mayores, jejeje En realidad llevo muchos más años compartiendo y colaborando con la comunidad a través de Internet, casi desde que la Red de Redes comenzó a andar en nuestro país a mediados de los años ‘90. Ya escribí sobre todo eso cuando este blog cumplió 6 años. Es interesante ver cómo la evolución de los medios de Internet impacta a su vez en la progresión de mi forma de compartir con la comunidad. En los ‘90 escribía mucho en revistas del sector, en papel. Llegué a ver publicados más de 300 artículos en mi carrera como articulista, hasta que lo dej... [Más]

Después de las media queries llegan las feature queries en CSS3

Si alguna vez has utilizado Modernizr sabrás que esta biblioteca de JavaScript te permite determinar qué características soporta un navegador y cuáles no, tanto mediante código como mediante CSS (gracias a unas clases que añade a tu página por código). La verdad es que Modernizr está muy bien, pero añade complejidad a las páginas y puede afectar al rendimiento ya que debe procesarse antes de poder aplicar las correcciones apropiadas. ¿No sería estupendo que pudiésemos hacer este tipo de comprobaciones directamente con reglas CSS? Al igual que CSS3 nos trajo las media queries para poder hacer consultas sobre el medio en el que se visualiza una página, introdujo también las “CSS feature queries” que se consiguen mediante el uso de la palabra clave @supports en las reglas CSS. Del mismo modo que las media queries usan regiones de tipo @media para agrupar reglas qu... [Más]

Creando flechas en páginas web usando sólo CSS

Una cuestión que seguro que has visto implementada muchas veces por toda la Internet son las típicas flechas cuadradas que aparecen generalmente como parte de algún elemento mayor del que forman parte. Me estoy refiriendo a flechas como las que puedes ver en Facebook por ejemplo: o esta otra más pequeña de la misma red social: ¿Cómo podemos crear este tipo de flechas (y algunas otras) usando únicamente CSS y sin necesidad de emplear gráficos? La respuesta es a través del uso inteligente de los bordes en el modelo de cajas de CSS. Para verlo mejor consideremos cómo se pintan los bordes de un elemento HTML, para lo cual vamos a visualizar un simple div como este: <div id="mostrarBordes"></div> con sus cuatro bordes en colores diferentes, con esta regla CSS: #mostrarBordes { width:200px; height:200px; border-style: solid; border-width: 50px; border-color: blue red gr... [Más]

Cómo cancelar un pago periódico en PayPal

Esto es off-topic total, pero es que me ha costado un rato averiguarlo, así que creo que puede ser de utilidad para más personas y por eso lo pongo aquí... Yo tengo varios pagos recurrente hechos con PayPal, básicamente son donaciones periódicas que hago a algunos servicios, pero podrían ser suscripciones a algún servicio on-line y cosas así. El otro día, enfadado con uno de los proyectos que soporto porque pasan olímpicamente de dar soporte para IE y Windows 8.1 y lo necesito para poder usarlos, quise cancelar la donación trimestral que les hago con PayPal. Me costó bastante encontrar cómo detenerla. Estos son los pasos a seguir para cancelar una suscripción en PayPal: 1.- Vete a tu perfil y dentro de ahí a “Más opciones”: 2.- Dentro de ahí vas a “Información financiera” y dentro de ésta a “Pagos con aprobación previa”: 3.- Al entrar te muestra una lista con los pagos recurrentes que tienes actualmente activos. Debes pulsar en el que quieras eliminar: 4.- En la informació... [Más]