brainsum / damopen-project
使用Composer创建DAMopen项目的模板。
Requires
- php: >=8.1
- drupal/core-project-message: ^10.1.8
README
Composer模板,用于启动数字资产管理项目。
本模板基于以下内容
结构
app
:实际的Drupal文件夹。这是唯一挂载到Docker容器的文件夹,安装Drupal、添加依赖项、使用drush等操作应从这里执行。- 注意,在容器化环境中,这是构建时应该对映像可用的唯一文件夹。
- Git根目录应该是项目根目录。
docker
:包含Dockerfile和一些构建映像的辅助工具
安装
注意:这些命令已在linux(ubuntu)上测试过,在其他系统上可能需要更改才能工作。
原生composer
对于最新版本
composer create-project brainsum/damopen-project my-damopen-project
对于特定版本
composer create-project brainsum/damopen-project=2.0.x-dev my-damopen-project
Docker中的Composer
对于最新版本
DAMOPEN_PROJECT_DIR=my-damopen-project; mkdir "${DAMOPEN_PROJECT_DIR}" && docker run --rm -u "$(id -u)":"$(id -g)" -w /app --mount type=bind,src="$(pwd)"/"${DAMOPEN_PROJECT_DIR}",dst=/app brainsum/damopen-php:7.4-dev-4.22.1 composer create-project brainsum/damopen-project .
对于特定版本
DAMOPEN_PROJECT_DIR=damopen; mkdir "${DAMOPEN_PROJECT_DIR}" && docker run --rm -u "$(id -u)":"$(id -g)" -w /app --mount type=bind,src="$(pwd)"/"${DAMOPEN_PROJECT_DIR}",dst=/app brainsum/damopen-php:8.1-dev-4.42.11 composer create-project brainsum/damopen-project=5.0.x-dev .
这会创建基本结构。项目安装后,您需要进入app
文件夹并使用composer install
。
注意:Drupal发布了9.2版本,但damopen发行版应用了一个与该版本不兼容的补丁。如果composer install
失败,您可以通过在app/composer.json
的extra
中添加以下内容来解决此问题(参见:cweagans/composer-patches
)并重新运行它
"patches": { "Implement a generic revision UI (Drupal 9.2)": "https://www.drupal.org/files/issues/2021-03-24/2350939-164.patch" }, "patches-ignore": { "brainsum/damopen": { "drupal/core": { "Implement a generic revision UI": "https://www.drupal.org/files/issues/2021-02-04/2350939-156-9.1.x.patch" } } },
设置
环境变量
默认情况下,项目依赖于一些环境变量。请参阅settings.php以及settings文件夹中的文件。
(可选)Docker-compose
如果您想使用docker-compose进行开发,您应根据需要更新.env
(例如,将damopen替换为您项目的名称,添加哈希盐等)。
要启动和停止环境,您可以使用项目提供的辅助脚本(startup.sh
和shutdown.sh
)。这些脚本还会查找docker-compose.local.yml
文件,因此您可以对通用配置文件进行版本控制并执行本地覆盖(例如端口、挂载)。
Drush
将app/drush/example.drush.yml
复制为app/drush/drush.yml
,并根据需要更新其内容。
文件系统权限修复
例如,在linux上,您还必须修复文件和目录权限,例如对于“private_files”、“web/sites/default/files”、“tmp”等。
额外的设置文件
app/settings/example
包含多个预定义的设置文件。将settings.local.php
复制到settings
以启动本地设置,如果存在,则web/sites/default/settings.php
会自动包含它。这有助于避免主settings.php
的文件权限问题。
安装
使用drush site-install --account-pass=somestrongpass --site-mail=mail@currentsite.com --site-name=DAMopen damopen -y
您可能还想添加--account-name
和--account-mail
。
使用方法
主站点
上传您的资产即可。您可以下载它们,图像可以用于社交媒体目的,可以添加徽标等。
API
JSON:API模块已启用,因此您可以通过它来提供服务。一个例子是使用FileField Sources JSON API模块,该模块允许您配置文件字段,以便可以通过API直接从DAMopen下载文件。
开发
有关开发信息,请参阅DEVELOPMENT.md文件。