ajtarragona / alfresco-laravel
Integration of Alfresco in Laravel
Installs: 2 795
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 7
Open Issues: 1
pkg:composer/ajtarragona/alfresco-laravel
Requires
- php: >=7.0.0
- guzzlehttp/guzzle: >=6.0
README
Access client to the Alfresco APIs (Rest and CMIS)
Instalació
composer require ajtarragona/alfresco-laravel:"@dev"
Configuració
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.
Ús
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"); ... }
Funcions
| 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:$objectIdboolean:$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:$folderNamestring:$parentId=null |
AlfrescoFolder |
AlfrescoObjectNotFoundExceptionAlfrescoObjectAlreadyExistsException |
| 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:$objectIdstring:$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 |
AlfrescoObjectNotFoundExceptionAlfrescoObjectAlreadyExistsException |
| 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 |
AlfrescoObjectNotFoundExceptionAlfrescoObjectAlreadyExistsException |
| 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:$objectIdstring:$folderPath |
AlfrescoObject |
AlfrescoObjectNotFoundExceptionAlfrescoObjectAlreadyExistsException |
| rename | Renombra el document o carpeta d'Alfresco amb l'ID passat amb un nou nom. Retorna el nou objecte. | string:$objectIdstring:$newName |
AlfrescoObject |
AlfrescoObjectNotFoundExceptionAlfrescoObjectAlreadyExistsException |
| createDocument | Crea un nou document a Alfresco a partir del contingut binari a la carpeta pare amb l'ID passat | string:$parentIdstring:$filenamestring:$filecontent |
AlfrescoObject |
AlfrescoObjectNotFoundExceptionAlfrescoObjectAlreadyExistsException |
| 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:$parentPathstring:$filenamestring:$filecontent |
AlfrescoObject |
AlfrescoObjectNotFoundExceptionAlfrescoObjectAlreadyExistsException |
| 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:$parentIdUploadedFile-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:$querystring:$folderId=nullboolean:$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:$querystring:$folderPath=nullboolean:$recursive:false |
AlfrescoObject[] |
AlfrescoObjectNotFoundException |
Explorador d'arxius
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.