设置Plone文件夹的排序顺序
项目描述
设置Plone中文件夹的顺序
通常,Plone文件夹按文档的创建顺序排序。这也可以排序。
此插件允许设置容器类型(例如文件夹)的替代排序顺序。从 操作 下拉菜单中选择新条目 排序 将显示一个表单。在表单中可以选择注册的排序方法之一。由 plone.folder 包提供的适配器已经包括 unordered 和 partial。此包增加了一个适配器 reversed,它仅反转默认适配器提供的顺序。
开发者可以通过为给定上下文提供 plone.folder.interfaces.IOrdering 来轻松添加自己的适配器,该接口实现了 plone.folder.interfaces.IOrderableFolder。
安装
只需在您的 buildout 中依赖于 egg collective.folderorder。ZCML 会自动通过 z3c.autoinclude 加载。
作为插件在 Plone 控制面板或 portal_setup 中安装。
此包是为 Plone 4.1 或更高版本编写的。
源代码和贡献
如果您想帮助开发(改进、更新、错误修复等)collective.folderorder,这是一个很好的想法!
代码位于 github collective。
您可以克隆它或访问 github-collective 并直接在项目上工作。
维护者是 Jens Klein 和 BlueDynamics Alliance 开发团队。我们感谢任何贡献,并且如果需要在 pypi 上发布新版本,请与我们中的任何人联系 dev@bluedynamics dot com
贡献者
Jens W. Klein <jens@bluedynamics.com>
Johannes Raggam <johannes@bluedynamics.com>
感谢 David Glick(又名 davisagli)就使用 plone.folder.interfaces.IOrdering 提出的初步建议。
更改
1.4.2 (2018-07-19)
依赖 Products.CMFPlone 而不是 Plone,以避免获取不必要的依赖项。[thet]
在 setup.py 中修复 namespace_packages 以使 z3c.autoinclude 的工作。[idgserpro]
1.4.1 (2014-01-29)
当项目被重新排序时,添加了一个状态消息。[thet]
1.4 (2013-09-05)
添加了排序的预置模式,以替换已弃用的反转模式 [benniboy]
在 form.pt 中添加了一些有用的信息 [benniboy]
在 form.yaml 中添加了“重新排序当前内容”和“反转排序顺序” [benniboy]
添加德语翻译。[thet]
1.3.2 (2013-04-16)
修复状态消息,在切换到默认排序时显示“默认”而不是空字符串。[thet]
提取出 orderings_list 和 current_order_name 函数,以便在包外部重用。[thet]
将 HISTORY.rst 重命名为 CHANGES.rst。[thet]
1.3.1 (2012-11-22)
不要设置包为 zip 安全。[thet, 2012-11-22]
1.3 (2012-11-22)
在反转模式下支持拖放排序。[thet, 2012-11-20]
为 getObjectPosition 提供自定义实现以返回反转排序。因此,plone.app.folder.nogopip.GopipIndex 也返回 getObjPositionInParent 查询的正确顺序(例如导航小部件和 global_sections 视图小部件)。[thet, 2012-11-20]
1.2
升级以使用 yafowil.plone [jensens, 2012–3-20]
1.1
返回值必须具有长度,已修复此问题。[jensens, 2011-12-20]
1.0
使其工作 [jensens, 2011-09-09]
许可证
版权(c)2011,BlueDynamics Alliance,奥地利,瑞士,德国
GNU 通用公共许可证
复制、分发和修改的条款和条件
本许可证适用于任何包含版权所有者放置的通知,表明它可以根据本通用公共许可证的条款进行分发的程序或其他作品。以下“程序”一词指任何此类程序或作品,“基于程序的程序”意味着以下程序或任何受版权法保护的衍生作品:即包含程序或其部分的作品,无论是原文还是经过修改和/或翻译成另一种语言的(以下,翻译包括在“修改”一词中,不予限制)。(在下文中,“修改”一词包括翻译,不予限制。)每个许可证持有人均称为“你”。
本许可证不涵盖除复制、分发和修改之外的活动;这些活动超出其范围。运行程序的行为不受限制,只有当程序输出的内容构成基于程序的作品(无论是否通过运行程序产生)时,程序输出的内容才受到本许可证的保护。这取决于程序的功能。
您可以复制并分发您收到的程序源代码的准确副本,在任何介质上,只要您在每个副本上明显且恰当地公布适当的版权声明和免责声明;保持所有提及本许可证和不存在任何保修声明的通知完整;并将程序副本及本许可证一起提供给任何其他程序接收者。
您可以因转移副本的物理行为收取费用,并且您可以自行决定是否以费用为交换条件提供保修保护。
- 2 您可以修改程序的副本或其任何部分
,从而形成基于程序的作品,并根据上述第1节的规定,复制和分发此类修改或作品,前提是您还满足所有这些条件
a) 您必须使修改后的文件携带突出显示的通知,声明您已更改文件和任何更改的日期。
b) 您必须使您分发或发布的任何作品(无论全部还是部分包含或源自程序或其任何部分),根据本许可证的条款免费向所有第三方许可。
c) 如果修改后的程序在运行时通常以交互方式读取命令,您必须使其在以最普通的方式启动用于此类交互使用时打印或显示一个公告,包括适当的版权声明和没有保修声明(或者,说明您提供保修)的通知,以及用户可以如何查看本许可证副本的信息。(例外:如果程序本身是交互式的但通常不打印此类公告,则您基于程序的作品不需要打印公告。)
这些要求适用于整个修改作品。如果该作品的可识别部分不是源自程序,并且可以合理地认为它们本身是独立的和独立的作品,那么当您将其作为独立作品分发时,本许可证及其条款不适用于这些部分。但是,当您将相同的部分作为基于程序的整体作品的一部分分发时,整个分发的条款必须符合本许可证的规定,其许可权扩展到整个整体,因此到每个部分,无论谁编写。
因此,本节的目的不是主张权利或争议您对您完全编写的作品的权力;相反,目的是行使对基于程序派生或集体作品分发的控制权。
此外,仅将另一非基于程序的作品与程序(或基于程序的作品)聚合在存储或分发介质的卷上,并不将其他作品纳入本许可证的范围。
根据上述第1节和第2节的规定,您可以在目标代码或可执行形式下复制和分发程序(或根据第2节的规定基于程序的作品)提供以下一项
a) 伴随完整的对应机器可读源代码,该代码必须根据上述第1节和第2节的规定,在通常用于软件交换的介质上分发;或者,
b) 伴随一份书面报价,至少有效三年,向任何第三方提供,费用不超过您物理执行源代码分发成本,一份完整的可机器读取的源代码副本,按照上述第1条和第2条的规定在通常用于软件交换的媒介上分发;或者;
c) 伴随您收到的关于分发相应源代码的报价信息。(此替代方案仅适用于非商业性分发,并且仅在您根据上述b)项收到的程序以目标代码或可执行形式附带此报价时适用。)
作品源代码是指修改作品的优选形式。对于可执行作品,完整的源代码意味着它包含的所有模块的所有源代码,以及任何相关的接口定义文件,以及用于控制编译和安装可执行文件的脚本。然而,作为一个特殊例外,分发的源代码不必包含通常与操作系统的主要组件(编译器、内核等)一起分发的任何内容(无论是源代码还是二进制形式),除非该组件本身与可执行文件一起分发。
如果通过提供从指定地点复制的方法分发可执行代码或目标代码,则提供从同一地点复制源代码的等效访问权限被视为分发源代码,即使第三方没有义务与目标代码一起复制源代码。
您不得复制、修改、再许可或分发本程序,除非本许可证明确提供。任何其他复制、修改、再许可或分发本程序的行为都是无效的,并将自动终止您根据本许可证的权利。但是,根据本许可证从您那里获得副本或权利的各方,只要这些方完全遵守,其许可证不会终止。
您不必接受本许可证,因为您没有签署它。然而,没有其他东西授予您修改或分发程序或其衍生作品的权利。如果您不接受本许可证,这些行为将受到法律的禁止。因此,通过修改或分发程序(或基于程序的任何作品),您表明您接受本许可证以及复制、分发或修改程序或其基于本程序的作品的所有条款和条件。
每次您重新分发程序(或基于程序的任何作品),接收方自动从原始许可方获得一份许可证,以复制、分发或修改程序,但须遵守本条款和条件。您不得对受让人行使本条款授予的权利施加任何进一步的限制。您不对第三方遵守本许可证负责。
如果由于法院判决或专利侵权指控或其他原因(不仅限于专利问题),对您施加了与本许可证条件相矛盾的条件(无论是法院命令、协议还是其他方式),则这些条件不能免除您遵守本许可证的条件。如果您不能同时满足本许可证和任何其他相关义务,那么作为后果,您可能根本不能分发程序。例如,如果专利许可不允许所有直接或间接通过您获得副本的人免费重新分发程序,那么您满足这两个条件的唯一方法就是完全停止分发程序。
如果本节任何部分在任何特定情况下被判定为无效或不具有可执行性,则本节的其余部分应适用,并且本节作为一个整体应适用于其他情况。
本节的目的不是诱导您侵犯任何专利或其他财产权利主张,也不是为了质疑任何此类主张的有效性;本节唯一的目的是保护自由软件分发系统的完整性,该系统通过公共许可证实践来实现。许多人已经通过该系统对广泛分布的软件做出了慷慨的贡献,这取决于该系统的一致应用;作者/捐赠者有责任决定是否愿意通过其他系统分发软件,许可证持有人无权强迫这种选择。
本节旨在彻底阐明本许可证其余部分被认为产生的后果。
如果由于专利或版权接口的限制,该程序在特定国家(地区)的分布和使用受到限制,将程序置于本许可证下的原始版权所有者可以添加一个明确的地理分布限制,排除这些国家(地区),以便仅在或仅在未被排除的国家(地区)内允许分发。在这种情况下,本许可证将包含此限制,如同本许可证正文所述。
自由软件基金会可能会不时发布修订版和/或新的通用公共许可证版本。这些新版本的精神将类似于当前版本,但可能在细节上有所不同,以解决新的问题或关注点。
每个版本都有一个区别性的版本号。如果程序指定了适用于它的本许可证的版本号,以及“任何后续版本”,您可以选择遵循该版本或自由软件基金会发布的任何后续版本的条款和条件。如果程序未指定本许可证的版本号,您可以选择自由软件基金会发布的任何版本。
如果您希望将程序的部分内容纳入其他具有不同分发条件的自由程序中,请写信给作者请求许可。对于由自由软件基金会拥有的版权软件,请写信给自由软件基金会;我们有时对此类情况会做出例外。我们的决定将受以下两个目标的指导:保持我们所有自由软件派生产品的自由状态,并促进软件的共享和重用。
无担保
由于程序是免费许可的,因此根据适用法律允许的范围,对程序不提供任何保证。除非在书面文件中有其他说明,否则版权所有者/其他各方将提供程序“按原样”而不提供任何形式的保证,包括但不限于明示或暗示的适销性和特定用途适用性的保证。程序的质量和性能风险完全由您承担。如果程序证明有缺陷,您将承担所有必要维修、修理或纠正的费用。
除非适用法律要求或书面同意,否则在任何情况下,任何版权所有者或可能根据上述许可修改和/或重新分发程序的任何其他方,对您不承担任何赔偿责任,包括但不限于因使用或无法使用程序(包括但不限于数据丢失或数据不准确或您或第三方遭受的损失或程序无法与任何其他程序一起运行)而产生的任何一般性、特殊性、偶然性或后果性损害,即使此类持有人或其他方已被告知此类损害的可能性。
条款和条件结束