完全支持内容分级包

plone.contentratings的Python项目详细描述


overview
*****

`plone.contentratings`是plone content
管理系统的附加包。它将zope3包"contentratings"扩展到
通过web为所有cmf
内容提供可配置的评级类别。它使用kss操作ajax提供评级ui。




>详细文档
************************








>使用"plone.contentratings"的方法




在将"plone.contentratings"包及其依赖项"plone.contentratings"包及其依赖项"plone.contentratings"包及其依赖项"plone.contentratings"包对zope实例可用并重新启动zope之后,应该有一个"plone.contentratings"包及其依赖项


>依赖项
产品名为"contentratings"的uct可在plone quick
安装程序("附加产品"控制面板)中找到。安装这个
"产品"将在plone中添加一个名为"ratings"的新控制面板。
这个面板提供两个配置部分。一个用于将
特定内容类型与分级类别关联,另一个用于
添加和管理分级类别。



在类型选择器下面。选择
类别后,请在选择其他类型之前按"保存"按钮。

完成此操作后,视图上将显示所选类型的分级界面。此用户界面将允许在所有
选定类别中设置和查看收视率。类别出现的顺序将与多选中的顺序相同,并由分级类别配置中指定的顺序确定(请参见下一节)。


只需取消选中"设置"选项卡上的"启用分级"复选框即可。



最初,没有本地类别,只有"acquired
categories"。这些类别不是在control
面板中定义的,而是在文件系统上的python包/产品中定义的。无法编辑获取的类别。


若要添加新类别,请单击"添加本地类别"按钮。然后
填写类别的标题(这是将在评分界面中显示的标题)。所有其他字段都是可选的。您可以输入
描述(主要用于文档目的)。您可以输入
故事表达式,以确定用户何时可以查看
,何时不能查看或设置类别中的分级。如果留空,所有用户都将
能够查看和设置分级。要使用权限来限制分级,请使用如下表达式::



ui中显示类别的顺序由order属性决定,该属性应为整数。
视图设置决定了评分在ui中的显示方式。
python产品可以注册评分视图,以提供不同的外观和感觉或行为。创建和注册新
视图的说明可以在"contentratings"包的文档中找到。如果对视图使用完全自定义的类,请确保
它实现了"contentratings.browser.interfaces.iratingview"
接口,并为
"contentratings.interfaces.iuserrating"接口注册,这将确保
它出现在列表中。

您可以通过选中下面的复选框删除自定义类别o按
类别并单击"删除"按钮。当然,您可以编辑任何类别属性。您必须单击"保存"按钮来记录您的更改(包括删除类别)。

**有关类别名称的说明**:inte实际上,类别注册
,并使用唯一的名称访问。对于ttw创建的类别,这些
名称是从标题生成的,其机制类似于plone为内容对象生成id时使用的
。这有几个后果。如果创建一个类别,使用该类别对内容进行评级,然后删除该类别,评级仍将存储在原始类别名称下的内容上。因此,如果
以后创建一个具有相同标题(因此
同名)的"新"类别,则以前在该类别下评级的所有内容仍将附加评级信息。这使得很容易撤消对类别的错误删除,但可能会导致一些意外行为。


此外,这也使得通过创建具有相同名称的类别来覆盖全局定义的类别。但是,
不能保证全局定义的名称与其标题相关,因此如何这样做并不总是显而易见的,也不建议使用此选项。您可能会得到两个标题相同的类别,仅按顺序区分,这可能会导致在分配类别时出现混淆。





对于阅读过
`contentratings`文档的开发人员来说,gories和自定义评级视图应该是一个简单的过程。在为plone开发自定义分级行为时,需要注意一些特殊事项。


如果要在控件
面板中提供自定义全局类别,则必须为
`products.cmfcore.interfaces.idynamictype`接口注册该类别。此外,只有提供"contentratings.interfaces.iuserrating"接口的类别才会出现在控制面板中(这意味着它们必须使用实现"iuserrating"的存储工厂)。如果您为特定于您的类型的接口注册了
类别,则它将
显示在实现该接口的任何内容的ui中,
将不会显示在控制面板配置中,也不会
尊重内容对象上的"启用分级"复选框。

