Querido desarrollador de plug-ins: no trastees con mis tablas (¡gracias!)

(Le «robo»/traduzco la entrada a Jordi Cabot de (entre otras cosas) migratetowp.com, un servicio de migración de contenidos de Drupal a WordPress. Como siempre, a poder ser mejor leer el original, pero por si el inglés se os atraganta mucho, aquí tenéis.)

Cada vez que un desarrollador de plug-ins modifica una de las tablas principales de WordPress muere un gatito. Un conjunto no estándar de tablas centrales de WP (por ‘principales’ me refiero a las que WordPress crea durante la instalación) es una de las mejores recetas para tener problemas (al actualizar el sitio, al trasladar a un nuevo servidor, al importar datos…).

Increíblemente, más a menudo de lo que uno creería, los desarrolladores olvidan esta regla básica para el desarrollo de plug-ins (probablemente debido a que hacerlo les simplifica la vida) y perpetran este horrible acto.

Si eres desarrollador de plug-ins, por favor, sigue las siguientes reglas en todo lo referente a la interacción con mi base de datos de WP (en orden creciente de importancia, trata de llegar lo más lejos que puedas para asegurarte de que tu plug-in contamina lo menos posible la base de datos):

Regla 1
Ni elimines ni modifiques ningún aspecto de una columna existente
Regla 2
No añadas nuevas columnas a las tablas existentes
Regla 3
Si agregas nuevas columnas asegúrate de que puedan tener valor NULL (preferentemente) o por lo menos un valor por defecto (no hace falta decir que si no lo haces todo el código de inserción de nuevos datos en la tabla se colgará nada más empezar)
Regla 4
Reduce al mínimo el número de tablas nuevas a añadir a la base de datos (cada tabla implica trabajo extra para las copias de seguridad, optimización y demás procesos del sistema). No crees claves foráneas entre ktus tablas y las centrales (de hecho, a mí me encantan las claves foráneas y creo que son la mejor manera de comprobar algunas de las posibles inconsistencias en los datos, pero si, como pasa ahora, WP no sigue esa estrategia, simplemente alíneate con ello).
Regla 5
Asegúrate de que el nombre de las tablas utiliza el mismo prefijo definido por el usuario para las tablas centrales de WP (para que al menos se pueden identificar rápidamente que son parte del sitio WP).

(Por supuesto, también hay una regla 0: no tocar mi base de datos en absoluto, pero ya sé, eso es mucho pedir …)

Nosotros (los usuarios de WordPress, desarrolladores, diseñadores, …) realmente apreciamos tu consideración.

Los tuitlinks de la semana (35)

(Editado a 2025.08.13 para arreglar algunos enlaces y eliminar los que ya no funcionan.)

Los de diseño y desarrollo web

La semana ha tenido bastante de responsive…

RESS: Responsive Design + Server Side Components https://www.lukew.com/ff/entry.asp?1392

RT @chrisdavidmills #standardsnext http://gridpak.com is really rather cool – useful tool for responsive prototyping

mobble: un plug-in WordPress que nos añade is_handheld(), is_mobile() e is_tablet(), entre otros… https://wordpress.org/plugins/mobble/#faq

WordPress goes mobile: responsive design comes to CMSes http://j.mp/A8EnaN

Algo de recursos para hacer publicaciones para dispositivos digitales…

RT @cottonfieldsbcn Aquafadas.com / bakerfrework.com (en html5 y Open Source) / magplus.com Alternativas a DPS #DeviceDays2012

Un poco de visualización…

PhiloGL: A WebGL Framework for Data Visualization, Creative Coding and Game Development http://www.senchalabs.org/philogl/

Una gota de accesibilidad…

el lector de pantallas de Google para Chrome: http://www.chromevox.com/

El intento de Mozilla de hacer un dispositivo móvil con HTML y Gecko como interfaz única:

engadget: Mozilla Boot to Gecko hands-on (starring @codepo8!) https://www.engadget.com/2012-02-28-mozilla-boot-to-gecko-hands-on-video.html

Un poquito de programación

RT @QInteractiva Nuevo post en [Q]: JavaScript templating en jQuery con JsRender y JsViews https://q-interactiva.com/2012/02/javascript-templating-en-jquery-con-jsrender-y-jsviews/

Y el contreaejemplo definitivo de usabilidad:

Grandes hitos de la usabilidad…

Cuadro de diálogo. Pregunta si quieres cancelar. Las dos opciones que da son OK y cancel

Los geek

Raspberry Pi $35 miniature computer now on sale, $25 model going into production ‘immediately’ http://j.mp/wFl9A7

