Pongocms vs Joomla: La batalla por el template...


El último round, resulta que cuando terminé de instalar el pongocms, mi práctica de habilidades con los cms estaba muy oxidada. Un objetivo de pongocms era el uso de bootstrap, pero resulta que Joomla, desde su versión 3, incluye el bootstrap, así que decidimos darle una prueba. La instalación de joomla es completamente no asistida, descompactas, tienes tu base de datos preparado, click, click, click y listo, hasta te deja el idioma en español todo correcto, pero... Joomla es enorme, la cantidad de recursos de joomla son enormes, los templates ofrecen N opciones... y al final se convierte en un PITA, existe curva de aprendizaje POR template, aparte, llevar a "buen fin" un template desde 0 resulta mucho más complicado de lo esperado.

Buscando recursos para el joomla, me recomendaron Theme forest, muy pocos recursos son gratuitos, pero hay unas cosas hermosas, y sobre todo hay temas de bootstrap en html, entoces, despues de ver la diferencia de precios, que, siendo honestos, los clientes NO administran su joomla por que es excesivamente complicado, mejor decidí bajarme un tema gratis llamado bootbusiness y adaptarlo a Pongo... esta sería la batalla por el template. La página a crear como template fué la de contacto, por que contiene 2 zonas, el menú etc, esta es su diseño:


El pongo cms es bastante sencillo, tiene un menú al cual le asocias paginas, la pagina tiene un template que tiene zonas, editas el contenido de cada zona para el template y listo: 

 Entoces, la idea será tratar de seguir las indicaciones que hay en pongocms para crear los templates y ver que tal nos va... Si no me tardo mucho y logro el efecto, en definitiva me quedo con pongocms, por que ahorita la situación del web, seamos honestos, es más acerca de como se ve el contenido, no del contenido en sí, por lo menos para los sitios empresariales, la información suele ser demasiada aburrida para leerla es mejor tener un impacto visual, y eso es lo que buscamos: Impacto visual con fácil administración. 

Allá vamos... 
iope64:/srv/www/htdocs # php artisan cms::theme contacto 

Theme [contacto] created!

Analizando la estructura, y tratando de entender la documentación, hay un archivo que describe el template: theme.php y luego hay "blades", los blades son configuraciones o tipo de paginas del template.

El template, obviamente necesita su footer, header y un archivo "principal" que digamos sería la parte inicial del template, en este caso es el archivo template/default.blade.php 

Lo primero que hago es mapear del contact_us.html los "css" o los "assets" al archivo theme.php



El container, ya lo veremos, es donde lo meteremos dentro según lo indique blade principal, y el after es cual debe de ir despues de cual, sigo el orden del template en la inclusión de los scripts. 

Ahora, vamos a mapear, el template/default.blade.php la estructura del archivo, suponiendo como funciona las cosas, este es el template/default.blade.php y a su lado mi páguina que estoy usando como referencia:

El "cuerpo" del template, al parecer es bastante sencillo, hay algunos tags del pongocms que respetaremos como lo del title, y los de {{Asset::container('header')->styles()}} y  {{Asset::container('header')->scripts()}}, que se pueden interpretar como los loader de los "assets" que se defnieron en theme.php, eso da cierto control de que queremos cargar de "assets" en cada zona o contenedor, despues viene un contenedor que tiene la típica triada header/body/footer, siendo el body, layout.  

Segun el contact_us.html, su estructura difere un poco, el header está definido con los tags <header></header> que son del html... editando un poco queda así nuestro archivo:

Digamos que con eso, pues ya tenemos el "esqueleto" del template, ahora habría que definir los layouts y las zonas de cada layout, que para eso se usan los partials (Creo), pero primero, lo primero.. hay que migrar el header, esta es la forma "original" de ambos:


Como se puede observar, estos aparentemente son muy diferentes, pero el asunto es que no lo son, el archivo de contact_us.html tiene el menu, que nosotros debemos de suponer el pongocms generará automáticamente, el asunto es que pasara con esa generación... eso no lo sabemos aún. Pero bueno, procedemos a un poco de hack and slash y emular el header para que sea usado el pongocms.
El primero problema "serio" al que me enfrento, es que pongocms no tiene forma para definir un menú dropdown. Yo asumí que haciendo un menu heraquico, automáticamente me lo hace, pero.... o, nunca habia estado tan equivocado. Tuve que desarrollar un "blade" para hacer el dropdown, pero despues de varias horas de hack and slash y revizar algunas documentaciones de laravel llege a hacer dos blades, el menu_dropdown.blade.php y el menu_nested_dropdown.blade.php: 


