buse974 / dms
Document management system for ZF3
Installs: 3 632
Dependents: 2
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 2
Open Issues: 1
Requires
- php: >=5.4
- php-ffmpeg/php-ffmpeg: ~0.5
- zendframework/zend-config: *
- zendframework/zend-file: 2.4.9
- zendframework/zend-i18n: *
- zendframework/zend-loader: *
- zendframework/zend-log: *
- zendframework/zend-modulemanager: *
- zendframework/zend-mvc: *
- zendframework/zend-serializer: *
- zendframework/zend-servicemanager: *
- zendframework/zend-view: *
Requires (Dev)
This package is auto-updated.
Last update: 2024-12-16 01:23:11 UTC
README
Document management system for ZF2
Description
The DMS lets you manage your documents for Zend Framework 2.
Installation
Prequisites :
Before installing DMS module, please be sure the following PHP depencies are installed on your apache server:
- libreoffice-headers
- uniconv
With composer (recommended) :
Composer helps to manage dependencies in PHP projects. Find more info here: http://getcomposer.org
Add this package (buse974/dms
) to your composer.json
file, or just run the following at the
command line:
$ composer require buse974/dms
By cloning project :
Install the [DMS] (https://github.com/buse974/Dms.git) module by cloning it into ./vendor/
directory.
Post-installation
This package follows the PSR-0 autoloading standard. If you are using composer to install, you just require the generated autoloader:
require "<projectpath>/vendor/autoload.php";
Install daemon unoconv
Execute the script vendor/buse974/dms/bin/unoconv.sh
like a deamon.
examples
vendor/buse974/dms/bin/unoconv.sh start
vendor/buse974/dms/bin/unoconv.sh stop
Application config file
Enabling it in your application.config.php
file.
<?php return array( 'modules' => array( 'Dms', ), 'module_paths' => array( 'Dms' => __DIR__ . '/../vendor/buse974/dms', ), ), );
Local file config
Copy and paste the following configuration in your config/autoloader/local.php
. You can find this configuration in <application_path>/vendor/buse974/dms/config/local.php.dist
'dms-conf' => array( /* * Allowed sizes - You can add as many as you need */ 'size_allowed' => array( array('width' => 300, 'height' => 200), array('width' => 300, 'height' => 300), array('width' => 150, 'height' => 100), array('width' => 80, 'height' => 80), array('width' => 300), ), /* * path where all the documents will be uploaded */ 'default_path' => 'upload/', /* * http adapter - You have to add your [http adapter](#HTTP-adapter) * in your config/autoloader/local.php or config/autoloader/global.php * If you already have a http adapter, please just specify its name */ 'adapter' => 'http-adapter', 'convert' => array( /* * path where you want to convert and stock the temporaries files * !! apache need all rights for writing and reading on this directory !! */ 'tmp' => '/tmp/', ), /* * the headers to add to your files - especially for cross-domain */ 'headers'=> array( 'Access-Control-Allow-Origin'=>'http://local.wow.in', 'Access-Control-Allow-Credentials'=>'true' ), ),
HTTP adapter (if it does not exist yet)
'http-adapter' => array( 'adapter' => 'Zend\Http\Client\Adapter\Socket', 'maxredirects' => 5, 'timeout' => 10, 'sslverifypeer' => false, ),
Usage
By DMS service
Add a document
$manager = $this->serviceManager->get('dms.service'); /* * exemple */ $image = file_get_contents(__DIR__ . '/../../_file/gnu.png'); /* * string - document's codings specified in `dma/coding/CodingInterface` */ $document['coding'] = 'base'; /* * mime-type */ $document['type'] = 'image/png'; /* * datas with specified encoding * if you choose url coding, you can add the picture url which will be uploaded and saved */ $document['data'] = base64_encode($image); /* * Return the document's token */ $token = $manager->add($document);
To access this file use this url http://<dns>/data/<token> .
Resize a document
Following the previous example
/* * width x height in a string - Return a new token for the document resized */ $new_token = $manager->resize('80x80');
To access this file use this url http://<dns>/data/<new_token> .
By DMS manager
Add and get a document
$manager = $this->serviceManager->get('dms.manager'); /* * file exemple */ $image = file_get_contents(__DIR__ . '/../../_file/gnu.png'); $document = new Dms\Document\Document(); $document->setDatas($image); $document->setFormat('png'); $manager->loadDocument($document); $manager->setFormat('jpg'); $manager->setSize('80x80'); $manager->writeFile(); /* * Get the document */ $document = $manager->getDocument(); /* * Return the document's token */ $token = $document->getId();
Access by url
Document can be accessed by URL.
Urls are formated like this :
http://mondomaine.com/<KEY>/<TOKEN>-<SIZE>[<NUM-PAGE>].<FORMAT>
Documents are automatically converted and created if they do not exist.
KEY can be
data
size
description
format
encoding
###Examples
Basic document
http://mondomaine.com/data/2b5c466bf06d665b479e85c48ec733d235d138
This url displays document with token 2b5c466bf06d665b479e85c48ec733d235d138
Document with size convertion
http://mondomaine.com/data/2b5c466bf06d665b479e85c48ec733d235d138-300x300
This url displays document with token 2b5c466bf06d665b479e85c48ec733d235d138 and converts it in 300x300 pixel
Document with format convertion
http://mondomaine.com/data/2b5c466bf06d665b479e85c48ec733d235d138.pdf
This url displays document with token 2b5c466bf06d665b479e85c48ec733d235d138 and converts it in pdf