Crear extensiones para Chrome

La gente de Tutorialzine nos enseña cómo realizar extensiones para Google Chrome, y la verdad parece bastante sencillo. Para ello realizan una extensión de ejemplo que muestra los últimos posts de su feed.

La extensión debe constar de un fichero de configuracion (manifest.json) y luego el CSS, HTML5 y jQuery de la extensión. Chrome permite desarrollar las extensiones sin tener que instalarlos, para lo que desde chrome://extensions/ tendremos que ir a Developer mode y desde allí cargar el script.

Para tener más información podéis ir a la página oficial de Google

Making Your First Google Chrome Extension

Vía / @jlantunez

Tutorial sobre Facebook Connect

Facebook Connect es una API de FB que nos permite usar nuestra cuenta de FB en otras webs. A mi personalmente, la ayuda que ofrece FB no me apasiona demasiado, y cuando quieres realizar algo con Facebook Connect te tienes que pelear bastante con cosas que haces mal o que te faltan por hacer. Por ello, creo que este tutorial es bastante interesante para aquellos que quieren desarrollar algo con FB Connect y no saben por dónde empezar.

El tutorial nos mostrará los siguientes puntos:

  1. Crear una aplicación en Facebook
  2. Copiar en tu sitio el fichero xd_receiver.htm
  3. Descargar la API PHP de FB en tu web
  4. Modificar tu tabla de usuarios
  5. Crear una página para loguearse con FB Connect
  6. Enlazar a fbclogin.php desde tu login
  7. Otros puntos a seguir

Facebook Connect Tutorial

Vía / PHPDeveloper.org

Convertir WordPress en un CMS

Aunque como usuario me gusta WordPress (aunque cada vez un poquito menos), como desarrollador no me gusta demasiado (por no decir casi nada), pero no quita que su puesto se lo tiene bien ganado y que a veces es imposible no tener que usarlo.
Si además de las funcionalidades de WP, necesitas algo más que te puede aportar un CMS genérico, te puede venir bien este tutorial que explica en pocos pasos cómo convertir WordPress en un CMS.
Para ello el autor mueve el blog a la carpeta /blog y en la home de la página crea una página principal en la que se mostrará un portfolio y los resúmenes de sus diferentes trabajos (teniendo cada trabajo una página individual).
Los cambios incluyen la creación de archivos nuevos para el theme, que recoge los resúmenes de cada apartado del portfolio, los cuales son páginas estáticas que cuelgan de la página principal del portfolio.
Seguro que existe algun plugin que te lo permite hacer, pero la explicación es muy buena y la idea la podemos aprovechar para otras necesidades.
WordPress as CMS tutorial
Vía / dzone

Tutoriales para crear plugins en jQuery

Lista de manuales/tutoriales que nos ayudan a realizar plugins para jQuery:

jQuery Plugin Development – 10 Tutorials To Get Started

Vía / CSS Globe

Tutorial para crear un plugin jQuery

En varias ocasiones he mencionado plugins para jQuery, pero en esta ocasión se trata de cómo hacer un plugin para jQuery.

Independientemente de la complejidad propia del plugin, crear un plugin para jQuery es bastante sencillo, y en el tutorial nos indican paso a paso cómo desarrollarlo:

  • Primeros pasos
  • Propiedades de configuración
  • Constructor
  • Métodos adicionales

The Definitive Guide to Creating a Practical jQuery Plugin

Laboratorio: detectar parametros de la URL en Javascript

Algo bastante sencillo y que puede sernos útil es detectar los parámetros que se envían por URL para así modificar el comportamiento de nuestro Javascript, por ejemplo si se envía un parámetro o tiene cierto valor, se podría cargar un objeto o implementar una función.

El script sería el siguiente:

