WordPress local en macOS con Local de Flywheel

Local de Flywheel: la forma más sencilla de instalar WordPress en modo local en macOS. Cómo utilizar HTTPS (SSL) en el sitio local configurando un certificado válido tanto para Safari como para Chrome.

La compañía Flywheel ofrece alojamiento web específicamente diseñado para WordPress (WP en adelante) con diferentes planes, desde sitios sencillos para blogs personales o pequeños negocios hasta sitios complejos que requieren tráfico intenso, diferentes instalaciones de WP y tiendas online.

Flywheel también ofrece a la comunidad una herramienta gratuita llamada Local, disponible para macOS, Windows y Linux, que actualmente se ha convertido en la manera más sencilla de instalar un servidor local con WP en nuestro ordenador. Yo he descargado la versión Local Lightning 5.2.5 que actualmente es la más reciente disponible.

Sigue leyendo “WordPress local en macOS con Local de Flywheel”

Quake III de 64 bits en macOS Catalina

No es posible jugar a Quake III en macOS Catalina porque el ejecutable del juego no está optimizado para 64 bits y esta versión de macOS no soporta aplicaciones con código de 32 bits.

Nota: El motor de Quake III es software libre pero el juego Quake III: Arena no lo es.

Durante varios años he utilizado el juego Quake III en macOS instalándolo desde el CD oficial (en realidad copiando el contenido del CD a una carpeta en Aplicaciones) y reemplazando el ejecutable original por una versión compilada para macOS, este ejecutable ha sido del tipo binario universal y ha funcionado bien hasta la llegada de macOS Catalina y la interrupción del soporte para las aplicaciones que no sean exclusivamente de 64 bits.

La solución es sencilla, obtener el código fuente desde el proyecto ioquake3 y compilarlo para 64 bits. Esta solución es la propuesta por el usuario andersonbatista333 en el hilo titulado Mac OS X: App not 64-bit optimized for Mac OS Catalina? en GitHub.

Sigue leyendo “Quake III de 64 bits en macOS Catalina”

Navegador web con el control WebView en C# (3)

Navegador web usando la versión moderna del control WebBrowser, el control WebView, que renderiza las páginas usando el motor de Microsoft Edge en lugar de hacerlo con el motor de Internet Explorer, añadiendo un segundo formulario que muestra el código HTML de la página que se visita, en C#

En 2 ejercicios anteriores (1 y 2) se desarrolla una aplicación de formularios de Windows con Visual Basic, construida alrededor de un objeto de la clase WebBrowser que permite mostrar en su interior páginas web y también interactuar con las páginas visitadas. Se trata de una clase muy madura que apareció en NET Framework 2, fácil de utilizar y con muchos textos de ayuda en Internet.
Pero tiene el inconveniente de que, por su antigüedad, utiliza el motor de renderizado de Internet Explorer, navegador actualmente obsoleto incluso para la propia Microsoft. En teoría renderiza con la versión de Internet Explorer que tengamos instalada en el sistema pero en la práctica parece mostrar las características de Internet Explorer 7 salvo que se manipule el registro para forzar a nuestra aplicación a utilizar el motor de la versión más moderna que es la 11 a condición de que la tengamos instalada (las instrucciones para hacerlo están en el artículo 2 de los referidos al principio del texto).

Sigue leyendo “Navegador web con el control WebView en C# (3)”

Reemplazar el Bloc de Notas por otro editor de texto

Configurar Windows 10 para que utilice como editor de texto por defecto del sistema otro editor de texto diferente que tenga más funcionalidades que el Bloc de Notas, sobre todo el coloreado de sintaxis

El Bloc de Notas de Windows 10 es un editor de texto sumamente simple que apenas se ha modificado durante años. Cualquier usuario aficionado a la programación, independientemente del lenguaje, se da cuenta enseguida que con el Bloc de Notas cualquier tarea se hace sumamente difícil por su falta de funciones.

A mí personalmente me gusta mucho EditPlus de ES-Computing y es el programa que uso, acepta coloreado de sintaxis para muchos lenguajes de programación y permite ejecutar programas Java sencillos desde la propia consola del programa.

Pero lo que quiero es tenerlo como editor por defecto de Windows 10, que cada vez que el sistema o una aplicación busque el Bloc de Notas lo que se abra sea EditPlus y ahorrarme el trabajo de configurar todos los tipos de archivo que deseo que estén asociados con ese programa.

Sigue leyendo “Reemplazar el Bloc de Notas por otro editor de texto”

Error UnobtrusiveValidationMode en Asp .NET

Error relativo a validación no-intrusiva (unobtrusive validation) que aparece en aplicaciones web que utilizan Asp .NET 4.5 o posterior creadas en Visual Studio

Al ejecutar la aplicación Asp .NET creada en Visual Studio puede aparecer el error que se muestra en la imagen. La causa radica en el cambio del modo de validación que apareció con la versión 4.5 de Asp .NET, llamada unobtrusive validation y que ha sido traducida como validación no-intrusiva. José Manuel Alarcón tiene un artículo con una explicación excelente sobre este asunto en su blog.

