跳转到主要内容

可以显示多个源的网络部件

项目描述

简介

collective.portlet.feedmixer是一个用于Plone 3的组件,可以显示一个或多个内容源。

Feedmixer使用feedparser来处理feed,这使它能够支持RSS 0.90、Netscape RSS 0.91、Userland RSS 0.91、RSS 0.92、RSS 0.93、RSS 0.94、RSS 1.0、RSS 2.0、Atom 0.3、Atom 1.0和CDF feed。

安装

此包需要Plone 3.0或更高版本以及feedparser。

不使用buildout安装

首先安装feedparser。您可以在系统Python路径或您的Zope实例的lib/python目录中安装它。如果您已安装setuptools,您可以使用easy_install进行安装。

easy_install FeedParser

如果您没有安装setuptools,您可以使用feedparser源中的setup.py脚本来手动安装。如果您想将feedparser安装在Zope实例内部而不是系统范围内,可以使用其“–prefix=’’”选项在Zope实例的“’lib/python’”目录中安装。

接下来,您需要安装此包。这也可以通过在系统路径包或Zope实例的lib/python目录中安装它来完成。与feedparser一样,您可以使用easy_install或通过setup.py脚本进行安装。

安装包后,需要在您的Zope实例中注册。这可以通过将collective.portlet.feedmixer-configure.zcml文件放入etc/pakage-includes目录并包含以下内容来完成:

<include package="collective.portlet.feedmixer" />

或者,您还可以将此行添加到已注册的包或Product的configure.zcml中。

使用buildout安装

如果您使用buildout来管理实例,安装collective.portlet.feedmixer将更加简单。您可以通过将其添加到实例的eggs行来安装它。

[instance]
eggs = collective.portlet.feedmixer
zcml = collective.portlet.feedmixer

最后一行告诉buildout生成一个zcml片段,该片段告诉Zope配置collective.portlet.feedmixer。

如果另一个包依赖于feedmixer egg或直接包含其zcml,您不需要在buildout配置中指定任何内容:buildout将自动检测这一点。

更新配置后,您需要运行“bin/buildout”,这将负责更新您的系统。

使用小部件

为了使用feedmixer小部件,您首先需要将feedmixer产品安装到您的站点上。这通过Plone站点设置的“添加产品”控制面板来完成。完成后,将出现一个新的“Feed Mixer”小部件类型。

Feedmixer小部件有多个可配置选项

小部件标题

这将被用作小部件的标题。

缓存feed数据的最大时间

这决定了feed可以在feedmixer尝试刷新feed数据之前缓存多久。为了减少对其他服务器的负载,建议将其设置为合理的较大值。

显示的项目数

小部件中显示的项目数。

所有feed的URL

所有feed的URL列表。所有标准RSS和Atom feed都受支持,以及CDF feed。

性能

小部件尽可能地友好,并且仅在需要时才重新加载feed。它以几种不同的方式完成此操作。

所有feed都存储在plone.memoize中定义的共享缓存中。默认情况下是Zope RAMCache,但您可以通过注册不同的“ICacheChooser”实用程序来选择不同的缓存。使用的缓存密钥是“collective.portlet.feedmixer.FeedCache”。例如,对于具有多个Zope实例的部署,您可以使用基于memcached的缓存,这允许您在所有Zope实例之间共享下载的feed。

如果缓存中的feed条目已过期,则需要重新加载。但是,feedmixer小部件将尝试使用ETAGs和HTTP Last-Modified标题来检查feed是否自上次下载以来已更新。如果没有更新,则缓存feed的超时将更新并继续使用。

变更日志

1.6 - 2011-09-13

  • 使其与 Plone 4 兼容,感谢 Rafahela Garcia Bazzanella 修复 [martior]。

  • 添加了葡萄牙巴西翻译,感谢 Rafahela Garcia Bazzanella [martior]。

  • 直接导入 IVocabularyFactory 以实现 Plone 4.1 兼容性。 [lewy]

  • 修复 entries() 中的不良缓存键。之前,使用生成器对象的 repr。这意味着实际上没有请求缓存。更糟糕的是,它导致在同一请求中渲染的多个 portlet 之间的缓存键间歇性重叠。 [tmog]

1.5 - 2011-03-02

  • 将完整 feed 的条目包裹在一个 div 中,以便我们可以从视觉上区分它们。 [jbaldivieso]

  • 修复完整 feed 的查找 feed 条目,以便缓存装饰器可以像预期的那样从视图中获取请求。 [davisagli]

  • 显式包含 plone.app.portlets 的 ZCML,以确保 plone.portlet 指令在所有情况下都正常工作。 [hannosch]

  • 添加了西班牙语翻译 [macagua]

1.4 - 2009-11-06

  • 移除了编辑权限,因为这会阻止将 feedmixer portlet 添加到用户的仪表板。 [matth]

1.3 - 2009-04-03

  • 修复完整_feed 视图,以便在从 feed 项目获取描述时具有回退功能,因为这不是 rss2 标准中必需的字段。 [martior]

1.2 - 2008-07-10

  • 修复了 portlet 的“更多 ...”链接。我们必须存储指向 portlet 分配上下文的路径,因为 plone[.app].portlets 没有公开它。这个工作区取自 ely.portlets.image。这将仅适用于新创建的 feedmixer portlet,现有的仍然会在子文件夹中创建错误的 URL。 [fschulze]

  • 添加了法语翻译并修复了一些 i18n 问题。 [glenfant]

1.1 - 2007-11-28

  • 正确缓存混合 feed 条目:按实例缓存而不是按请求缓存意味着只要 ZODB 没有使分配过期,我们就永远不会更新我们的 feed。相反,按请求缓存并使用分配的 feed_urls 列表。 [wichert]

  • 修复 portletBottomLeft CSS 类名中的拼写错误。 [daftdog]

1.0 - 2007-11-05

  • 初始发布。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

collective.portlet.feedmixer-1.6.zip (42.8 kB 查看散列

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面