// Obtenemos la URL
var url = document.location.href;
// Nos quedamos con los parámetros
url = url.substring(url.lastIndexOf('?')+1);
// Dividimos los distintos parámetros
url = url.split('&');
// Almacenamos los parámetros en un array(param => valor)
var res = new Array();
for(var i=0; i

Si nuestra URL es amigable, no hay parámetros sino que se indican en la propia URL (http://servidor/metodo/accion/parametro/parametro), deberíamos hacer algo así:


//Obtenemos la Query String (URL - host)
var url = document.location.href;
url = url.substring(url.lastIndexOf(document.location.host)+1);
// Separamos mediante la barra (/)
var res = url.split('/');

Como se puede apreciar es muy sencillo, pero nos puede ser muy útil, sobre todo si queremos ganar en rendimiento y no cargar todo el js, que a veces no está muy optimizado y en todas las páginas se carga cuando a veces no sería necesario.

¿Qué es un LDAP?

En este artículo pretendemos dar una pequeña explicación sobre LDAP para aquellos que lo desconozcan y así luego poder ampliar sus conocimientos.

LDAP (Lightweight Directory Access Protocol) o Protocolo de Acceso Ligero a Directorio no se trata de un sistema de almacenamiento como muchas veces se piensa, se trata de un protocolo de comunicación para acceder y modificar información almacenada en un directorio, conocido normalmente como directorio LDAP. Por lo tanto, cuando se dice: “guardemos los datos en el LDAP”, se está cometiendo una equivocación.

Al tratarse de un protocolo, que funciona bajo TCP/IP, es independiente de la plataforma. Es lo que se usa para conectarse a un directorio LDAP, el cual puede estar implementado como sea, ya sea una versión comercial, open source, bajo Windows, UNIX o cualquiero otra plataforma.

¿Es el directorio LDAP una base de datos?, sí, lo es, pero no se trata de una base de datos relacional como pueda ser Oracle o MySQL. Se trata de un directorio, como pueda serlo el que guarda las fichas de los libros en una biblioteca. Al tratarse de un directorio, está totalmente jerarquizado y está optimizado para muchas lecturas y de pequeño volumen. Aunque se puede guardar lo que se quiera, está pensado para almacenar datos de poco tamaño (email, teléfono, dirección, permisos) y, a su vez, no está optimizado para que haya muchas modificaciónes, piensa que por ejemplo la dirección de correo electrónico no es algo que se modifique con mucha frecuencia.

Como ya hemos dicho anteriormente, el protocolo LDAP accede a la información contenida en un directorio, este directorio se trata de un árbol compuesto de entradas de directorio, las cuales son un conjunto de atributos, formados por nombre-valor, según se indica en un esquema.

Para identificar una entrada en el directorio LDAP, se precisa de su DN o Distinguished Name, el cual estará formado por su atributo nombre (CN o Common Name, cn=”Fulano Perez”) y otros atributos que lo relacionen con las jerarquías superiores, ya sea usando O u C (formato X.500 o=”Mi Empresa”, c=ES), O (según internet o=”empresa.com”), DC (componentes de dominio dc=empresa, dc=com). Después del DN habrá otra serie de atributos que definan la entrada.

Un ejemplo de esto, representado en formato LDIF y que nos puede hacer entender mejor el concepto, sería el siguiente:

 dn: cn=Fulano Perez,dc=empresa,dc=com
cn: Fulano Perez
givenName: Fulano
sn: Fulano
telephoneNumber: +34 555 11 22 33
mail: fulano.perez@empresa.com
manager: cn=Mengano Martinez,dc=empresa,dc=com
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top

Como se puede apreciar, en esta entrada diríamos que “Fulano Perez”, perteneciente a “empresa.com” (en este caso se organiza como si se tratara de internet, porque puede darse el caso de que sea un grupo de empresa .com de las cuales “empresa.com” es una de ellas). Después veremos que hay datos referentes al empleado, como son un email y su teléfono, y datos a cerca del tipo de registro, en este caso de una persona empleada en la empresa, y datos sobre su jefe, que si los usamos en un acceso al directorio LDAP podremos obtener una información parecida.

Para que quede más claro el concepto de directorio, vamos a ver como sería la estructura:

- com
- otraempresa
...
- empresa
...
- Mengano Martinez
...
- Fulano Perez

Directorios LDAP

Algunas de las implementaciones del servidor LDAP o directorio LDAP son las siguientes:

Clientes

Librerías

LDAP in Python

Más información

|

Reglas para maquetar varios elementos con CSS

Un tutorial bastante interesante que nos responderá varias preguntas sobre maquetación de varios elementos. Nos ayudará a comprender cómo apilar capas, alinear elementos inline, propiedades float y collapse, hasta un total de 15 preguntas:

CSS Tutorials – Understanding Multiple Element Formatting Rules

Vía / Pixel Groovy

|

Algo de Javascript avanzado

Algo malo de dedicarse a la informática es que te puedes quedar anticuado con facilidad, algo bueno de ser blogger (al menos para mí) es que al querer dar buenas noticias y buenos scripts, te hace estar al día.
Algún compañero me ha preguntado alguna vez por partes de Javascript que no entendía, incluso me decía si realmente es Javascript. Supongo que a todos nos ha sonado raro el código Javascript cuando incluye JSON.
Lo malo es que cuando buscas por ese tipo de código que desconoces, buscas por términos como “javascript function”, “javascript avanzado”, y otras cosas que no suelen dar los resultados que esperamos. En el caso de “javascript function” nos suele dar cómo crear funciones, pero solo lo más básico, sin embargo, si hubieramos buscado por “javascript funciones anónimas” si hubieramos obtenido resultados deseados. Si buscamos por “javascript avanzado” solemos obtener directorios de efectos hechos en javascript y no las novedades que trae Javascript en sus nuevas versiones.
Por eso, si quieres aprender conceptos más avanzados de Javascript, te va a venir bastante bien este tutorial:
Quick guide to somewhat advanced JavaScript

|

Video tutoriales de PHP

phpvideotutorials.pngLa idea es muy buena, el trabajo que debe llevar es bastante. Se trata de video-tutoriales sobre PHP, que nos van explicando desde como instalar WAMP a las partes básicas del PHP.
Por ahora solo hay 8 lecciones pero parece que se van ampliando poco a poco. Si te asusta el inglés, no te preocupes que se entiende bastante bien, salvo la parte inicial en la que le da por contarte su vida, algún chiste o una historia de un pollo en bikini (si, increible).
PHP Video Tutorials
Vía / dzone