第十五章-使用Archetypes扩展开发.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档