Desarrollo

Contenido archivado

El contenido de la web se encuentra archivado y no se podrá crear nuevo contenido. Más información.

Rematando el proyecto JabberLand.com

Llevo semanas con el proyecto Jabberland.com, el cual pretende ser un sitio de referencia para que la gente se anuncie, realice búsquedas y/o encuentre contactos. En Jabber, a diferencia de redes como el IRC, los usuarios no están concentrados en canales o redes, por eso vi conveniente hacer algo para conseguir encontrar gente en Jabber.

Resumiendo un poco, Jabberland es un directorio de contactos válido para Jabber y Google Talk, donde puedes buscar tanto contactos como salas de conferencia (esto último estoy a punto de lanzarlo a la espera de indexar más salas). Además quiero listar servicios de otras webs y servidores, sean similares o no, para enseñar a la gente la cantidad de recursos que hay para Jabber. Esto ya vengo haciéndolo con las chapucillas que voy colgando en el Laboratorio, donde siempre que mi conocimiento alcanza coloco alternativas de otras personas o webs.

A parte de todo esto, he integrado más servicios como el Status on Web (SOW). Segúramente conoceréis Edgar (Eduardo en JabberES), el cual permite colocar nuestro estado en Jabber o Gtalk en cualquier web. Pues bien, es básicamente esto, pero con algunas mejoras (para mi gusto y el de muchos):

  • He creado un asistente para generar la URL que tendremos que colocar en nuestro sitio, además de preguntas y ejemplos respecto al servicio.
  • El JID va oculto, así el que no quiera que su cuenta sea pasto del SPAM podrá evitarlo. El formato usado es la cuenta codificada en MD5.
  • Se controla que estemos conectados com más de un recurso conectado. Con Edgar por ejemplo, si conectábamos con más de un recurso, en cuanto se desconectaba uno ya aparecíamos desconectados, a pesar de tener otros recursos conectados. Además se respetan las prioridades de los recursos.
  • Se puede mostrar el mensaje de estado sin necesidad de usar PHP, ya que permite colocarlo con JavaScript para sitios como Blogger, donde no puedes usar lenguajes de servidor. A pesar de esto se puede serguir usando con PHP u otros lenguajes porque también lo puede devolver en formato plano.
  • Al igual que otros sistemas, hay varios Packs de iconos (iconsets) a elegir (gracias a noalwin por muchos de ellos).
  • Se puede obtener el avatar o imagen. Esto es algo nuevo respecto a otros sistemas, además deja dar formato a la imágen para ajustarla a nuestras necesidades en nuestra web, tal y como lo permite el servicio de Gravatar.com. Admite tamaño relativo, fijo, imágen por defecto, etc. Todo esto deja configurarlo el asistente.
  • Por último, si se pide información de un contacto y este no está agregado al servicio, no se autoagrega, como pasa con Edgar. El usuario que quiera aprovechar el servicio se dará de alta por si mismo, agregando el contacto bot@jabberland.com a su lista.

A este servicio se añadirá la posibilidad de mostrar datos de salas de conferencia cuando esté operativo. Un ejemplo bastante realista de la aplicación de todo esto la tengo en los comentarios mi blog, donde la gente que deje un comentario, coloque su JID como email, y tenga a bot@jabberland.com agregado como contacto, se le muestra directamente su estado y el avatar/imágen si tiene. Es el caso del nick de nils y el mio en ese artículo.

La web tiene alguna novedad en cuanto a funcionalidad. A parte de que en los prototipos del Laboratorio se usa AJAX, para usar el servicio original de Jabberland no hace falta registrarse. Solo hace falta tener una cuenta Jabber o Gmail y de esta forma ya tendremos acceso a todos sus servicios. Habrá que hacer una especie de identificación que simplemente consiste en indicar nuestro JID y recibiremos un PIN, el cual nos permitirá estar identificados. Es una forma muy eficaz de identificar a cada usuario porque cada JID es único, y no obligamos a la gente a registrarse en otro sitio más (que ya nos registramos en demasiados sitios a lo largo de internet).

Por último, todo lo que estoy haciendo espero liberarlo íntegramente algún día no muy lejano, a la comunidad le interesa que cada uno pueda montar un servicio similar y/o mejorar mi obra. Actualmente he liberado la librería que uso para gestionar el protocolo Jabber. Está muy verde, pero es bastante funcional. Con ella estoy programando todos los servicios. La he llamado CommonJabberPHP y aun no tiene documentación, pero es que no puedo con todo :P

Espero que me perdoneis si veis fallos, deficiencias y cortes en el servicio. Soy el único desarrollador del proyecto y son muchas cosas a tener encuenta. Además mi servidor casero ya lleva la lengua fuera con la conexión, y cada poco ando optimizando recursos que me quitan muho tiempo. Con tiempo espero poder ofrecer más servicios y de más calidad con un servidor mejor, cuando me toque el Euromillón y deje de ser pobre;)

Skype tiene en mente abrir su protocolo

Según leo en barrapunto, Skype está dispuesto a abrir sus protocolos para que sus usuarios puedan comunicarse con los de [[Google Talk]].

Si es cierto, se podría implementar quizás en otros clientes Jabber, y sería un gran desarrollo para está comunidad que día a día va creciendo un poco.

En caso de que sea cierto los MSN Messengeros no podrán decir que no tiene ni voz ni webcam :).

Nueva versión de la librería Smack: 2.1.0

Ya tenemos nueva versión de Smack, la librería Open Source para clientes XMPP de la gente de Jive Software. La version 2.1.0 incluye varias mejoras y arreglos:

  • Soporte para autenticación ANONYMOUS SASL.
  • Soporte para interceptar y modificar paquetes antes de ser enviados al servidor.
  • Soporte de stream errors.
  • y muchas otras mejoras...

La lista de cambios puede ser encontrada aquí.

Error en mu-conference para jabberd-1.4.3

Hola a todos.

En la presidencia de la Republica Mexicana, hemos implementadao el jabber para web, como bien sabemos solo funciona para jabberd-1.4.3... (o almenos es la información que tenemos).

y nos hemos encontrado con el siguiente problema:

tenemos instalado lo siguiente:
jabberd-1.4.3
mu-conference-0.6.0
jcr-0.2.4

pero al ingresar o dar de alta el grupo "telecom" tenemos este problema:

20040830T12:56:31: [warn] (chat.intranet): xdb_file failed to open file ./spool/chat.intranet/telecom.xml: No such file or directory

Si existe una corrección para esto se los agradecemos.

Nuevo Smack 1.4.0

Ha salido la nueva versión de Smack! La version 1.4.0 incluye:

  • Soporte para Multi User Char (MUC) - JEP 45.
  • Soporte para Data Forms - JEP 04.
  • Posibilidad para configurar la identidad del cliente y definir información asociada a nodos.
  • y muchas otras mejoras...

Para aquellas personas que no conocen Smack. Smack es una librería Open Source hecha en Java para clientes XMPP que esta siendo usada desde en dispositivos móviles hasta en grandes servidores. La característica principal de Smack es su extrema facilidad de uso gracias a su API clara pero a su vez muy potente.

Espacio de nombres

El espacio de nombres es una característica heredada del XML. Y consiste en la posibilidad de establecer categorias diferenciadas donde el significado de los tags es distinto en cada categoría (aunque se llamen igual los tags).

Un cliente que procese un XML ignorará todo contenido definido en un espacio de nombres que no entienda (por no haber sido programado para entenderlo). Así si un fichero XML contiene una imagen, un texto y una voz grabada, en función de que el programa soporte sonido y gráficos este mostrará el máximo de información que pueda.

Distribuir contenido