Access client to the Alfresco APIs (Rest and CMIS)
composer require ajtarragona/alfresco-laravel:"@dev"
Pots configurar el paquet a través de l'arxiu .env
de l'aplicació. Aquests son els parámetres disponibles :
Paràmetre | Descripció | Valors |
---|---|---|
ALFRESCO_URL | Url base de la API | http://ip_or_domain:port/alfresco/ |
ALFRESCO_API | Api type | rest / cmis |
ALFRESCO_API_VERSION | Codi de versió | 1.0 (rest) / 1.1 (cmis) |
ALFRESCO_REPOSITORY_ID | ID del repositori | -default- per defecte |
ALFRESCO_BASE_ID | ID alfresco del directori base | |
ALFRESCO_BASE_PATH | Path del directori base | |
ALFRESCO_USER | Usuari | |
ALFRESCO_PASSWORD | Password | --- |
ALFRESCO_DEBUG | Mode debug (habilita més logs) | true / false |
ALFRESCO_REPEATED_POLICY | Política a seguir en cas de pujar un arxiu repetit | rename / overwrite / deny |
ALFRESCO_EXPLORER | Habilita un explorador d'arxius | true / false |
ALFRESCO_VERIFY_SSL | Habilita la verificación del SSL del servidor | true / false |
Alternativament, pots publicar l'arxiu de configuració del paquet amb la comanda:
php artisan vendor:publish --tag=ajtarragona-alfresco
Això copiarà l'arxiu alfresco.php
a la carpeta config
.
Un cop configurat, el paquet està a punt per fer-se servir. Ho pots fer de les següents maneres:
A través d'una Facade
:
use Alfresco;
...
public function test(){
$file=Alfresco::getDocument("xxx-yyy-zzz");
...
}
Per Laravel < 5.6, cal registrar l'alias de la Facade a l'arxiu config/app.php
:
'aliases' => [
...
'Alfresco' => Ajtarragona\AlfrescoLaravel\Facades\Alfresco::class
]
Vía Injecció de dependències: Als teus controlladors, helpers, model:
use Ajtarragona\AlfrescoLaravel\Models\AlfrescoService;
...
public function test(AlfrescoService $client){
$file=$client->getDocument("xxx-yyy-zzz");
...
}
Vía funció helper
:
...
public function test(){
$file=alfresco()->getDocument("xxx-yyy-zzz");
...
}
Funció | Descripció | Paràmetres | Retorn | Excepcions |
---|---|---|---|---|
getBasepath | Retorna el directori arrel des del qual s'executaran els altres mètodes | string |
||
setBasepath | Defineix el directori arrel des del qual s'executaran els altres mètodes | string:$path |
||
getBaseFolder | Retorna el BaseFolder (el directori arrel a partir del basepath, si està definit) | AlfrescoFolder |
||
exists | Retorna si existeix un objecte amb l'ID passat | string:$objectId |
boolean |
|
existsPath | Retorna si existeix un objecte amb el path passat | string:$objectPath |
boolean |
|
getObject | Retorna un objecte amb l'ID passat | string:$objectId |
AlfrescoObject |
|
getObjectByPath | Retorna un objecte amb el path passat | string:$objectPath |
AlfrescoObject |
|
downloadObject | Descarrega el contingut d'un objecte passant el seu ID | string:$objectId boolean:$stream=false |
Binary Content | AlfrescoObjectNotFoundException |
getFolder | Retorna una carpeta d'Alfresco passant el seu ID | string:$folderId |
AlfrescoFolder |
AlfrescoObjectNotFoundException |
getFolderByPath | Retorna una carpeta d'Alfresco passant la seva ruta (a partir del basepath) | string:$folderPath |
AlfrescoFolder |
AlfrescoObjectNotFoundException |
getParent | Retorna la carpeta pare de l'objecte amb l'ID passat | string:$objectId |
AlfrescoFolder |
AlfrescoObjectNotFoundException |
getChildren | Retorna els fills d'una carpeta d'Alfresco passant el seu ID | string:$folderId |
AlfrescoFolder[] |
AlfrescoObjectNotFoundException |
createFolder | Crea una carpeta passant el seu nom dins la carpeta amb l'ID passat. Retorna la carpeta creada |
string:$folderName string:$parentId=null |
AlfrescoFolder |
AlfrescoObjectNotFoundException AlfrescoObjectAlreadyExistsException |
getDocument | Retorna un document d'Alfresco passant el seu ID | string:$documentId |
AlfrescoDocument |
AlfrescoObjectNotFoundException |
getDocumentByPath | Retorna un document d'Alfresco passant la seva ruta (a partir del basepath) | string:$documentPath |
AlfrescoDocument |
AlfrescoObjectNotFoundException |
getDocumentContent | Retorna el contingut binari d'un document d'Alfresco passant el seu ID | string:$documentId |
Binary Content | |
delete | Elimina el document o carpeta d'Alfresco amb l'ID passat | string:$objectId |
boolean |
AlfrescoObjectNotFoundException |
copy | Copia el document o carpeta d'Alfresco amb l'ID passat dins de la carpeta amb l'ID passat. Retorna el nou objecte. | string:$objectId string:$folderId |
AlfrescoObject |
AlfrescoObjectNotFoundException |
copyByPath | Copia el document o carpeta d'Alfresco amb l'ID passat dins de la carpeta amb la ruta passada (a partir del basepath). Retorna el nou objecte. | string:$objectId string:$folderPath |
AlfrescoObject |
AlfrescoObjectNotFoundException AlfrescoObjectAlreadyExistsException |
move | Mou el document o carpeta d'Alfresco amb l'ID passat dins de la carpeta amb l'ID passat. Retorna el nou objecte. | string:$objectId string:$folderId |
AlfrescoObject |
AlfrescoObjectNotFoundException AlfrescoObjectAlreadyExistsException |
moveByPath | Mou el document o carpeta d'Alfresco amb l'ID passat dins de la carpeta amb la ruta passada (a partir del basepath). Retorna el nou objecte. | string:$objectId string:$folderPath |
AlfrescoObject |
AlfrescoObjectNotFoundException AlfrescoObjectAlreadyExistsException |
rename | Renombra el document o carpeta d'Alfresco amb l'ID passat amb un nou nom. Retorna el nou objecte. | string:$objectId string:$newName |
AlfrescoObject |
AlfrescoObjectNotFoundException AlfrescoObjectAlreadyExistsException |
createDocument | Crea un nou document a Alfresco a partir del contingut binari a la carpeta pare amb l'ID passat | string:$parentId string:$filename string:$filecontent |
AlfrescoObject |
AlfrescoObjectNotFoundException AlfrescoObjectAlreadyExistsException |
createDocumentByPath | Crea un nou document a Alfresco a partir del contingut binari a la carpeta pare amb la ruta passada (a partir del basepath) | string:$parentPath string:$filename string:$filecontent |
AlfrescoObject |
AlfrescoObjectNotFoundException AlfrescoObjectAlreadyExistsException |
upload | Carrega un document a Alfresco a partir d'un objecte UploadedFile o un array d'aquests. Típicament s'utilitza des d'un controlador Laravel, recollint els arxius de la request que venen d'un formulari multipart |
string:$parentId UploadedFile-UploadedFile[]:$documents |
AlfrescoDocument or string in case of error |
|
getSites | Retorna todos los Sites de alfresco (como objetos AlfrescoFolder) | AlfrescoFolder[] |
||
search | Busca documents que continguin el text passat al nom o al contingut a partir de la carpeta amb l'ID passat o l'arrel | string:$query string:$folderId=null boolean:$recursive:false |
AlfrescoObject[] |
AlfrescoObjectNotFoundException |
searchByPath | Busca documents que continguin el text passat al nom o al contingut a partir de la carpeta amb la ruta passada (a partir de la carpeta arrel o al basepath si està definit) | string:$query string:$folderPath=null boolean:$recursive:false |
AlfrescoObject[] |
AlfrescoObjectNotFoundException |
Si habilitem el paràmetre:
ALFRESCO_EXPLORER = true
a l'arxiu .env
, podem accedir a un file-explorer a la ruta:
/ajtarragona/alfresco
Aquesta funcionalitat requereixen el paquet web-components:
https://github.com/ajtarragona/web-components
És una ruta securitzada i només s'hi podrà accedir si habilitem l'autenticació a la nostra aplicació Laravel.