- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个需要访问 plone 站点对象的预定作业(我正在使用 apscheduler.scheduler
库),但在这种情况下我没有上下文。我订阅了 IProcessingStart
事件,但不幸的是 getSite()
函数返回 None
。
此外,是否有一种编程方式可以从 Zope Server root 获取特定的 Plone 站点?
附加信息:
我有一份这样的工作:
from zope.site import hooks
sched = Scheduler()
@sched.cron_schedule(day_of_week="*", hour="9", minute="0")
def myjob():
site = hooks.getSite()
print site
print site.absolute_url()
catalogtool = getToolByName(site, "portal_catalog")
print catalogtool
site
变量在 APScheduler 作业中始终为 None
。我们需要有关站点的信息才能正确运行该作业。
我们避免使用公共(public) URL 执行,因为用户可以直接执行作业。
最佳答案
首先使用 setSite()
构建一个上下文,也许还有一个请求对象:
from zope.app.component.hooks import setSite
from Testing.makerequest import makerequest
app = makerequest(app)
site = app[site_id]
setSite(site)
这确实需要您自己打开一个 ZODB 连接并自己遍历到站点对象。
但是,尚不清楚您如何从您的调度程序访问 Plone 站点。与其运行一个全新的 Zope 进程,不如考虑从您的调度作业中调用一个 URL。如果你将 APScheduler 集成到你的 Zope 进程中,你必须在作业中创建一个新的 ZODB 连接,从根目录遍历到 Plone 站点,并使用上述方法设置站点 Hook (需要很多本地组件)。
关于plone - 如何在没有上下文的情况下访问 "plone site object"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20471925/
有没有办法查看谁当前登录了 Plone 站点? 理由:我想确保在我重新启动实例时不会干扰处理内容的用户。 最佳答案 开箱即用,没有办法查看用户当前是否正在使用您的网站,只有当他们刚刚使用它时。只需关注
我需要 plone 默认用户注册表单中的验证码字段 (@@register)。 最佳答案 使用 https://plone.org/products/quintagroup.formlib.captc
如果 Plone 版本升级,是否需要删除安全补丁? 假设示例: Plone X.4.4 从 2015 年 5 月 4 日起开始运行安全补丁-XYZ Plone 升级至 X.4.5,在 Security
我有一个 Plone (4.2) 形式。我想要一个特定领域的动态来源。架构的相关部分: from plone.directives import form from z3c.relationfield
我正在尝试制作一个兼容 Plone 4 和 Plone 5 的插件。我遇到的问题是配置文件/默认 XML。 Plone 5:我有一个用于注册 CSS 的 registry.xmlPlone 4:我有一
我正在使用 Plone 4.0.5,我花了一天时间试图理解 plone.app.contentmenu。 我有一个基于自定义文件夹的原型(prototype)类型,并且我已经为它编写了一个 View
Plone 4 包含一个新的文件夹实现(在 plone.app.folder 包中),它对于包含许多项目的文件夹效率更高。是否可以升级 Plone 3 站点以使用此文件夹实现,而无需将站点完全升级到
PloneTestCase、plone.testing 和 plone.app.testing 包有什么区别? 顺便说一下,不建议将 PloneTestCase 用于测试新的 Plone 4 产品吗?
我们想从我的 Java 应用程序创建 plone 用户,那么我该怎么做呢? 已通过https://github.com/plone/plone.restapi ,但还没有得到清晰的看法。 我想在jav
我正在尝试通过 portal_migration 工具将 Plone 4.3.7 升级到 Plone 5.0,并遇到以下错误。有什么想法吗?这是一个简单的站点(没有附加组件),但它的历史可以追溯到 P
我正在为我的站点创建一个新的 plone.app.theming (Diazo) 主题。我的 rules.xml 有规则: 这会取消许多弹出窗口的样式,但不会取消联系人信息 AJAX 弹出框的样式,
我正在尝试将现有站点从 Plone 3.3.6 升级到 Plone 4.3.7,然后升级到 Plone 5.0。 现有站点非常小,并且没有安装任何附加产品(vanilla Plone、vanilla
我想让我的编辑在几个正交词汇表上标记内容,然后有一个很好的搜索界面,让用户可以根据这些词汇表搜索内容。 似乎解决方案的一部分存在 ATVocabularyManager - 让编辑器创建不同的词汇表
我在我工作的研究所中使用带有 Doormat 和 Diazo 的 Plone 4.1.4,并且必须通过添加内部链接到主菜单中项目的每个列和项目来手动制作页脚。 我想要的是这个页脚,即站点地图,每次用户
Plone 产品安装的日志轮换将是一个不错的功能。当前将日志轮换集成到 Plone 的最佳实践是什么? 我找到了这篇文章:http://encolpe.wordpress.com/2010/06/17
在一个 Plone 实例中,我有两个 Plone 站点。 在其中一个中,我有一个专门用于它的产品。 我想为 Products.PluggableAuthService.interfaces.event
是否可以使用每个插件扩展控制面板 View ? 例如 ca.db.core -> 为数据库连接设置制作基本字段集/选项卡 ca.db.person -> 如果已安装,则向“核心”设置添加一个新的字段集
这是一个普遍的问题,但受到一个例子的启发。一般的问题是:如何从未使用的附加组件中清除 Plone 站点?您可以通过多种方式生成未使用的附加组件,例如,如果您将一个附加组件用于一件事,然后您更喜欢另一件
2004 年,Mahendra 发表了关于使用 Plone 和 DSpace 管理数字 Assets 的演讲。 http://linux-bangalore.org/2004/schedules/ta
plone.resource 提供了将静态媒体文件放入 Plone 的简单方法 http://pypi.python.org/pypi/plone.resource 然而,plone.resource
我是一名优秀的程序员,十分优秀!