Para obtener el efecto del lado derecho:

Puedo decir que no fue tán difícil, pero tampoco fue fácil, había que "entender" un poco del framework de laravel, pero hasta el momento no he podido entender todo el código como para saber que propiedades tiene que objeto...

Ahora sí, a continuar migrando el tema, ya pudiendo hacer los menus dropdown, una vez terminado eso, instalamos el tema con:
php artisan cms::setup:theme contacto
Theme [contacto] ready!
Y... este es el resultado (bueno es algo):

Bueno, ahora... será cuestion de corregir bien el template, pero... realmente no fue difícil, solo fue cosa de seguir los layouts y entender la asignación de los nombres...

Creo que me quedaré con el pongoCMS sobre Joomla, por que al ser más pequeño, es más maniobrable y las zonas se pueden mapear muy fácilmente a buenos temas de themeforest y es más barato que los joomlas.



Instalación de pongocms


PongoCMS
es un cms, o para que se entienda rápido, es como el joomla, pero este CMS, esta diseñado sobre el laravel, y dí con el por que ando buscando un CMS que me de capacidades de definir los temas más fácilmente que Joomla, que este utilizando jquery y bootstrap, y al parecer este CMS es la única opción.

Laravel es un framework de PHP que tiene desarrollo activo y el CMS se ve prometedor para implementar fácilmente un diseño limpio y responsivo como el que hace bootstrap, aparte que para seleccionar temas de colores esta kuler y una vez definidos los colores podemos utilizar http://paintstrap.com/ para pintar el bootstrap, entoces crear y diseñar temas, teoricamente se simplifica bastante, pero lo primero es instalarlo y hecharlo a volar.



Ya saben como me "gustan" los frameworks así que...  bueno, empezamos a tratar de seguir los pasos de http://pongocms.com/getting-started, pero de entrada, el paso de el laravel no trae link, y la información para instalar el laravel usando el "composer" según la página de laravel, instala la versión 4, y este cms depende de la versión 3 (por eso no me gusta usar el framework, del framework... siempre, se van a desfazar en algo y a lidiar con la típica pesadilla de las dependencias)  así que hay que ir directos a github, seleccionar la branch 3.0 y descargarla, o hazte un favor y usa este link: https://github.com/laravel/laravel/archive/3.0.zip


Para esto, ya saben la típica creación del usuario y base de datos en mysql.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 5.5.29-MariaDB-log Source distribution
Copyright (c) 2000, 2012, Oracle, Monty Program Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database pongocms; 
Query OK, 1 row affected (0.10 sec)
MariaDB [(none)]> create user 'pongocms'@'localhost' identified by 'smcogoop'; 
Query OK, 0 rows affected (0.08 sec)
MariaDB [(none)]> grant all privileges on pongocms.* to 'pocogms'@'localhost'; 
Query OK, 0 rows affected (0.03 sec)
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Una vez creado, descompactamos el laravel y nos deja esta información:

1
2
3
4
5
6
7
8
9
pe64:/srv/www/htdocs # unzip ../laravel-3.0.zip
pe64:/srv/www/htdocs # ls
laravel-3.0
pe64:/srv/www/htdocs # mv laravel-3.0/* . 
pe64:/srv/www/htdocs # rm -rf laravel-3.0
e64:/srv/www/htdocs # ls
application  bundles          laravel-3.0  paths.php  readme.md
artisan      CONTRIBUTING.md  license.txt  public     storage
pe64:/srv/www/htdocs # 

Siguiendo las instrucciones se edita /application/config/application.php,
url => lo defino como "http://localhost/public
quito el index por que usare el mod_rewrite
todo esto estaba muy bien, hasta que me pide generar una llave que usa para encriptar cuando:


1
2
3
php artisan key:generate
An application key already exists!


Yeey ¬_¬, lo que sucede, es que en el archivo en la parte de key dice 'yousecretkeyGoesHere', reabrí el archivo, lo deje en blanco y volví a ejecutar:


1
2
3
4
5
6
7
8
9
pe64:/srv/www/htdocs # php artisan key:generate
Configuration updated with secure key!

64:/srv/www/htdocs # grep key application/
bundles.php  config/      controllers/ language/    libraries/   migrations/  models/      routes.php   start.php    tasks/       tests/       views/       
calliope64:/srv/www/htdocs # grep key application/config/application.php
        | This key is used by the encryption and cookie classes to generate secure
        | encrypted strings and hashes. It is extremely important that this key
        'key' => 'OT9mQYRVc1zzzBn966ELWTnDyC2fwHcv',


