discoverygarden/embargo
Composer 安装命令:
composer require discoverygarden/embargo
包简介
A module for managing embargo policies with access restrictions on content
README 文档
README
Embargo content indefinitely or till specified date, limiting access to specific users and/or IP addresses.
This module is intended to be a successor to https://github.com/discoverygarden/embargoes
Installation
Install as usual.
Migrating from embargoes
Migrations exist in the migrate_embargoes_to_embargo module for migrating from embargoes's entities onto embargo's.
See the module's docs for more info.
Configuration
Configuration options can be set at admin/config/content/embargo,
including a contact email and notification message.
Embargoes can be managed at admin/content/embargo.
To add an IP range for use on embargoes, navigate to
admin/content/embargo/range and click 'Add IP range'. Ranges
created via this method can then be used as IP address whitelists when creating
embargoes. This CIDR to IPv4 Conversion utility
can be helpful in creating valid CIDR IP ranges.
search_api processor(s)
We have multiple search_api processors which attempt to constrain search
results based on the effects of embargoes on the entities represented by search
results, including:
embargo_processor("Embargo access (deprecated)")- Adds additional properties to the indexed rows, requiring additional index
maintenance on mutation of the entities under consideration, but should
theoretically work with any
search_apibackend
- Adds additional properties to the indexed rows, requiring additional index
maintenance on mutation of the entities under consideration, but should
theoretically work with any
embargo_join_process("Embargo access, join-wise")- Requires Solr/Solarium-compatible index, and indexing of embargo entities in the same index as the node/media/files to be search, tracking necessary info and performing Solr joins to constrain results
Typically, only one should be used in any particular index.
Embargo Notification Block Configuration
The Embargo Notifications Block provided by this module can be placed like any other Block, and it will only be visible if there is an Embargo entity associated with the content being viewed because otherwise it has nothing to display. For general information about managing and placing Blocks, see Drupal community documentation such as Managing Blocks
There is also a "Node is Embargoed" Condition provided by this module that can be used to set Block visibility for any Blocks based on the embargoed status of the node being viewed:
- "Always trigger regardless of embargo status"
- "All embargoes on node"
- "Current embargoes on node (ignore expired)"
- "Active embargoes on node (ignore bypassed)"
If you would like the Embargo Notifications Block to stop displaying when a timed
Embargo expires, you would want to set the "Node is Embargoed" block visibility
condition to Current embargoes on node (ignore expired) or
Active embargoes on node (ignore bypassed), depending on whether you want the block
displayed for users who have access to bypass the given Embargo.
Usage
Applying an embargo
An embargo can be applied to an existing node by clicking the
"Embargoes" tab on a node, or navigating to
embargoes/node/{node_id}. From here, an embargo can be applied if it doesn't
already exist, and existing embargoes can be modified or removed.
Known Issues/FAQ
- Embargoed items show up in search results
- Enable one of our
search_apiprocessors to handle applying embargo restrictions.
- Enable one of our
- "Embargo access, join-wise" does not show up as an available processor
- Ensure embargo entities are being indexed in the given index.
- Ensure that eligible node/media/files entities are being indexed in the given index.
Troubleshooting/Issues
Having problems or solved a problem? Contact discoverygarden.
Maintainers/Sponsors
Attribution
This module is heavily based on and includes contributions from discoverygarden/embargoes which was forked from fsulib authored by Bryan J. Brown.
License
discoverygarden/embargo 适用场景与选型建议
discoverygarden/embargo 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 558 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 07 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 discoverygarden/embargo 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 discoverygarden/embargo 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 558
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2023-07-05