ContentRules框架对触发规则的对象运行脚本的操作

collective.contentrules.runscript的Python项目详细描述


简介

在plone 3中,内容规则是一个强大的特性。但是为每个小动作创建一个文件系统产品 我们想表演得有点过头了。为了帮助那些集成商和管理员,runscript 带来注册条件的能力,一旦匹配,将执行您在 在规则配置窗体中配置的脚本。

为了满足一些用例,该产品提供了一些可能有用的示例脚本:

标记在父项之后

Adds the parent’s title as a tag to the item (appends to the subject field). E.g.:

Given the structure: Plone/Folder1/Folder2/Folder3/object
>> object.Subject()
()
After Plone/Folder1/Folder2/Folder3/object/tag_after_parent
>> object.Subject()
('Folder3',)
在父项之后标记

有条件地将父标题作为标记添加到项(附加到主题字段)。 递归地测试是否在对象父路径的每个部分上设置title_as_tag属性,并添加 作为对象上的标记的部件标题。 例如:

Given the structure: Plone/Folder1/Folder2/Folder3/object
Plone.title_as_tag is undefined
Folder1.title_as_tag is False
Folder2.title_as_tag is True
Folder3.title_as_tag is True
>> object.Subject()
()
After Plone/Folder1/Folder2/Folder3/object/tag_after_parents
>> object.Subject()
('Folder2','Folder3')
设置属性 > p>向上下文对象添加新属性,或只设置现有对象。 在后一种情况下,类型必须相同。 参数包括名称、值、类型。 例如:

Given the structure: Plone/Folder1/Folder2/Folder3
After Plone/Folder1/Folder2/Folder3/set_property?name=title_as_tag&value=True&type=boolean
>> Plone.Folder1.Folder2.Folder3.getProperty('title_as_tag') == True
True

其他人可能会在未来出现

You can give your suggestions.

我们可以很容易地编写一个新的脚本,只需要从将要触发的对象中遍历它 情况。

安装

将collective.contentrules.runscript作为egg或 从源头上。不需要(通用安装程序)安装,操作是 使用zcml注册。所以一定要把包添加到你的zcml slug列表中 [实例]部分。

如果要使用任何可用的示例脚本,则应通过 加载项配置。

用法

转到plone控制面板,选择内容规则并添加新规则。 在“操作”下,您现在有了一个新选项:运行脚本。

在“configure element”表单中,指向一个知道如何对对象执行所需操作的脚本 这将触发规则。

如果安装了示例脚本,则可以使用“tag_after_parent”脚本并使每个对象都匹配 按父级标题分类的规则条件。

如果在配置表单中通知的脚本不能从触发规则的对象中遍历 根据“未找到脚本时失败”标志的状态,将引发或不会引发异常。

如果将规则设置为“添加到容器”事件,则找不到脚本意味着无法完全填充该添加。

学分

此包高度基于collective.contentrules.mailtolocalrole。

更改日志

0.4(2011-02-22)

  • 添加了z3c.autoinclude.plugin入口点
  • 修复了对中.runscript.runscriptaction工厂的引用 configure.zcml(感谢sascha gresk)

0.3(2009-07-27)

  • 添加了向脚本传递参数的选项
  • 在父脚本和set属性示例脚本之后添加tag_

0.2(2009-07-23)

  • 添加了限制/不限制遍历选项
  • 修复了包装问题

0.1.1(2009-07-23)

  • 修复了包装问题

0.1(xx xx-xx-xx)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
我们应该在测试java代码时模拟黄瓜测试吗。我们应该在多大程度上使用黄瓜?   Hibernate Weblogic 10.3.4 java。lang.NoSuchMethodError:javax/persistence/spi/PersistenceUnitInfo。getValidationMode()Ljavax/persistence/ValidationMode;   java如何在main()中访问私有静态实例变量   java JMockit无法模拟类的公共final字段   java是否可以返回特定控制器操作的输出(html)?   java如何返回正确类型的列表?   rest-OpenUI/Swagger-java-to-API   java组织。springframework。豆。工厂NoSuchBeanDefinitionException或加载ApplicationContext失败   java使用POST将参数从JSP发送到Servlet   java如何监听特定的按钮按下和主视图用户交互?   java如何让gradle在本地maven repo中覆盖库?   如何在Java中“合并”两个URI?   java如何制作一个方法来移动数组中的字符?   使用来自java的命令启动powershell窗口   java垃圾收集器和匿名类   java如何为CellTable(GWT 2.4)中的ImageResourceCell创建PanelPopup?