plone插件修复原型文件字段mimetypes
collective.updatemimetype的Python项目详细描述
此plone加载项可用于更新blob字段的中断mimetype。
当文件或图像上载到blob字段时,将计算其mimetype 基于来自mimetypes_registry的信息。
如果注册表缺少某些信息,则计算的mimetype可能是错误的 或者太笼统了。
例如,在Products.MimetypeRegistry的2.0.7版之前, plone门户的默认mimetypes_registry没有 了解openxml的mimetypes。那些文件会得到application/zip 而不是他们合适的mimetype。
由于mimetype的计算只在加载时进行,因此升级 Products.MimetypeRegistry不足以修复损坏的mimetype。
函数collective.updatemimetype.migrate遍历内容,查找 如果blob字段再次上载,它们将获得不同的mimetype, 并更新那些字段类型。 它可以通过genericsetup升级步骤调用:
from collective.updatemimetype import migrate migrate(portal)
小心!
如果您的门户保持不变,则更新可能需要大量内存并需要很长时间 很多内容。
如果要限制迁移到特定内容项,可以传递querymigrate函数的参数。例如,上面的代码同时更新File 以及默认plone站点的Image内容项,下面的代码将 仅更新File内容项:
from collective.updatemimetype import migrate catalog_query = {'portal_type': 'File'} migrate(portal, catalog_query)
门户上还注册了一个视图。呼叫:
http://my_domain/my_portal/updatemimetype
也可以使用query参数调用视图。将更新限制为 File个项目,用以下命令调用视图:
http://my_domain/my_portal/updatemimetype?query.portal_type:record:string=File
贡献者
- 双折射小教堂,gotcha@bubblenet.be,由kuleuven资助
更改日志
0.1.2(2015-07-06)
- 修正了对目录查询结果的更新限制。 并记录如何做到这一点。 [明白]
0.1.1(2015-06-30)
- 固定分类器 [明白]
0.1(2015-06-29)
- 初次发布。 [明白]