Como se puede apreciar, actualiza automágicamente el archivo...  (si, cambié mi llave :P)

Una vez hecho eso, editamos /application/config/database.php con la informacion de la base de datos:

y.... apuntamos el navegador a http://localhost/public para tener:
Que no es nada de preocuparse , son permisos, un chown al rescate

1
2
3
4
pe64:/srv/www/htdocs # id wwwrun 
uid=30(wwwrun) gid=8(www) groups=8(www)
calliope64:/srv/www/htdocs # chown -R wwwrun:www storage 
pe64:/srv/www/htdocs # 

Y con eso ya somos felices por que el laravel esta funcionado:

Ya con eso, simplemente se ejecutó y se instaló:

1
2
pe64:/srv/www/htdocs # php artisan bundle:install pongocms
Fetching [pongocms]...done! Bundle installed.

Procedo a borrar el application/bundles.php, corto y pego lo que viene en la página del pongocms y así lo dejo:

Y levantamos el cms con:

1
2
3
4
5
php artisan cms::setup
Setup complete!

Visit frontend site: 
or login to /cms (admin/admin)

Y... éxito:

Fué bastante sencillo, ahora lo que sigue es administrarlo, pintarlo y hacer un tema.








Cosplay Atena/Saori

First time I see a (damn good) cosplay of Atena/Saori.


And it is so... so..... 


Ovnis y Don Goyo

Hoy por medio de @webcamsdemexico compartieron un video que es una secuencia de imágenes que muestran un objecto que al parecer se mueve erráticamente en la zona.


No es el primer video que presenta a un "ovni" relacionado con el volcán, previamente éste año hemos visto videos donde se aprecian objetos, que al parecer ingresan al volcán.

Febrero 2013


Mayo 2013

Y en Octubre de 2012, en el que se aprecia un objeto con forma de cilindro que parece ingresar al volcán.


Obviamente surgen muchas preguntas con relación a todos estos avistamientos, en estos tiempos es complicado aseverar que algo sea cierto o falso, las imágenes/videos allí están. Cada quien crea, lo que quiera creer.

Totalplay, total decepción.

TotalPlay no es lo que esperaba, me comuniqué a su "01-800" y la señorita que me atendió primero me dijo que no tenía cobertura en la zona donde vivo, empezamos mal.

Ya confirmado que la zona sí tiene cobertura, me pregunta si me interesa la conexión a internet, la TV, telefonía o todos los servicios, le pregunto si es posible armar los paquetes como uno guste y (primera gran decepción) me indica que no es posible; únicamente puedo escoger de los paquetes disponibles.

Le indico cuales son los canales que me interesan y al igual que otros proveedores, esos canales estan disponibles en los paquetes más caros.

Esto de alguna forma es comprensible ya que las cadenas de TV venden sus contenidos muy caros y seguramente algunas incluso evitan que las cableras inserten sus cortes comerciales. 

Con ese dato le comento que definitivamente no es de mi interes contratar así, la chica insiste ofreciéndome "canales HD" que son los canales de la TV nacional (los de TvEmbrutezca y TeleIdiotiza, además; ¿porqué he de pagar por una señal a la que ya tengo acceso?.

Para evitar extender la llamada le reitero que para esos canales por esos precios no me interesa contratar.

Busco una opción que: mejore calidad de contenidos, nuevos y más canales, me permita crear el paquete en base a lo que necesito.

En ese instante me sugiere ¿qué le parece si contrata el acceso a internet y busca en YouTube los capítulos de los programas? "Eso es lo que hago ahora cuando el programa no se transmite", respondo.

Va mi pregunta ¿qué ocurre si cambio de domicilio a una zona sin cobertura? "Deberá pagar la penalización" ¿en qué consiste? "Pagar los meses restantes" ¿el contrato es obligatorio? "Sí, por 18 meses".

Gracias pero no, lo que busco es pagar lo mismo (menos preferentemente) por un mejor servicio, este plan forzoso no lo es y es inconcebible pagar por algo que no consumiré/haré uso. 

La llamada concluye con tono de decepción de la señorita al no poder convencerme de contratar los servicios. Yo quedo más decepcionado de la "oferta" de Totalplay.

Es posible que su servicio de Internet sea mejor, pero en ese rubro en éste momento Axtel me ha brindado un mejor servicio que el de TELMEX, su servicio de soporte es rápido y eso sí es algo que Telmex/Megacable/Telecable deberían aprender y realizar a la brevedad posible.
// Cookie consent