5/9/2009
我在自己的Debian 5.0 (lenny)中成功安装了OpenOffice.org 3.1.0,步骤简单,在这里与大家分享。
- 下载OpenOffice.org 3.1.0。下载地址:http://download.openoffice.org/other.html#en-US
- 删除系统中已经存在的OpenOffice。使用命令:sudo apt-get remove openoffice*。留意:不要落下openoffice后面的星号。
- 解压缩下载后的文件OOo_3.1.0_LinuxIntel_install_en-US_deb.tar.gz,并进入解压后的目录OOO310_m11_native_packed-4_en-US.9399/DEBS
- 安装目录中的所有deb包,使用命令:sudo dpkg -i *.deb
- 进入OOO310_m11_native_packed-4_en-US.9399/DEBS/desktop-integration,同样使用dpkg命令安装该目录中唯一的deb包。使用命令:sudo dpkg -i openoffice.org3.1-debian-menus_3.1-9393_all.deb
如果一切顺利,到这已经可以使用新版本的OpenOffice了。
在安装新版本OpenOffice之前,我一直使用2.4.2版本,并且Java环境运行良好。由于每台计算机几乎不可能有完全一致的系统环境,因此我不确保上述步骤在您的系统中100%运行无误。仅供参考。
另外,可以参考一篇图文并茂地讲解OpenOffice的文章(英文)。
5/5/2009
视图组件是命名的多适配器。其作用于的对象是HTTP Request对象和提供某个特定接口的对象实例。在视图组件的configure.zcml文件中声明page的时候,page元素就描述了这一概念。例如:
<browser:page
for="..interface.IReport"
class="report_view.py"
name="view"
template="report_view.pt"
permission="zope2.View"
/>
属性name指出,我们声明了一个名字叫做view的视图。for指出只有当请求一个提供了IReport接口的对象的时候,才会调用这个视图。当然,发出请求的用户必须具有permission属性指定的权限才行。
用编程方式获得这个视图对象,能够更直观地体会到多适配器的概念:
from zope.component import getMultiAdapter
from zope.publisher.browser import TestRequest
# 假设该Report类实现了IReport接口
from myproject import Report
report = Report()
request = TestRequest()
view = getMultiAdapter((report, request), name=u"view")
view()
如果想在cctv.com上看直播,那么必须安装Windows和IE。cctv.com剥夺了所有不用IE和Windows的人看视频的权力。
