gpupo / content-butler
This package is abandoned and no longer maintained.
No replacement package was suggested.
Content server with PHPCR, Apache Jackrabbit (backend) and Nginx proxy (frontend)
3.0.0
2020-12-09 14:20 UTC
Requires
- php: ^8.0
- doctrine/phpcr-odm: 1.5.3 || dev-php-8-version-1
- gpupo/common-sdk: ^6.3
- jackalope/jackalope-jackrabbit: ^1.4
Requires (Dev)
README
Content server with Apache Jackrabbit (backend) and Nginx proxy (frontend)
Requirements
- git
- Composer Dependency Manager
- [Docker][docker] (1.12+)
- [Docker-composer][docker-compose] (1.10+)
Features
- Content Repository with Apache Jackrabbit
- Webpage server with Image resize
Install
git clone git@github.com:gpupo/content-butler.git;
cd content-butler;
make setup;
Set passwords: default user is admin with admin password. You must edit htpasswd file with new values and that generator is a usefull tool.
Install dependencies
make install
Copy files to machines (optional)
docker cp config/empty.gif "$(docker-compose ps -q nginx)":/usr/share/nginx/html/empty.gif;
If previous repository exists (see backup):
docker cp var/opt/jackrabbit/repository "$(docker-compose ps -q content-server)":/opt/jackrabbit/;
docker cp var/opt/jackrabbit/workspaces "$(docker-compose ps -q content-server)":/opt/jackrabbit/;
docker cp var/opt/jackrabbit/version "$(docker-compose ps -q content-server)":/opt/jackrabbit/;
Up services
make start
Register node types
docker-compose run php bin/console doctrine:phpcr:register-system-node-types;
Alternative storage location
docker cp "$(docker-compose ps -q content-server)":/opt/jackrabbit var/jackrabbit;
add volume to docker file:
- $PWD/var/jackrabbit:/opt/jackrabbit
Backup
Export
Export repository with Filesystem Copy:
docker cp "$(docker-compose ps -q content-server)":/opt/jackrabbit var/opt/;
Clone (SVN style)
docker-compose run java bin/clone var/dest_directory;
Import
Example, load fixture:
docker-compose run php ./bin/console butler:import:directory Resources/fixture/ --splitter=Resources;
or
docker-compose run php bin/fixture
Load SVN style
docker-compose run php bin/console butler:import:directory var/clone;
Explore
Content Repository
- First, import fixtures;
- Check Jackrabbit dashboard
- Browse files and see some Sheeps
Nginx frontend
- Check if you keep seen sheeps
- Check if you can seen litle sheeps
- Browse default repository
Library usage
Install
composer require gpupo/content-butler
Add Documents
Versionable, Overshadow and Millenial Tree:
//... use Gpupo\ContentButler\Helpers\DocumentHelper; $documentHelper = new DocumentHelper($this->documentManager, $spliter = 'Resources', $versionable = true); $document = $documentHelper->factoryDocument('var/file/path.jpg', 8068, true); if ($this->documentManager->find(null, $document->getEndpoint())) { throw new \Exception(sprintf('Node %s already exists', $document->getEndpoint())); } $output->writeln(sprintf('Saving node <info>%s</>', $document->getEndpoint())); $this->documentManager->persist($document); $this->documentManager->flush();
Links
See