Si la aplicación de Visual Studio utiliza Asp .NET anterior a 4.5 el error no aparece porque se emplea el modo tradicional de validación. Pero si utiliza 4.5 o posterior el error puede aparecer al compilar una página aspx con controles de validación. El caso típico es la migración de un proyecto pre 4.5 abriéndolo con la versión actual de Visual Studio y asignando al proyecto la versión 4.5 o posterior de Asp .NET.
Si se crea un nuevo proyecto web con las versiones recientes de Visual Studio a partir de alguna de las plantillas (es decir, el proyecto no se crea de tipo vacío) el error tampoco aparece porque Visual Studio configura todo lo necesario para usar el modo nuevo de validación, instalando paquetes auxiliares entre los que se encuentra AspNet.ScriptManager.jQuery que en su código de inicialización añade las bibliotecas necesarias con ScriptResourceMapping para incluir jQuery.

Sigue leyendo “Error UnobtrusiveValidationMode en Asp .NET”

Controles de validación en Asp .NET

Validación de controles en Asp .NET mediante controles ocultos: RequiredFieldValidator, CompareValidator, Rangevalidator, RegularExpressionValidator y ValidationSummary, y validación de la página en el servidor mediante la propiedad Page.IsValid, en VB

El usuario de un programa informático a menudo es impredecible en cuanto a lo que teclea. Por muy claras que nos parezcan las instrucciones y las opciones del programa, es necesario saber si lo tecleado por el usario se adapta a lo esperado o no y, en caso de no serlo, tomar acciones adecuadas que eviten el fallo de la aplicación. Se nos pueden ocurrir muchos ejemplos de ello pero, sin ir más lejos, podemos pensar en la petición del número de teléfono en donde el usuario teclea alguna letra, por lo que no se tratará de un número de teléfono válido.

Sigue leyendo “Controles de validación en Asp .NET”

DataGrid con scroll vertical usando OverFlow en Asp .NET con VB

Mostrar en una página web un DataGrid sin paginar añadiendo barra vertical de scroll gracias a la propiedad OverFlow que indica al navegador cómo interpretar los elementos cuyo tamaño es mayor que el de su contenedor

Si tenemos un DataGrid que ha de mostrar un número elevado de filas, tenemos la opción de paginar el DataGrid. Pero si no deseamos organizar el DataGrid en múltiples páginas podemos recurrir a una propiedad CSS, llamada OverFlow, que indica al navegador cómo interpretar los elementos cuyo tamaño es mayor que el de su contenedor.
El ejemplo típico es el de un contenedor <div> de un tamaño determinado que contiene un elemento de un tamaño superior. La propiedad OverFlow le dice al navegador qué hacer, dependiendo de su valor.

Valor Interpretación por el navegador cliente
visible El contenido no es recortado, puede sobresalir del contenedor
hidden El contenido es recortado, sin barras de scroll para poder ver el resto del contenido
scroll El contenido es recortado, pero el navegador coloca barras de scroll
auto Sólo si el contenido es recortado el navegador coloca barras de scroll
Sigue leyendo “DataGrid con scroll vertical usando OverFlow en Asp .NET con VB”

Archivo XML con la estructura de un directorio en C#

Crear en el Escritorio un archivo XML con la estructura de un directorio, incluyendo archivos y subcarpetas de forma recursiva, utilizando la clase XDocument del espacio de nombres System.Xml.Linq, y mostrar en un control el texto generado con el método WriteAllText de la clase File, en C#

Basado en el código propuesto por Marcin Juraszek en el artículo “Creating XML file representing folder structure (including subfolders) in C#” del sitio web stackoverflow.

Sigue leyendo “Archivo XML con la estructura de un directorio en C#”

JAVA_HOME en Windows 10

Configurar las variables de entorno para que Windows 10 ejecute correctamente los programas Java, tanto para compilarlos (javac.exe) como para ejecutarlos (java.exe); este artículo aplica a Windows 10 y JDK 8 (Java Development Kit)

Después de instalar JDK en Windows 10 es posible que los ejecutables de Java no sean reconocidos desde la línea de comandos a pesar de que la instalación del JDK añade a la variable de entorno de sistema PATH el valor
C:Program Files (x86)Common FilesOracleJavajavapath.

Para solucionarlo hay que decirle al sistema dónde están los ejecutables de Java. Esto se consigue en 2 pasos bastante sencillos que configuran la variable de entorno JAVA_HOME.

Sigue leyendo “JAVA_HOME en Windows 10”

Atributos de la directiva @Page

Los atributos de la directiva @Page en la cabecera de los archivos de código aspx son diferentes dependiendo de que se trabaje dentro o fuera del entorno de Visual Studio

La directiva @Page de las páginas aspx es distinta en cada uno de los 2 casos.

Entorno de Visual Studio

Se usan estos atributos en la directiva @Page:

  • CodeBehind, que especifica el nombre del archivo compilado que contiene la clase asociada con la página. El diseñador de formularios Web Forms de Visual Studio usa este atributo para averiguar dónde se encuentra la clase derivada de Page de forma que pueda crear una instancia de la misma para que se pueda trabajar con ella en tiempo de diseño. CodeBehind sólo se usa en tiempo de diseño, no se usa en tiempo de ejecución, el archivo vb como tal no es necesario, sólo la librería dll resultante de la compilación.
  • Inherits, que define la clase de la que hereda la página aspx. Esta clase será buscada en la librería correspondiente de la carpeta bin de la raíz del servidor Web, según el esquema nombre_de_la_dll.nombre_de_la_clase.
Sigue leyendo “Atributos de la directiva @Page”