¡el recurso geek imprescindible de la semana! Starring the Computer :-) https://starringthecomputer.com/

RT @radio3_rne ¿Creías que había desaparecido? Pues no: se cumplen 50 años de la creación del cassette http://bit.ly/A6wFS7

Y el visual de cierre

RT @vuokko I feel like I’ve been preparing for this image all my life. http://mlkshk.com/p/D1TE #typography


Como de costumbre, si queréis tener los enlaces ‘en vivo y en directo’, los tenéis en @chechar

Finalmente, Flash mueve ficha hacia HTML5

O, al menos, eso parece deducirse de este sneak peek que publicó Adobe ayer:

De la necesidad imperiosa de Flash de saltar a la piscina de HTML5 antes de que el formato swf se vuelva irrelevante del todo hemos hablado en más de una ocasión en este blog. Ya en octubre de 2010 nos preguntábamos quién acabaría matando a Flash y nos olíamos que jQuery y familia podían sustituir buena parte de las ‘animaciones de botón’ (nos olvidamos de CSS3, todo sea dicho), pero que para hacer cosas potentes Canvas parecía una alternativa bastante más interesante y factible. Un poco más tarde, en marzo de 2011 nos preguntábamos a qué exportaba Flash, exactamente: Adobe anunciaba que exportaba a HTML, pero que lo generaba era jQuery por un tubo. Bien para cosas básicas, pero para nada a la altura de funcionar efectivamente con un .fla sofisticado. Toda una decepción. Y hace un poquito más de tres meses volvíamos a interesarnos por la carrera de Adobe por seguir siendo relevante en un mundo HTML. Y seguíamos sin entender. Más de lo que habíamos visto en marzo… y una alternativa a Flash: Adobe Edge (por cierto, que Edge sigue moviéndose y anda por la ‘preview 4’, que salió en enero). Pero Flash, la joya de la corona Macromedia, seguía sin salir a Canvas, limitado casi cruelmente a una sopa de divs, SVGs y animaciones del DOM. Sorprendente.

Febrero de 2012 y, finalmente, parece, Adobe tiene algo que enseñar digno de enseñarse. Enseñan poco, muy poco, pero cuentan en el vídeo que la cosa va de usar CreateJS, que se autodescribe como «una suite de bibliotecas JavaScript y herramientas diseñadas para trabajar con HTML5», que incluye EaselJS («una biblioteca JavaScript para trabajar con el elemento Canvas de HTML5»), TweenJS («una biblioteca de animación y tweening para JavaScript y HTML5″, y que también sale a Canvas) y SoundJS para trabajar con sonido. Que uno diría que es una buena receta para hacer lo que hace Flash… pero sin archivos swf ni la máquina virtual de Flash. Todo ello con la firma de Grant Skinner, que, por poner un ejemplo brillante, está detrás de pirateslovedaisies.com (que sí, que es difícil de creer, pero no es un .swf…)

A Flash le queda mucho camino por avanzar si quiere salvarse de la quema, pero de golpe, la cosa parece mucho menos negra…

Los tuitlinks de la semana (34)

Los de diseño y desarrollo web

El primero, cuidado, contiene matemáticas:

MathJax para MediaWiki :-) (via @_olga__) http://j.mp/yEj0hI

Un par sobre Bootstrap, el fantástico framework CSS de Twitter:

Create unique design with Bootstrap v2: http://stylebootstrap.info/

RT @initializr Huge Initializr release including Bootstrap 2, LESS, H5BP 3 and Modernizr 2.5 on the hot new initializr.com!

El peligro de los navegadores creados por fabricantes de sistemas operativos:

RT @mrdoob You need OSX Lion+ for Safari 5.1.3+. You need Windows Vista+ for IE9+.

Un poco de cajón de sastre:

Responsive Navigation Patterns http://j.mp/yJKeWg

otra opción para hacer wireframes y prototipos: http://www.invisionapp.com/

alegato a favor del HTML por encima del PDF http://bit-player.org/2012/pdf-vs-html

Open Textbook Authoring Tools: WordPress and Pressbooks (via @brlamb) http://j.mp/zA0pJV

Hablábamos ayer de los riesgos del browser sniffing. Una imagen vale más que mil palabras:

RT @brucel What a difference pretending to be Webkit can make miketaylr.com/post/0467187d.png (RT @miketaylr)

El reivindicativo

RT @antonello Por favor Google, no te olvides de Reader genbeta.com/p/67358 vía @genbeta

El matemático

Provocador. «Is Math Still Relevant?» http://j.mp/AAkhuX

