Zoom.it托管图像缩放集成到Plone中。
项目描述
collective.zoomit
此插件将zoom.it服务集成到Plone中。它包括一个Dexterity行为,可以分配给内容类型,还有一个标记接口IZoomItImage,可以分配给单个实例或内容类(例如使用implements、classImplements或zcml class指令)。
Zoom.it是微软Live Labs提供的一个webservice,它生成托管图像的DeepZoom瓦片图像表示,并提供了一个基于SeaDragon的友好查看器。它允许以友好的方式查看高分辨率的图像。
此包中提供的适配器/行为假定应用到的内容具有image属性或getImage方法。该包提供脚本以替换主视图中的图像为js/silverlight查看器。该脚本假定内容的主视图包括位于锚点(即#content a > img:first-child)主内容区域内的主要图像。
在第一次保存内容时,将调用 zoom.it API 处理图像。然而,只有在图像是公开可见的情况下,才会进行 API 调用(因为 zoom.it 服务需要通过公开 URL 获取它)。如果图像尚未处理,在工作流程转换后也会启动图像处理。因此,一旦图像通过工作流程转换变得可访问,zoom.it 服务无法公开访问的图像内容将被自动处理。这不会导致在文件夹公开时,私有文件夹中的非工作流程图像被处理。在这种情况下,必须重新保存图像或使用 Zoom.it 动作菜单手动处理。
处理大图像可能需要一些时间(有时可能会失败),为此,插件提供了一个动作菜单项,用于查看和更新图像处理的进度,并在失败后手动重新启动进程。如果处理尚未完成,编辑内容也会更新状态信息。
编辑图像字段也会导致图像重新处理。
注意事项
Microsoft 的 Zoom.it 服务是一个不受支持的实验性服务,可靠性存疑。它也是通过方便的 API 以最小努力显示高分辨率图像的独特方式之一。似乎已经处理过的图像可以从服务中可靠地获取;然而,似乎存在服务不接受新图像的长时间扩展期。因此,初始处理可能会失败。因此,此插件被设计为渐进式增强,并且只有当处理过的图像可用时,才会显示查看器。
查看常见问题解答。
由于 Zoom.it 需要公开可访问的 URL 来检索图像,因此此插件不支持私有内容或从非互联网可访问的 URL 编辑。适配器故意跳过来自回环地址的请求,但可以通过将变量 collective.zoomit.config.DEBUG 设置为 True,从本地地址使用占位符图像进行测试。
贡献者
-
Alec Mitchell
感谢
变更日志
0.7 (2014-03-08)
改进日志记录以更好地理解服务失败
0.6 (2013-12-19)
首次发布