Abr 16

Para la gente que empieza

16 Abril, 2008

He estado pensando en crear nuevas camisetas con el logotipo que salió elegido en las encuestas…cambiando de tema, echemos un vistazo al:

FAQ para principiantes

Para la gente que empieza con un lenguaje siempre viene bien el super FAQ de la vida: los scripts que todo programador de PHP quiere saber. Un listado de macros que responden cuestiones importantes que siempre se preguntan hasta la saciedad en los miles de foros y grupos de discusión dedicados a este lenguaje por todo el mundo.

Es una pequeña lista que todo programador se pregunta al comenzar con PHP. Espero que sirva de utilidad, tanto como a mi me habría servido.

Abr 11

Introducción

Ahora es el momento de introducir el CMS (Content Management System en inglés) de zenphp. Echando un vistazo rápido al sistema gestor de contenidos que usa cualquier software libre que hay ahi afuera como Drupal, Joomla, Wordpress,Mambo,etc. es fácil comprobar que se utilizan para almacenar, indexar y buscar texto y contenido multimedia; estos sistemas son extremadamente útiles en sitios web donde el contenido es mantenido por más de un autor aunque muchos de ellos no dispongan de un gran abanico de conocimientos técnicos ya que pertenecen a distintos departamentos.

El Problema

Si en un sitio web hay un equipo de excelentes escritores tanto así como de diseñadores gráficos, que actualizan regularmente contenidos de diversa índole, apareciendo estos indexados en la página principal divididos parcialmente por cada una de sus categorías, debemos permitir que cada profesional se dedique a hacer lo que mejor hace, concentrándose en su área, pero trabajando juntos en el mismo sistema rápido y colaborativo.

Requerimientos de la solución

  • Simplicidad : cada trabajador concentrado en su especialidad
  • Permitir a los escritores editar,revisar las historias y decidir cuáles se van a publicar y cuáles van a ir a primera plana, etc.
  • Uso de un sistema de plantillas consistente
  • Permitir a los escritores acceder sólo a las áreas para las que fueron designados
  • Permitir cambiar la apariencia en cualquier parte del sitio
  • Sistema de seguridad: passwords para artículos y contenido,etc.
  • Comunicación: sistema de mensajería interno (¿ajax?)

Sistemas existentes

Como todo buen programador debe preguntarse antes de ponerse a programar directamente si algo de lo que necesita posiblemente ya esté hecho, en el caso de los SGC (CMS) nos encontramos con que existen muchísimas alternativas, he analizado y participado para la mayor parte de ellos, contribuciones de OsCommerce(http://www.pionono.es), módulos para Joomla ( http://www.intecna.es/ ), adaptaciones de zenphp para PHProjekt [ver], etc

Tras evaluarlos decidí, hace un tiempo, escribir el propio para zenphp para obtener la flexibilidad con un coste añadido: muchísimo trabajo xD, pero la rentabilidad está en que ahora podemos decidir como será la salida del CMS con una interfaz mucho más amigable y cómo se integra éste en el framework dentro de un sitio web, dando la libertad de ser usado o no, aunque depende de si se realiza un correcto manejo del contenido dinámico…

Uno de los principales objetivos de un SGC (CMS) es la flexibilidad a la hora de mostrar la salida, pero suele fallar en cuanto al diseño de un flujo de trabajo particular, recordemos las cadenas de procesamiento del framework Seagull o la preparación de la “pista de raíles” de PHP On Trax, o incluso de las funciones “forward” sobrecargadas de funciones de controladores de frameworks como Symfony.

Escribir un CMS simple no requiere demasiado tiempo, mientras más avanzado y complicado sea el diseño, asi afectará a la adopción del sistema.

Sistema propuesto

En zenphp el CMS es una aplicación, realmente podemos implementar un Sistema Gestor de Contenidos si así lo deseamos, con las herramientas que ya dispone, si queremos…

  • Editar contenido: desde la llegada de los editores WYSIWYG (What You See Is What You Get [auque no siempre xD ]) los SGC se han extendido como la pólvora en tiempos de guerra…Un ejemplo evidente es TinyMCE, usado para escribir este mismo artículo en Wordpress…ha mejorado tanto que no osaría compararlo con las primeras versiones de administraciones que empezamos a construir :D
  • Insertando contenido: administradores de ficheros, librerías de imágenes y vídeos, gestores de subidas de ficheros en Perl y AJAX, qué más podría decir…
  • Bases de datos versus sistema de ficheros: evidentemente gana el segundo, MySQL no es Oracle xD y se hace realmente tedioso trabajar con campos tipo BLOB para almacenar binarios, haciendo al sistema reducir el rendimiento, al menos tampoco tiene la licencia de Oracle :)
  • Estructuras de documentos como base: son historias de ejemplo para “enseñar” a utilizar los sistemas gestores de contenidos, una delicia!
  • Usar metadatos: hoy en día es imprescindible para hacer páginas amigables con buscadores…
  • Formateando la salida: usar las plantillas por defecto
  • Diseñando la base de datos y casos de uso: se pueden usar los ejemplos dados con zenphp
  • Buscador: aprovechar clase de búsqueda de zenphp.
  • Generador RSS: existente
  • Bloqueador de spam: presente
  • Exportador de documentos ,artículos a PDF: viable
  • Caché: incluida
  • Compactador: funcionando
  • URL’s amigables con buscadores: enrutada!

