基于btree的订单支持文件夹实现

plone.folder的Python项目详细描述


plone.文件夹

概述

这个包为基于b-trees的folderish内容类型提供了一个基类, a.k.a."大文件夹",位于 plone 。 与常规文件夹相比,将内容存储在此类文件夹中可提供显著的性能优势。 但是,"大文件夹"不支持对其内容进行开箱即用的显式排序。 也就是说,不能手动指定文件夹中项目的顺序, 从文件夹中提取项目后,您只能根据给定的条件对项目进行排序。

< Buff行情>

不过,很多时候,人们希望能够显式地对文件夹的内容进行排序, 例如,与站点导航相关的项。 按字母顺序排序在这里通常没有意义。

为了补偿plone.folder通过上述基类为b-tree文件夹提供排序支持, 它可以利用适配器来存储实际的订单信息。 它还提供了两个适配器实现示例:

  • 处理文件夹中包含的所有对象的顺序信息的默认适配器。 此适配器可用于为folderish内容构建完全向后兼容的插入式替换。 换句话说,当使用这个适配器时,基于b-tree的文件夹的行为应该与"常规"文件夹实现一样, 但同时提供一些性能优势。
  • 另一种适配器实现,目标是只有相对较小百分比的内容(显式)顺序重要的站点。 它只管理特定内容类型的订单信息(通过标记界面)。

后者允许不必将此类内容与"不可订购"内容分开。 到目前为止,许多大型网站最终都存储了"可订购"的项目- 例如,所有与导航相关的内容,通常只有少数- 在常规文件夹和"大"文件夹中的大部分内容中, 大多数时候都是因为表演的原因。 这个适配器将有助于避免将来不得不做出这种区分 仍然提供了b-tree文件夹的更好的性能特性。

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

推荐PyPI第三方库


热门话题
泛型Java将参数约束到公共超类   java Spring引导:在构造函数中加载属性文件并用作autowire注释   java中的优先级队列顺序错误。util。优先级队列和特定比较器   带有Java Sprint引导REST的Google应用程序引擎标准在GCLOUD服务器中不起作用   安卓从Java代码中检索变量并将其作为参数分配给TestNG   用于读取列表值的Java JSON对象   java Hibernate映射:实体映射中的重复列   多线程。start()不从Java中的父线程分派   java Android facebook webdialog网络错误(netstack:lib_mgr错误)   http使用Java阻止网站   java DynamicAsper:访问连接报表中动态列的值   java如何分离文件中的每个单词,并在表中显示每个单词和每个单词的编号?   如何打包和部署EclipseJava应用程序?   java使用Mule Anypoint,我想实现没有flowref的功能   java Kafka consumer ClassNotFoundException   java错误捕获帮助;消息不断重复   javaspring,Thymeleaf和CSS如何给错误着色   javascript如何在java中实现反向ajax   如何通过UDP连接从java数据包中读取序列号?