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如何忽略缓冲读取器中在“”之后的行的其余部分,或行上的特定字符?   java在db中创建空对象或稍后保存   java如何实现UI无关的后台工作任务   java未能在Android中从BaseAdapter扩展的类中启动Tactivity?   java斐波那契迭代移动数组[]   安卓从文件读取提供了java。木卫一。StreamCorruptedException:无效的流标头:73720027   java计算矩形中的六边形数?   仅使用Java 1.5(或更早版本)读写XML   java如果所有元素都以相同的bucked结尾,为什么要进行大小调整?   java Apache POI Excel在xx中发现无法读取的内容。xlsx   swing我可以在普通java应用程序中使用GWTGUI吗?   来自自定义Java客户端的http删除请求的行为与邮递员不同   运行批处理文件时,java当前目录无效   使用TypeReference将java字符串转换为ArrayList<STRING>   documentlistener突出显示所有匹配词Java