Extras:

  • Usar cosas “raras” avanzadas: procesadores de plantillas XCS: PHP+CSS
  • Eliminar cuellos de botella de aplicaciones web 2.0 con frameworks javascript y macros ajax.

El framework proporciona lo necesario para consturir un sistema gestor de contenidos, disfrutadlo :)

Abr 9

Gracias al proyecto del amigo Juan Pedro Bolívar he descubierto Ohloh, una web donde al introducir la dirección SVN de tu proyecto se analiza y te cuenta cosas interesantes…hasta cuánto cuesta en dólares escrito desde 0 (from scratch) por un número determinado de desarrolladores…
He aquí alguna información interesante sobre zenphp…
[leer más]
Leer el resto de la entrada »

Abr 3

He creado esta pequeña macro:

#!/bin/bash
latex $1.tex
dvips -Ppdf -G0 $1.dvi -o $1.ps
ps2pdf -dPDFSettings=/prepress $1.ps $1.pdf
acroread $1.pdf

para automatizar el proceso de creación de documentos PDF con LateX,con el que sólo tenemos que escribir ./macro presentacion

donde presentacion es un fichero con extensión .tex de forma que se generan los ficheros necesarios para procesar el PDF…para más información podéis ver este vídeo: un ejemplo de creación de documentación,perteneciente al documento “presentacion.tex” que estoy generando

Abr 2

Mientras termino con la implementación del diseño de clases GTK del generador de aplicaciones GTK, concretamente la clase que vincula el Paradigma de la Programación Orientada a Aspectos [diagrama] con el lector de cartuchos, además de las pruebas y el código de los ejemplos más el documento de memoria (ahí es ná) he hecho una encuesta con unos logotipos que me ha creado mi amigo Pablox, un genio!! :)

Éstas son las opciones para la encuesta

Logotipo 1

Logotipo 2:

Logotipo 3:

Logotipo 4:

Logotipo 5:

Creative Commons

Para participar pinchar aquí.

Gracias.

Mar 31

Pruebas con PHPUnit

31 Marzo, 2008

Para instalar PHPUnit se necesita PEAR, para ello basta con hacer, en GNU/Linux :

apt-get install php-pear

Además necesitamos graph-viz para mostrar los resultados gráficamente:

apt-get install graph-viz

sudo pear install Image_Graphvi

entonces podemos hacer las pruebas con una macro que he reutilizado del proyecto ContactR.

~/csl2-zenphp/trunk/documentacion/test$ make

Para saber más, estoy preparando un PDF para completar la información.

Mar 27


Nuevos videotutoriales han sido añadidos a la sección de documentos de la Forja.

En este caso para explicar como funciona el modelo+visualizador junto con la sencillez de añadir un andamio o Scaffolding.

Se añaden junton con un vídeo del generador de aplicaciones Gtk y el inicio de un ensayo científico sobre la meditación.

Mar 11

Resumen del proyecto

11 Marzo, 2008

Con éste artículo quiero proponer una pirámide real del programador de un framework, (sufrido XD ) y bueno, explicar los procesos que se llevan a cabo…

Leer el resto de la entrada »

Mar 9

Scaffolding terminado

9 Marzo, 2008

Por fin, oh mondié!!, terminé con el Andamio de zenphp, el Scaffolding…

bueno,he creado un PDF (alojado en el directorio de documentos del proyecto) para ayudar a usarlo, creo que es bastante fácil y agradable de leer. :)

Continúo con la caché y, tras las optimizaciones, queda menos trabajo que realizar para finalizar el gestor de contenidos (CMS) y el generador de aplicaciones PHP/GTK.
¡Ánimo a todos!

Mar 7

Esta vez he tomado la captura en Windows, el primer “cartucho” o dicho de otra forma: aplicación configurable donde poder incluir nuestro propio código a generar es el de un portal en AJAX.

Se pretende hacer un portal, algo como este pero más sencillo y administrable desde una interfaz gráfica en PHP/GTK que use el sistema zenphp como framework de aplicaciones web usando el paradigma de programación orientada a aspectos.

Close
E-mail It