gpupo/content-butler

该软件包已被废弃,不再维护。没有建议的替代软件包。

基于PHPCR、Apache Jackrabbit(后端)和Nginx代理(前端)的内容服务器

3.0.0 2020-12-09 14:20 UTC

This package is auto-updated.

Last update: 2023-08-21 12:47:44 UTC


README

基于Apache Jackrabbit(后端)和Nginx代理(前端)的内容服务器

Paypal Donations

Build Status Actions Status

需求

特性

  • 带有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;

探索

内容存储库

  1. 首先,导入固定值;
  2. 检查 Jackrabbit仪表板
  3. 浏览文件 并查看一些 Sheeps

Nginx前端

  1. 检查您是否保留了看到的 sheeps
  2. 检查您是否可以看到 小sheeps
  3. 浏览 默认存储库

库使用

安装

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();

链接

查看