¡Salta! tm
Feed Estás viendo el archivo de la etiqueta: XML-RPC
Incutio XML-RPC Library II

Logotipo de IncutioMenuda paliza me he pegado esta noche con la biblioteca Incutio XML-RPC. Resulta que la versión que estaba utilizando, y que había medio adaptado para PHP 5, no era la última versión. Lo que pasa es que la última versión no la encontré en el sitio web de la biblioteca, sino en otro sitio web, de alguien que la "mantenía", por decirlo así.

En el sitio web de Incutio se encuentra la versión 1.6, que es la que yo había estado usando, y para la que incluso hube de solucionar algún problema, derivado de que estaba escrita en PHP 4. Sólo esto me costó un güeb, pero, es que luego descubrí la nueva versión... la 1.7, que, tenía solucionados algunos problemas.

No sólo eso, sino que, por ejemplo, la nueva versión añadía algo que yo había añadido por mi cuenta (es curioso, porque ambos "autores" añadimos exactamente lo mismo), así que, luego de haberme pegado una paliza, decidido a usar la nueva versión, hube de adaptar esta de nuevo a PHP 5. Total, que anoche me pegué una buena paliza entre unas cosas y otras.

Pero he tomado cierto control de la biblioteca, y pienso incluso en hacer algunos cambios por mi cuenta, en cuanto me sea posible, cambios de que informaré al autor, por si los estima oportunos, aunque, me da a mí que el autor no se preocupa demasiado de esta biblioteca, y no le culpo, puesto que la última versión es de 2005, y la que usaba hasta ayer de 2003.

Hasta el propio PHP (aunque todavía experimentalmente) incorpora ya una extensión para trabajar con el protocolo XML-RPC, lo que haría a la biblioteca en cuestión obsoleta, aunque, lo cierto es que sigo pensando que funciona muy bien. Creo que en cuanto me recupere de la paliza de ayer haré los cambios que estime oportunos y usaré esta biblioteca tal y como vengo haciéndolo.

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: Opinión, Software
Incutio XML-RPC Library

Logotipo de Incutio Desde que conocí la Incutio XML-RPC Library no he necesitado nada más cuando he tenido la necesidad de implementar un cliente o un servidor XML-RPC en PHP.

He usado la Incutio XML-RPC en todos mis últimos proyectos, y Gesbit, el que me ocupa últimamente, no podía ser menos. Implementar un cliente o un servidor con esta biblioteca es tan sencillo que resulta hasta divertido, porque, simplemente, funciona.

Desde mi proyecto "aPHP", sin embargo, hice cambios en la biblioteca (muy sencillos) para adaptarla a PHP 5, y, para Gesbit, he añadido un miembro "timeout" a la clase que implementa los clientes XML-RPC: IXRClient. Pero, como digo, lo que pasma es la sencillez de uso de Incutio XML-RPC Library. He aquí un ejemplo de cliente que prueba el único método público de esta misma bitácora, gestionada con Gesbit:

require('IXRLibrary.inc.php');
$entryPoint = 'http://www.bitacora.davidesperalta.com/xmlrpc/';
$xmlRpcClient = new IXR_Client($entryPoint);
if($xmlRpcClient->query('gesbit.getTime')){
  $result = $xmlRpcClient->getResponse();
}else{
  die($xmlRpcClient->getErrorMessage());
}

El código anterior usa la biblioteca Incutio XML-RPC tal cual, para PHP 4, y, como puedes ver, no puede resultar más sencillo ejecutar un método remoto, en este caso del servidor XML-RPC de esta bitácora. Pero, no te pierdas el servidor. Lo que verás a continuación es el código actual del servidor XML-RPC en Gesbit, que implementa (por su cuenta) el método "gesbit.getTime", que ejecutaba el cliente visto antes:

class GbXmlRpcServer extends IXRIntrospectionServer 
{
  public function __construct(){
    parent::__construct();
    $this->Initialize();
  }
 
  public function getTime(){
    return date('H:i:s');
  }
 
  private function Initialize(){
    $this->addCallback(
      'gesbit.getTime', 
      'this:getTime',
      array('string'),
      'Returns the current server time'
    );
    $this->serve();
    return true;
  }  
}

He quitado los comentarios para hacer notar aún más su sencillez. Y date cuenta además que estoy aprovechándome además de la clase "IXRIntrospectionServer" y no "IXRServer", puesto que aquella viene a ser una versión avanzada de esta. Como te digo, si la biblioteca Incutio XML-RPC no existiera habría que inventarla.

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: Opinión, Software
Gesbit y la notificación de entradas

Son las seis y media de la mañana, pero, me he liado, me he liado, y, cuando me he querido dar cuenta, Gesbit ya podía enviar notificaciones. Esto quiere decir que, cuando se publica una nueva entrada en alguna bitácora gestionada con Gesbit (como esta que lees), se informa automáticamente, en mi caso, al buscador de "blogs" de Google y a Weblogs.com, por si fuera poco.

Tenía ya ganas de recurrir otra vez a la biblioteca Incutio XML-RPC para PHP, que ya había utilizado en "Loturak", por ejemplo, y que usaba también otro proyecto mío: "aPHP". Ahora es Gesbit quien utiliza esta fantástica biblioteca, si bien hice algunos cambios en ella, nomás que para adaptarla a PHP 5, y hoy he hecho algún que otro cambio, que explico en la bitácora de Gesbit.

Puede que queden algunos retoques, pero, creo que voy a dejarlo para mañana, o para esta tarde, por mejor decir. Aunque, cuando te lías de la manera que yo me lío es probable que no dejes los retoques que digo para mañana... ya ves tú qué estupidez, como si corriera prisa, pero, no sé qué pasa, que pasa así como te digo, a veces.

Total. Que cuando pulse en el botón para publicar esta entrada, si todo va como se espera, en Weblogs.com y en Google.com sabrán que acabo de publicar una nueva entrada en esta humilde bitácora. Un pequeño paso para el hombre, pero, un gran paso para la humanidad, ya sabes, esa señora de la que todo el mundo habla pero que nadie conoce realmente.

Actualización: Eureka. He conseguido entender la "especificación" del invento y he hecho los cambios necesarios en Gesbit, de modo que ahora puede enviar "Pings" también cuando se actualizan entradas, porque se trata de notificar el nombre de la bitácora (he añadido la descripción), más la URL de la propia entrada, más la de la bitácora, más la de su "Feed", más las etiquetas de la entrada. Ahora Gesbit implementa por completo la "especificación".

Iconos de agregadores Menéame Del.icio.us Digg Technorati Blinklist
Categorías: Software