LCCS e PHP com ZendAMF

O Adobe LiveCycle Collaboration Service possui em seu SDK, exemplos de integração com as principais linguagens de programação web do mercado como PHP, Java, Python, etc.
Na documentação da Adobe, é recomendado o uso do AMFPHP ou o PHP puro mesmo, mas nada impede de usar tranquilamente em conjunto com o ZendFramework (usando ZendAMF)
Ryan Stewart escreveu dois artigos mostrando a implementação com PHP e REST.

Uma observação sobre o artigo de Ryan, no Flex 4, Adobe passou a usar o swfobject, então o modo de pegar os parâmetros via URL e passar para o SWF fica desse modo:
[JAVASCRIPT]
var xiSwfUrlStr = “playerProductInstall.swf”;
var flashvars = {};
{
flashvars.roomURL = swfobject.getQueryParamValue(“roomURL”);
flashvars.authToken = swfobject.getQueryParamValue(“authToken”);
}
var params = {};
[/JAVASCRIPT]
No SDK do LCCS, existe um arquivo chamado lccs.php, basta copiar para o mesmo diretório em que você já usa suas classes. Em seguida, adicionar o include no arquivo gateway.php
[PHP]
< ?php require_once 'Zend/Amf/Server.php'; require_once 'lccs.php'; require_once 'Test.php'; /** Bootstrap */ // Instantiate server $server = new Zend_Amf_Server(); $server->setProduction(false);
$server->setClass(‘Test’);
// Handle request
echo($server->handle());
?>
[/PHP]
E está é uma simples classe para teste chamando o método que retorna o token para autenticação.
[PHP]
< ?php class Test { private $account; private $room; private $devUsername; private $devPassword; private $secret; //$accountURL = "https://collaboration.adobelivecycle.com/$account"; private $accountURL; private $roomURL; function __construct() { //for LCCS $this->account = “Your SDK account username from LCCS developer portal”;
$this->room = “The room you want to connect to”;
$this->devUsername = “Your LCCS developer account username”;
$this->devPassword = “Your LCCS developer account password”;
$this->secret = “The shared secret from the LCCS developer portal”;

//$accountURL = “https://collaboration.adobelivecycle.com/$account”;
$this->accountURL = “http://connectnow.acrobat.com/$this->account”;
$this->roomURL = “$this->accountURL/$this->room”;
}

public function getToken($data=array())
{
try
{
$this->account = new RTCAccount($this->accountURL);
$this->account->login($this->devUsername,$this->devPassword);
$session = $this->account->getSession($data[‘room’]);
$displayName = $data[‘displayName’];
$username = $data[‘username’];
$role = $data[‘role’];
$token = $session->getAuthenticationToken($this->secret, $displayName, $username, $role);
return $token;
}
catch (Exception $e)
{
throw new Exception($e->getMessage());
}
}
}
?>
[/PHP]

Leave a Reply