- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十五章-使用Archetypes扩展开发
使用Archetypes扩展开发
在本章介绍之前,几乎所有的开发,都是在浏览器中通过 ZMI 完成的(External Method 除外)。这些技术也就是Plone的脚本开发技术。 掌握他们,可以满足大多数具体应用的需求。
另外一方面,Plone上有非常多的扩展插件产品,可供安装使用。 这些扩展插件产品,都是在文件系统开发完成,能够方便的发布,可被重复的使用。
本章将关注如何采用Archetypes技术,来开发Plone的可重用扩展插件产品。本章适合扩展开发人员阅读。
本章学习重点是:
理解扩展产品开发应用的背景
掌握使用Archetypes语义为基础的产品开发
掌握开发内容类型时常用的重载方法
了解扩展产品在文件系统上的常用布局
掌握针对内容类型定制显示模板的方法
15.1???扩展插件产品开发背景
在各个Zope实例中,也有一个Products目录,包括CMFPlone在内的Zope外围插件产品就放置在这里。 在Zope启动的时候,会依次加载Products目录中的各个产品。
其中Plone的扩展插件产品,都可在Plone网站设置中的 安装和卸载产品 中安装和卸载。
一旦安装后,大多数的插件产品都会增加一组新的内容类型,可在文件夹的【添加到文件夹】下拉菜单中看到。 比如内容面板(CMFContentPanels)产品,就新增加了一个 内容面板 的内容类型。
每个内容类型,有自己的图标,有自己的编辑和查看界面;对用户的输入,能够对输入进行合法性校验,能够进行权限控制; 每种内容类型,都支持一组标准的元数据(属性);所有的界面,需要支持国际化,能够在多种语言下工作。
可以看出,Plone扩展插件产品的开发需求还是比较复杂的。 在Archetypes技术出来之前,如果要对Plone进行扩展开发,就需要使用Zope/CMF提供的大量API,需要遵循比较复杂的代码规范,掌握扩展开发的学习曲线非常陡。另外,这种开发方法,没有将对象的数据和逻辑分离开来,可扩展性不是很好。
15.2???archetypes做什么
Archetypes是Plone内容扩展开发的一个开发框架,只需要用python语言对内容类型提供描述信息,便可自动完成一些逻辑和内容编辑 展现界面。这样,Archetypes大大简化了Plone的扩展开发过程,减少了学习掌握的曲线;同时,代码减少,也意味着产生bug的可能性减少,以 及后续的维护费用降低,并能带来更快的开发周期。
Archetypes分离了内容的数据字段(field)、显示器件(widget)、存储(storage)。由于完全采用通过描述性语句来说 明,因此还可以UML工具进行图形化建模,对建模结果采用一个叫做ArchGenXML的工具处理后自动生成代码。你甚至不需要写任何的代码。
快速开发是Archetypes的最主要的优点。很多用户将Archetypes用作建立快速的系统原型、建立应用框架的良好途径。
现在几乎所有的Plone扩展插件产品都使用了Archetypes,Archetypes基本上是Plone扩展开发的标准。Arachetype开发包能够实现:
能自动生成内容的编辑和显示页面,因此你不用写任何的页面模版代码
为每个内容自动维护一个用户不能更改的、内部唯一代号(UID)。这样即便内容被移动了,仍然可以通过UID来找到。
支持内容的关联引用。每种内容,可和其他的内容建立多种关系。比如,一个新闻可能附加了几个其他的参考文档的链接。
默认就包括一套安全设置,能够满足大多数的应用场合。
支持多种存储方式,除了保存在ZODB对象数据库外,还可保存在文件系统,或者关系数据库中
提供大量的显示器件(控件),可构造丰富的界面,如网格表格、富文本输入等。
提供了数据格式转换的功能,比如,可以将微软的Word文档转换为html格式,直接在浏览器上显示。
Archetypes不仅仅可被用在Plone上,他也可被用于CMF,但目前还仅仅在Plone中大量使用。未来,Archetypes将融合更 多Zope 3的技术,比如采用Zope 3的Schema架构。采用Archetypes开发的产品,能够确保和未来的Plone版本兼容。
15.3???快速进入代码
Archetypes包括一个叫做ArchExample的示例产品,下面将以这个产品为例子做讲解。 这个产品可在 /archetypes/browser/ArchExample/trunk 得到。
在继续之前,你可以先安装这个产品,并尝试它的功能, 注意这次是从subversion仓库中取出代码,如果你不熟悉subversion仓库, Windows平台用户可以使用ToitoiseSVN作为客户端下载它的代码, 而一般命令行上可以使用这个命令来获取代码:
svn co
您可能关注的文档
最近下载
- 德国邦飞利变频器故障代码.pdf VIP
- 电子钱包 APP-钱Bag.PDF VIP
- iPhone使用手册中文.pdf VIP
- 《矿产资源_三率_指标要求 第 5 部分:金、银、铌、钽、锂、锆、 锶、稀土、锗》.pdf VIP
- 龙光集团丨纪凯婷人物介绍.pdf VIP
- 1访谈记录不忘初心方得始终.pdf VIP
- D-Z-T 0462.4-2023 矿产资源“三率”指标要求 第4部分:铜等12种有色金属矿产(正式版).docx VIP
- 无人机组装调试与检修-第五章-无人机系统调试.pptx VIP
- 无人机组装调试与检修-第四章-固定翼无人机系统组装.pptx VIP
- 无人机组装调试与检修-第二章-无人机装调工具与工艺.pptx VIP
原创力文档


文档评论(0)