gpupo / content-butler
该软件包已被废弃,不再维护。没有建议的替代软件包。
基于PHPCR、Apache Jackrabbit(后端)和Nginx代理(前端)的内容服务器
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
基于Apache Jackrabbit(后端)和Nginx代理(前端)的内容服务器
需求
- git
- Composer依赖管理器
- [Docker][docker] (1.12+)
- [Docker-composer][docker-compose] (1.10+)
特性
- 带有Apache Jackrabbit的内容存储库
- 带有图像缩放的网页服务器
安装
git clone git@github.com:gpupo/content-butler.git;
cd content-butler;
make setup;
设置密码:默认用户是admin,密码为admin。您必须使用新值编辑htpasswd文件,并且此生成器是一个有用的工具。
安装依赖项
make install
将文件复制到机器上(可选)
docker cp config/empty.gif "$(docker-compose ps -q nginx)":/usr/share/nginx/html/empty.gif;
如果存在以前的存储库(请参阅备份)
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/;
升级服务
make start
注册节点类型
docker-compose run php bin/console doctrine:phpcr:register-system-node-types;
备用存储位置
docker cp "$(docker-compose ps -q content-server)":/opt/jackrabbit var/jackrabbit;
向Docker文件添加卷
- $PWD/var/jackrabbit:/opt/jackrabbit
备份
导出
使用文件系统复制导出存储库
docker cp "$(docker-compose ps -q content-server)":/opt/jackrabbit var/opt/;
克隆(SVN风格)
docker-compose run java bin/clone var/dest_directory;
导入
示例:加载固定值
docker-compose run php ./bin/console butler:import:directory Resources/fixture/ --splitter=Resources;
或
docker-compose run php bin/fixture
加载SVN风格
docker-compose run php bin/console butler:import:directory var/clone;
探索
内容存储库
- 首先,导入固定值;
- 检查 Jackrabbit仪表板
- 浏览文件 并查看一些 Sheeps
Nginx前端
库使用
安装
composer require gpupo/content-butler
添加文档
可版本化、阴影和千年树
//... 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();
链接
查看