要为内容
类型(可能还实现idynamictype)实现自定义的"分级管理器",应
继承"ploGeneratingCategoryAdapter",而不是"contentRatings"中的标准"ratingCategoryAdapter"。如果没有在该类中定义的
行为,则使用自定义分级管理器分配给类型
的任何TTW类别都可能中断或不出现。



local configuration
----


tratings.assignment`)位于
cmf站点内的任何本地站点管理器中。完成此操作后,可以在该本地站点上使用"contentratings controlpanel"视图
。当在本地
控制面板中进行更改时,这些更改将影响本地站点中的内容。


在本地站点中,"管理
类别"选项卡的"获取的类别"部分将包含全局类别和当前站点管理器中定义的类别。站点(例如,在门户网站)。
这些内容无法编辑,但可以重写(请参阅上面的
**有关类别名称的说明**部分)。

>在plone根目录上方的本地站点管理器中安装实用程序,
现在必须以编程方式完成。有希望的"plone.localconf"包可能很快会为这种
安装提供一种通用机制和用户界面。_ contentratings:http://pypi.python.org/pypi/contentratings/



==


*添加机制,使为
评级类别的特定方面(例如(平均评级,评级数量)轻松创建索引,
对对象进行评级的用户,…这可能需要plone中的一些基础设施
支持(例如,更灵活地实现
iIndexableObjectWrapper内容)。

*跨多个评级类别的聚合统计信息和显示它们的用户
界面。这可能需要在底层ContentRatings包中提供一些支持
,最好留给使用此基础结构的单个应用程序使用。


*将kss替换为jquery。

*替换我们从
zope.app.compone使用的长期不推荐使用的queryNextSiteManagerNT.



history
==


1.2.1(2017-03-15)
----

-用jquery替换kss。
(注意:有一个升级步骤将新的javascript添加到js注册表。)
[davisagli]



1.1(2013-09-20)
----


-清理。与plone 4.1、4.2和4.3兼容。[毛里塔尼亚]

-添加意大利语翻译[keul]

-修复i18n支持(更喜欢新ID而不是完整描述)[keul]

-添加全局定义的分级类别的翻译[keul]

-可访问性修复:将焦点放在ratin上时显示分级值g图标[keul]

1.0.1(2012-06-04)
----


-内容分级的正确版本依赖关系。[alecm]

1.0 final(2011-08-21)
——


-在configure.zcml中显式包含cmfcore权限,以实现plone 4.1
兼容性。如果要保持plone 3的相容性,则要完全包括
cmfcore。[拉斐尔]


1.0rc3(2011-05-12)
----


-修复z3c.autoinclude配置。


1.0rc2(2010-11-28)
----


-通过消除对新cmfcore接口的依赖,恢复plone 3支持。
[alecm]

<1.0rc1(2010-08-31)
-————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————-在控制面板中添加了类型更改时自动保存(由于kss
错误而禁用)。
[alecm]


-添加了kss问题的修复。
[alecm]


-添加了缺少的metadata.xml并使setup.py读取了它的版本。
[saily]

-添加了德语翻译。
[saily]

-重组和更新的history.txt.
[赛利]


1.0 beta-2008-05-10
----

-定义和存储评级的全新架构。介绍了评级类别和评级视图的概念。


0.2 beta-2008-05-10
----

-一个从0.1改进了很多的错误修复版本。此包已被具有全新体系结构的版本1.0取代,尽管它应该向后兼容。


0.1-已发布
----


-初始包结构。
[alecm]

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

推荐PyPI第三方库


热门话题
创建一个bash别名来编译任何文件。当前目录中的java程序   java JSoup逐个标记解析HTML   java Jdk更新121 URLClassloader更改   为什么使用Instant将1582之前的Java日期转换为LocalDate会给出不同的日期?   java JPA有没有一种方法可以从<table>groupby<field>   批处理文件Java关于运行时的混淆。memory()与Windows的物理内存使用历史记录图   Neo4j 2.1.7,用于使用Neo4j的Java API进行社交网络分析   java文件。太慢了!   java解析Joptionpane中的多个int   导入我可以删除任何隐式导入的Java库吗?   java如何使用数组在内部存储不同的数据类型   java通过curl命令发送POST请求   java使所有数组元素相等的最小递增操作数   java FocusPanel事件仅在边缘上?