cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco PHP API - Clase para conectar con Alfresco

javigarcia
Champ in-the-making
Champ in-the-making
Buenos días foreros,

tras unos días investigando y recopilando información, ya tengo la api de php para alfresco completa y funcionando. He diseñado una pequeña clase que me sirve para conectar con alfresco que me gustaría compartir con vosotros, ya que gracias a muchos he podido sacar el trabajo adelante.

<?php /** * ##### CONEXION ENTRE UNA APLICACION PHP Y UN SERVIDOR ALFRESCO *        @Fecha: 15 Octubre 2009 *        @Autor: Javier Garcia Marques *              @Email: javier.garcia.ext@sadiel.es *        @Version: 1.0 * * DESCRIPCION * ================================================================================================================ *      Clase para conectar una aplicacion PHP con un servidor ALFRESCO * * REQUISITOS * ================================================================================================================ *      Libreria PHP-API para Alfresco (Logger, Service, WebService) *      PHP 5.0 *      Apache server *      MySQL 5.1.37 *      Alfresco Enterprise 3.0 *              Include path -> include_path= ".C:\php\PEAR;C:\Alfresco"  * * PATRONES * ================================================================================================================ *      Uso del patron de diseño Singleton para garantizar la correcta y unica instanciacion de la clase * * PROPIEDADES DE CLASE * ================================================================================================================ *      $istancia         privada y estatica              Guarda la istancia de la clase *      $repositoryUrl        publica               URL para conectar con Alfresco *      $userName            publica               Nombre de usuario *      $password         publica               Contraseña de usuario *      $ticket         publica               Ticket ID de conexion *      $session         publica               ID de inicio de sesion Alfresco *      $repository      publica               Referencia al repositorio de Alfresco *      $spacesStore      publica               Referencia al Space store de Alfresco * * METODOS * ================================================================================================================ *      getIstance()                        Metodo para obtener la instancia de la clase  *                                    para evitar la duplicacion de objetos (Singleton) *                                        *      __construct()                        Constructor. La unica manera de instanciar es con getIstance() * *      __clone()                           Metodo para evitar que se puedan clonar istancias. * *      connectRepository($url, $user, $pass)                      Metodo para conectar, autentificar y referenciar una sesion  *                                       alfresco y el space store *                                        Parametros: *                                           $url  -> Direccion URL donde tengo alojado Alfresco *                                           $user -> Nombre de usuario de inicio de sesion *                                           $pass -> Contraseña de usuario de inicio de sesion       *      Getters: *         getRepositoryUrl()      getPassword()               getSession()           getSpacesStore() *         getUserName()         getTicket()         getRepository()           *getInstace()* * * ================================================================================================================ * #### USO * ================================================================================================================ *      require_once "Alfresco/Service/Conexion.php"; *      $conexion = Conexion::getIstance(); *      $conexion->connectRepository("http://localhost:8080/alfresco/api", "admin", "admin"); **/// Alfresco PHP - APIrequire_once "Alfresco/Service/Repository.php";require_once "Alfresco/Service/Session.php";require_once "Alfresco/Service/SpacesStore.php";Class Conexion {   private static $instancia;   public $repositoryUrl;   public $userName;   public $password;   public $ticket;   public $session;   public $repository;   public $spacesStore;      // Singleton   public static function getIstance() {      if (!isset(self::$instancia)) {         $obj = __CLASS__;         self::$instancia = new $obj;      }      return self::$instancia;   }      private function __construct() {}      private function __clone() {      throw new Exception ("Este objeto no se puede clonar");   }      // Conexion, autenticacion e inicio de sesion   public function connectRepository($url, $user, $pass) {      $this->repositoryUrl = $url;      $this->userName = $user;      $this->password = $pass;      $this->repository = new Repository($this->repositoryUrl);      $this->ticket = $this->repository->authenticate($this->userName, $this->password);      $this->session = $this->repository->createSession($this->ticket);         $this->spacesStore = new SpacesStore($this->session);         }      // GETTERS   public function getRepositoryUrl() {      return $this->repositoryUrl;   }      public function getUserName() {      return $this->userName;   }      public function getPassword() {      return $this->password;   }      public function getTicket() {      return $this->ticket;   }      public function getSession() {      return $this->session;   }      public function getRepository() {      return $this->repository;   }      public function getSpacesStore() {      return $this->spacesStore;   }}?>‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Espero que os sea de utilidad, saludos!!
J
13 REPLIES 13

edmon
Champ in-the-making
Champ in-the-making
Saludos, puedes encontrarla en http://code.google.com/p/alfresco-php-sdk/ pero no esta actualizada yo la probé para la versión 3.4.e y funciona correctamente con la versión 4 no funciona, si alguien tiene la librería actualizada o sabe donde conseguirla seria de gran ayuda.

juancarlos1
Champ in-the-making
Champ in-the-making
Buenos Dias,

Me podrias indicar en que directorio va el archivo Conexion.php y que contiene

gracias

juancarlos1
Champ in-the-making
Champ in-the-making
Saludos,

Como puedo probar que he implementado bien esta clase?

mdva171
Champ in-the-making
Champ in-the-making

buenas estas intrucciones aun en alfresco 5.2 ? quiero saber muchas gracias  y donde encuentro las carpetas de repositorio y librerias que se ocupan  si no fuera muchas molestia  

Getting started

Tags


Find what you came for

We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.