跳转到主要内容

Plone内容别名

项目描述

简介

本软件包为Plone提供了一种名为别名的新内容类型。别名通过引用另一个内容项进行配置。然后它作为指定项的别名。

别名反映了原始内容项的多数方面。如果原始内容项发生变化,别名将自动更新。然而,某些方面是特定于别名的,包括

  • URL/路径

  • portal_catalog条目

  • 工作流状态

  • 权限/角色映射(例如,通过工作流设置)

  • 本地角色

  • 内容规则

  • 组件

此外,某些方面会反映原始内容项,除非在别名的显式设置,此时将拥有自己的版本。这些方面包括

  • 内容标题

  • 显示模板(通过显示菜单设置)

  • 组件

从Plone 3升级到Plone 4

在Plone 4中,UID索引被转换为UUIDIndex。由于目录中存在重复的UID,plone迁移将崩溃。因此,在执行plone迁移之前,您需要修复您的目录,进入portal_setup,选择升级标签,选择collective.alias并执行从步骤1到2的升级操作。

安装

collective.alias使用Dexterity。有关更多信息,请参阅http://plone.org/products/dexterity

要在自己的构建中使用该产品,您可以在setup.py文件中依赖它,或者将其添加到构建out的eggs列表中,就像通常一样。

在两种情况下,您可能希望使用Dexterity的已知良好集合的包来最小化包版本冲突的风险。例如

[buildout]
...
extends =
    ...
    http://good-py.appspot.com/release/dexterity/1.0a2

...

[instance]
eggs =
    Plone
    collective.alias
    ...

请参阅http://plone.org/products/dexterity以找到Dexterity KGS的最新版本。collective.alias与Dexterity 1.0系列的版本进行了测试。

粘贴别名

如果用户在给定文件夹中具有collective.alias: Add Alias权限,并且剪贴板中有内容项,则将在操作菜单中显示粘贴为别名操作。

别名文件夹行为

默认情况下,如果原始内容项是容器,别名将充当容器。别名将具有与原始项相同的元数据和设置,但不包括其子项。可以直接向别名添加子项。子项可以是其他别名或常规内容项。

别名可以配置为“允许遍历”。在这种情况下,原始内容项的子项将作为别名的子项用于遍历或对象访问。它们通常不会出现在文件夹列表中,也不会在portal_catalog中作为单独的项目进行索引。这种模式对于集合和其他类型的内容很有用,其中子对象是对象的核心。

“允许遍历”标志会根据原始内容对象的portal_type自动设置,尽管可以从别名编辑表单中进行修改。

允许遍历的类型列表存储在配置注册表中,并且可以从配置注册表控制面板中进行编辑。如果您想使用GenericSetup将自定义类型添加到此列表,请使用类似于下面的registry.xml文件

<registry>

    <record name="collective.alias.interfaces.IAliasSettings.traversalTypes">
      <value purge="false">
          <element>MyType</element>
      </value>
    </record>

</registry>

已知问题

存在以下已知问题

  • 在撰写本文时(Dexterity 1.0a2),无法创建指向别名的Archetypes引用(例如,Archetypes内容对象上的标准“相关项目”字段,包括Plone 3的默认类型)。这是由于Dexterity与Archetypes引用实现之间的不兼容性。

待办事项

  • 无法编辑别名。Plone中的更改[12]需要一种新的方法来生成对象标签。在Products.Collage[3]中处理此问题的方法在这里不起作用,因为 viewlet = provider.__getitem__(“plone.contentviews”) 返回一个 collective.alias.browser.ContentViews 对象,它没有 prepareObjectTabs 方法。

变更日志

1.3.1 (2014-02-26)

  • 修改 object_buttons/paste_alias 动作的 available_expr 以防止用户没有查看父级权限时崩溃。[vincentfretin]

1.3 (2013-11-04)

  • 从别名中移除 plone.multilingual.interfaces.ITranslatable。[jaroel]

1.2.4 (2013-10-22)

  • 使用 Collection 而不是 Topic。[jaroel]

1.2.3 (2013-09-25)

  • 添加了 MANIFEST.in 发布 1.2,安装失败。[thomasdesvenain]

  • 适配 Plone 4.3 兼容。[saily]

1.1 (2011-09-22)

  • 升级配置文件清除并重建 zc.relation 目录,以修复不存在接口的问题。[vincentfretin]

  • 本地化包 + 法语翻译。[thomasdesvenain]

  • 将“粘贴为别名”动作添加到文件夹按钮。[thomasdesvenain]

  • 修复类型图标显示。使用 icon_expr。[thomasdesvenain]

  • 向别名对象添加 uuid 并重新编目。这解决了 Plone 4 中 UUIDIndex 的重复 UID 问题。[vincentfretin]

  • grok.CodeView 已在 recent five.grok 中不再存在,已由 grok.View 替换。[thomasdesvenain]

  • 修复了 Plone 4 中的“AttributeError: ‘Plone’ object has no attribute ‘prepareObjectTabs’”,完全禁用了内容视图。(最值得注意的是,禁用了编辑别名选项)。[khink]

1.0a1 (2009-08-02)

  • 初始发布

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

collective.alias-1.3.1.zip (44.8 kB 查看哈希值)

上传时间 源代码

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面