(Mi opinión es que las matemáticas siguen siendo relevantes, que lo que se está quedando alarmantemente anticuado e irrelevante es lo que se explica en muchas de las asignaturas de matemáticas de primeros cursos universitarios.)

Los de seguridad

Tres herramientas a añadir a la mochila:

GRC’s Ultra High Security Password Generator http://j.mp/yRPnBZ

aSpotCat Shows All Your Android Apps’ Permissions, Services That Cost You Money (lifehacker) http://j.mp/yb1IT4

RT @lifehacker You know companies are snooping on you on every website. Use this browser add-on to stop them from tracking you: lifehac.kr/zeUoXX

El tecnostálgico

:_) RT @xeotico: AWESOME! BREADBOX64 – A twitter client for the C64/C128 running on a C128D http://youtu.be/8m86mm-SMGA

Y los audiovisuales para cerrar

Pósters minimalistas Pixar. Quiero el de Wall·e, el de Los Increíbles y el de Monsters, naturalmente http://j.mp/xmTkPF

impresionante RT @rands: Purple Rain – original live recording – with commentary: http://j.mp/wxomiM


Si te han parecido interesantes, ya sabes: @chechar

Cómo esconder un ordenador en tu móvil o tableta: Ubuntu vs OnLive

La tendencia se veía venir y comenzó a materializarla Motorola en el CES de 2011 (lo contábamos por aquí hace algo más de un año), lanzando el Atrix, un móvil Android que, al conectarlo a un ‘dock’, con teclado y pantalla, se convierte en un navegador Firefox de escritorio que debería ser, hoy, capaz, de ejecutar buena parte de las aplicaciones que uno ‘necesita’ para vivir. Un año más tarde, nada indica que el Atrix haya sido un éxito (una lástima, en mi opinión). Pero ello no evita que se atisben un par de alternativas interesantes en el horizonte más próximo…

Canonical: Linux dentro de tu Android

Canonical, los de Ubuntu, siguen por la vía abierta por Motorola, pero más, si cabe, y anuncian como eslogan A full Ubuntu desktop, on your docked Android phone, una descripción bastante aproximada de lo que quieren vender (de hecho, como cuentan en The Verge, están haciendo sus pruebas sobre un Atrix 2).

Tal y como puede verse en vídeos que corren por YouTube, una de las gracias es la fuerte integración entre Ubuntu y Android: desde el escritorio se puede acceder a las aplicaciones del móvil, así como a los datos que uno tenga guardados, e incluso ser notificado de los SMS entrantes…

Dicen los que lo han probado, eso sí, que la cosa, de momento, necesita bastantes mejoras en potencia

OnLive: virtualización multimedia

OnLive, por su lado, ataca exactamente el mismo problema desde una perspectiva más ‘cloud’ (que está de moda, oiga). Comenzaron vendiendo «virtualización para jugar» (y siguen en ello, véase): una ‘app’ iPad se conecta a un servidor virtual y te permite jugar con videojuego potente desde la tableta. Dicen las críticas (el servicio, de momento, sólo está disponible en Estados Unidos, Canadá y Reino Unido) que la cosa es interesante pero que más vale disponer de un ancho de banda más que notable si se pretende que la experiencia sea agradable, pero eso, por otro lado, era de esperar.

Y claro, una vez tienes un escritorio capaz de correr videojuegos la pregunta obvia es ¿y por qué no lo hacemos con un escritorio convencional (que seguramente necesitaremos menos recursos por máquina y el público potencial será más amplio)? Y en ello están, con OnLive Desktop (de momento ‘iPad only’, aunque prometen aplicación Android en breve. Podéis ver demos en YouTube, para haceros una idea

¿Y quién gana?

  • La opción uno es que, desafortunadamente, lo que a mí me gustaría tener y lo que a mucha gente le gustaría tener no sea lo mismo, que el nicho de mercado sea demasiado pequeño y esto quede en agua de borrajas.
  • La segunda opción es que pase lo que siempre ha pasado en informática: que se imponga la ley de Moore y que el procesador y la RAM que caben en un móvil sean, en un futuro cercano, capaces de mover con comodidad un sistema de escritorio. En ese caso, Canonical y Ubuntu llevarán un par de cuerpos de ventaja en la carrera. Pero que nadie dude que, si Ubuntu cabe en un móvil y es una opción interesante, la mismo pasaría con Windows y Mac OS…
  • Y finalmente queda la opción de que gane la nube y las soluciones de virtualización. De hecho, con una conexión de verdadera banda ancha en casa, no sería mala opción para muchos usuarios gastarse ciento cincuenta o doscientos euros al año en un ordenador virtualizado en vez de 600 o más cada tres o cuatro.

En fin. Que habrá que permanecer alerta.