标签: Plone
diazoxdvplone-3.xdeliverance
我想在Plone3+collective.xdv中设计一些表单的样式,但我不希望所有表单都有特殊的样式
因此,我想在显示某些模板时,向body元素的class属性添加一个特殊的样式化表单类名:
联系信息
寄存表格
PFG表格
因此,我认为我可以设法用XDV执行此操作,以避免修改这些模板
通过使用XDV规则中的if content指令,我可以检查这些模板是否正在显示:
css:if-content="body.template-contact-info"
比如说
但是我没有找到方法来保留Pl
我在portal\u workflow中创建了一个新工作流(我们将其命名为my\u workflow),并尝试使用portal\u安装程序导出它,但未成功。我以前在其他工作流中也这样做过,效果非常好。但是,不知何故,我创建的最后一个工作流无法导出
导出时,新创建的工作流显示在workflows.xml中,但workflows/my\u workflow/和workflows/my\u workflow/definition.xml不存在。将导出其他工作流(包括一些自定义工作流)
是否有任何我不知
在一个旧站点中,我们正在从Plone 2迁移到Plone 4,我们使用在内容类型上定义的getMainTemplate方法覆盖了用于基于特定Archtypes的内容类型的主模板:
def getMainTemplate(self):
""" this defines the main template to use in base_edit/view/etc for this
item of content """
return 'a_different_main_tem
我正在用重氮来制作Plone网站的主题。非主题站点基于Sunburst主题,因此此标记由主模板插入到/html/head:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
我的设计包含
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
所以我只需要更换这个标签。我想保留Plone生成的其他元标记
这些规则对我不适用:
<
是否有提供该功能的现有附加组件
从本地计算机上载图像(blob)
添加一些标题
添加一些链接
这个功能可以通过静态文本portlet和单独的图像上传来实现,但这在可用性方面会引起很大的麻烦。我们需要在线上传。addon collective.quickupload可以让您上传多个文件和图像,并设置每个文件和图像的标题
但是我想我没有理解这个问题,因为您已经知道这个插件了,对吧?听起来是一个扩展静态文本portlet的好机会 现在有一个附加组件即将推出:
标签: Plone
python-importbuildout
我在一个站点上安装了collective.formcriteria,然后将其卸载并从构建中删除
当我导出网站时,它工作正常,但尝试导入网站时会出现以下错误:
Traceback (innermost last):
Module ZPublisher.Publish, line 127, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 47, i
在我的Plone 4.2安装中,所有文件的SearchableText字段都设置为[]。我不知道为什么,就像我上次(12月)看到的那样,一切都很好。实时搜索未找到任何文件,所有其他内容都已找到。我们的主要内容是文件。我怎样才能让普隆建立这个新的领域?我已更新了目录,但这会占用空字段并将其添加到索引目录中。请检查应为您的文件(wvware、poppler和friends)编制索引的程序是否正常工作,以及您的plone用户是否可以访问这些程序。在前台模式下运行测试实例,您应该能够添加新文档并看到它们
我正在寻找一种显示两个选择字段a和B的方法,其中B取决于a中的选择。例如:假设a是用于显示世界各国的选择小部件,那么B应该只列出在a字段中选择的国家中找到的城市
我打算在自定义内容类型中使用它,并希望在我的视图模板中创建一个搜索过滤器
普隆有这样的特征吗?我已经看过了,但它非常旧,与Plone 4.2不兼容
我想我可能必须使用ajax手动完成这项工作
有什么想法吗?如果您使用的是Archetypes框架,MasterSelectWidget仍然是您需要的答案
你说它不适用于Plone 4.2(我
data.fs行为怪异,其大小每天都在增加5-6%,而没有添加太多内容。我想停止索引
我试图从门户目录中删除索引,但网站开始出现错误
有人能建议如何停止索引,这样我的磁盘空间就不会这么快被填满。可能会有帮助。我想在制作版上试一试。谢谢。我正在尝试您提到的链接中给出的第一种选择。我不确定索引是否是您的数据库不断增长的原因。为了确保您必须将目录装载到单独的数据库中。您的应用程序可能会在读取请求时写入zodb。尝试以只读方式安装Database,访问该站点应该不会出现错误。网络上没有太多关于此类情况的
这个博客总结了当download.zope.org关闭时如何使用buildout,但是它是针对Plone 4.2的
如何为Plone 4.3.1获取一个类似的缓存,以便在download.zope.org关闭时我的构建不会失败?在这种特定的中断情况下,您不需要缓存[1]:您需要一个有效的扩展=目标。我刚刚修复了我的Plone 4.3构建,以避免下载.zope.org[2]。这应该适合您:
[buildout]
extends = https://raw.github.com/plock/pins
标签: Plone
carouselportlet
我已经在Plone 4.3.1上安装了collective carousel 1.5(注意:我使用的是1.6,并且得到了相同的错误,希望这是一个回归错误或其他东西)
然后,我创建了一个与站点上的集合关联的carouselportlet
当我转到包含portlet的页面时,会出现以下错误:
KeyError: 'carousel-portlet-view'
以下是回溯:
- URL: /usr/local/share/plone/buildout-cache/eggs/collective.ca
标签: Plone
dexterityplone-4.x
当对象的工作流状态更改时,我的应用程序会自动创建内容。但是,创建此新内容时,用户将状态更改为所有者。我想将所有权授予另一个用户。新用户确实是所有者,但他没有编辑内容的权限。它是一种自定义的灵巧内容类型
我试过这个:
company.changeOwnership(mtool.getMemberById(context.username))
company.manage_setLocalRoles(context.username, ['Owner'])
company.setCreators([
我们已经开始在一个旧的Plone站点(Zope2.9.6上的2.5.5)中发现大量数据库冲突错误。在过去的8小时里超过250个。该网站的速度也明显较慢
它们甚至在提供静态资源时也会发生,所以我不明白写入冲突是如何发生的。见:
2013-08-22T08:46:02 INFO ZPublisher.Conflict ConflictError at /VirtualHostBase/http/www.mysite.com:80/mysite/VirtualHostRoot/portal_javas
我正在寻找一个Plone资源注册表条件(TALES表达式),它可以区分登录内容作者(具有编辑权限)和普通登录站点用户(没有编辑权限)……有人能帮忙吗?这看起来很有帮助:
expression=“python:portal['portal\u membership'].checkPermission('Modify portal content',context)”这看起来很有用:
expression=“python:portal['portal\u membership'].checkPerm
我有一个灵巧的内容类型,我想有一个选择字段,它不是必需的,它的值来自词汇表
以下是词汇表:
@grok.provider(IContextSourceBinder)
def voc_test(context):
values = range(10, 21)
terms = map(lambda x: SimpleTerm(value=str(x),
title=str(x)), values)
return
在Plone实例中,我有两个Plone站点。
在其中一个项目中,我有一个专门的产品
我想在该产品中为Products.PluggableAuthService.interfaces.events.IPrincipalCreatedEvent声明一个订阅者,该订阅者将仅为此plone站点触发
我尝试过使用zcml:condition=“installed my.product”,但它只测试是否可以导入,因此订户也可用于其他plone站点
将第二个plone站点移动到另一个实例不是一个选项
谢谢。在
标签: Plone
data-migrationplone-4.x
我有一个Plone实例,其中包含一些我需要复制到新Plone实例的结构(但还有更多不应该复制的结构)。这些结构是文档树(“书籍”的原型文件夹和文档),它们使用这些树之外的资源(例如,图像和动画,通过UID)(在一个单独的结构中,当然包含许多需要复制的资源)
我已经尝试复制整个数据并删除不需要的部分,但这需要很长时间,所以我正在寻找更好的方法
因此,我们的想法是遍历我的文档树小林,将它们和它们所需的资源(稀疏地重建独立的结构)转移到新的Plone实例。我可以完全访问这两个网站
有没有建议的方法来实
在中有一个名为zodb temporary storage的选项,用于替换Zope的默认临时存储定义
什么时候推荐?好处和坏处是什么?默认情况下,配方包括存储会话数据的方法:
临时文件夹是用于临时存储对象的Zope文件夹。临时文件夹的作用几乎与常规文件夹完全相同,但有两个显著区别:
重新启动Zope时,临时文件夹中包含的所有内容都会消失。(临时文件夹的内容存储在RAM中)
无法撤消对存储在临时文件夹中的对象执行的操作
这对于高度易失性的会话数据非常好,但是如果您在集群中运行Zope,您可能需
我想在plone外使用c.transmogrifier。它离plone独立还有多远
实际上,我很少看到与plone相关的导入,并且在中只看到plone特定的代码,因此它似乎是可行的
是否有任何路线图或待办事项/建议列表来实现这一点 集合。transmogrifier仅取决于CMFCore,而不是Plone。不过,我确实计划让依赖项成为可选的,我只是还没有时间这么做。我已经创建了一个运行程序,通过命令行工具在plone之外执行transmogrifier。目前,跑步者是我们的一部分。您可以使用漏斗
通过查询门户_语言工具,我可以获得语言名称列表:
>>> from Products.CMFPlone.utils import getToolByName
>>> ltool = getToolByName(context, 'portal_languages')
>>> language_names = [name for code, name in ltool.listAvailableLanguages()]
[u'Abkhazian
我想使用collective.easytemplate生成模板电子邮件(用于内容规则)。但是,我不确定它是否可以输出对象工作流状态。有人知道这是否可能以及如何做到吗
谢谢。您可以,这是可能的,一种方法是使用门户工作流工具,例如从零件/omelette/plone/app/contentrules/tests/test\u action\u workflow.py:
self.assertEquals('published',
self.portal.portal_workflow.
如何在`structure provider:xxx中的页面模板中动态查找提供程序
考虑下面的非工作示例
Portlet井
部分提供程序:失败,因为提供程序:假定输入始终是提供程序名称的直接字符串,并且似乎不接受变量 提供程序表达式为字符串表达式子类,因此您应该能够执行以下操作:
Portlet井
注意字符串表达式是多余的,我移动并简化了$portletId变量插值;对于更复杂的字符串插值,请使用${expression}语法(例如${request/providername})。提供程
我们正在使用Plone 4.1.3。我们有一个名为“新闻”的文件夹,其中包含新闻项目。在文件夹中,我们有一个集合,也称为新闻。新闻文件夹的默认视图设置为新闻集合。在News collection中,我们将默认设置为Item:News和All Contents。最终的结果是,当我们点击新闻文件夹时,我们会看到一个页面,其中显示了五个最新的新闻项目,下面的页码链接到了旧的新闻项目。也会显示新闻项的主体,但每个新闻项之间没有线条或边框
问题:我们如何配置Plone、Collection或News It
我试图从事件中获取IPubAfterTraversal钩子中的上下文对象
@grok.subscribe(IPubAfterTraversal)
def admin_language_negotiator(event):
"""
Event handler which pokes the language after traversing and authentication is done, but before rendering.
"""
# Keep th
我正在寻找将初始内容导入Plone 4.2的最佳方法。要求:
能够在测试中使用初始内容
能够导入初始内容TTW
支持内容、用户和组
修改初始内容填充的简单方法
有这样的产品吗?对于灵巧内容,Shuttle Thread有一篇很好的博客文章,解释如何使用初始内容导入:看起来很有希望,它支持用户/组吗?@iElectric您需要将其他部分添加到Transmogrier管道中。也许吧?GenericSetup配置文件具有某种内容导入功能。不要使用它们。他们的工作非常糟糕。对于测试,只需使用invo
plone.memoize包提供了方便的帮助函数,用于缓存各种函数的值
在当前HTTP请求(self.Request)的生存期内缓存view/viewlet方法的值的最佳实践是什么。这在plone.memoize文档中并不完全清楚
例如:
class MyView(grok.View):
# cache this by self.request
def getExpensiveFunction(self):
....
由
有没有办法隐藏我的目录结果的特定对象?
我有一个不想显示的配置文件。
我按id过滤,但它看起来很难看
from Products.CMFCore.utils import getToolByName
def search(context):
catalog = getToolByName(context, 'portal_catalog')
items = catalog()
for item in items:
if item.id != "config
我试图对search.pt模板(在portal\u view\u customizations-plone.app.search/search.pt下)进行基本的结构更改。我从portal\u view\u customizations加载它,点击底部的“customize”,然后进行任何类型的更改*。如果我在修改模板后搜索页面,它会提示输入用户名和密码
我没有收到任何错误,也不太清楚可能是什么问题。在/portal\u view\u自定义中是否缺少一些工作流或发布过程?我已经能够编辑其中的其他
我们有一个内容类型(我们称之为MyFolder),它可以包含除MyFolder本身之外在站点中注册的任何其他内容类型
最简单的方法是什么
注册新工作流并设置防护
是否在创建时从具有事件的对象中删除内容类型的添加MyFolder权限
是否从对象中的可添加内容类型列表中筛选内容类型?怎么做
以上都没有?那怎么办
我想第3点应该可以正常工作,在MyFolder上设置“筛选内容类型”标志,并选择所有其他应添加到MyFolder的“允许的内容类型”中的内容
当然,如果添加其他内容类型,则必须手动扩展MyF
我可以为一个内容类型的字段(灵巧模型)抑制特定的微型mce按钮吗?
也就是说,我希望人们能够格式化文本,但不能插入图像 对于原型,您可以使用此代码段。
您可以使用允许按钮或过滤按钮。
()
如果使用相同的选项,请告知我:
atapi.TextField('text',
storage=atapi.AnnotationStorage(),
schemata=u'details',
required=False,
searchable=True,
valida
在当前的Plone 5 coredev构建中,我试图为在cssregistry.xml中注册一些css的加载项编写一个GenericSetup卸载配置文件。在Plone 5中,portal_css和portal_javascripts是空的,所有这些资源现在自动加载到资源注册表中。但是没有相应的卸载。如果我有一个css资源,我会在资源注册表中获得以下记录:
<record name="plone.resources/resource-myaddon-stylesheets.conf"&
我正在为我的Plone站点创建一个分支(很长时间没有分支了)。此网站有一个用于用户配置文件的特殊目录对象(基于特殊原型的对象类型),称为portal\u user\u catalog:
$ bin/instance debug
>>> portal = app.Plone
>>> print [d for d in portal.objectMap() if d['meta_type'] == 'Plone Catalog Tool']
[{'meta_typ
文档中关于CSS的页面仍然建议使用cssregistry.xml,即使资源现在存储在注册表中。相对于registry.xml,这是首选方法吗?据我所知,它将它们添加到plone遗留包中。鉴于它的名字,听起来我应该远离它
假设我不想继续使用plone legacy bundle,那么将css/js添加到plone bundle中是不好,还是应该为我的命名空间创建一个新的bundle?现在不是一个简单(又称混乱)的任务。你会发现这里有一个非常有趣的讨论:你想做什么?构建一个可重用的包还是解决单站点问
为什么Plonedata.fs文件这么大,会影响性能吗
在我们当前的站点上,该文件超过8GB。我最近在一个遗留的Plone 3安装上接管了这个项目的开发,数据库存在巨大的性能瓶颈
我的第一印象是8GB是巨大的
没有存储大文件
数据库的性能可能如下所示:
有一个zeo星系团
使用apache实现负载平衡
带16GB ram的8核vCPU服务器
任何缓存页面(apache层)都是lightning,其他页面的速度都非常慢
更新
经过以下建议和进一步调查。以下是服务器的一些统计信息:
内存使
在我的Plone实例中,我希望每个新创建的页面在创建后都移动到自己的文件夹中。文件夹的标题和说明应与该页相同。因此,我将此函数作为zope.lifecycleevent.interfaces.IObjectAddedEvent的事件处理程序编写:
def notifyDocumentIsAdded(document, event):
portal = api.portal.get()
context = aq_inner(document)
folder = aq_parent(context)
我正在尝试:tal:define=“terms python:context.portal\u词汇表.getVocabularyByName('a\u词汇表').items()”
结果是
Unauthorized:在此上下文中不允许您访问“门户词汇表”
知道如何在页面模板中获取我的词汇表吗
(它适用于经过身份验证的用户。该错误仅适用于匿名用户。)不确定这是最简单的。。。添加了浏览器视图:
class AVocabulary(BrowserView):
def __call__(self)
我正在创建一个新的附加组件,它将包含一些用户首选项。
假设每个用户可以从所有内容类别的列表中选择多个类别
我的目标是:
用户的首选项必须是持久的(如果我重新安装附加组件,可能可以将它们保留在这里)
注册和个人偏好页面保持不变。我将有一个自定义视图表单来更新与此加载项相关的首选项
易于索引自定义目录中的值。该目录将用于搜索对某个主题感兴趣的用户(例如:my_custom_catalog.query(subject=“Education”)->包含订阅“Education”主题的用户数据的大脑列表
我在迁移到Plone 5时遇到了一些问题,而这个问题是一个真正的拦截器
无论我试图从我们的(免费附加)4.3.18实例迁移到哪个5.x版本,安装和迁移到Dextrity与否,迁移后我都无法使用导航portlet中的“查看历史”按钮来显示主页中显示的对象的历史视图
将鼠标悬停(并单击)在按钮上方,我的浏览器(使用Firefox和Chromium进行了尝试)显示以下链接:
…/some/url/?\u验证器=
而不是:
…/some/url/@@historyview?\u验证器=
访问历史视图的唯
我试图通过rules.xml中的这一行删除主页的content div
<drop css:theme="#content"
if-content="/html/body[@class='section-front-page']" />
它不起作用。。。为什么?对我来说似乎没问题:请参见:
要使用该语法,必须匹配body标记的所有类
使用:
在FireBug中适用于我您也可以使用CSS选择器:
<drop css:theme="#content"
我想自定义从Plone的默认注释操作发送的文本,特别是当有人对文件进行注释时发送的链接。当前的行为是链接启动文件本身。我希望看到的行为是让读者能够看到输入的评论
我一直试图通过ZMI和Zope文件系统找到消息的模板脚本,但找不到消息模板
。。。。默认消息的示例
有人在您的文件中添加了评论:
测试
如果您是本项目的作者,我们建议您阅读评论,
并根据需要更新文档-然后删除注释
如果需要进一步澄清,请回复评论,以及
发表评论会收到这样的通知,并且很可能会给你
更多细节
要查看新评论,请访问:
--
我想搜索一个相当大的Plone站点中的所有文档,该站点的正文中包含一段特定的html(列出带有标题的项目,呃…),然后更改该html(删除标题)
关于如何做到这一点的指点非常感谢 我已经有一段时间没有尝试过了,但是请检查一下您应该创建一个browserview(或在调试模式下运行实例)并运行以下代码:
from Products.CMFCore.utils import getToolByName
import re
ctool = getToolByName(context, 'porta
安装GetPay for plone时,一些发行版抱怨
我们已经有了:egg.name 0.0
但是另一个.egg 1.2.3需要'egg.name>=4.5.6'
我已通过将请求的版本固定到以下位置,从而成功地向前推进:
Error: There is a version conflict.
We already have: zope.component 3.5.1
but zope.site 3.9.2 requires 'zope.component>=3.8.0'.
but zop
我最近将一个Plone站点从Plone 4.1.4迁移到Plone 4.2.4。迁移本身没有报告任何错误。然而,在过去的几天里,我们收到了关于非常奇怪行为的报告。某些用户无法登录,在plone.session.tktauth和createTicket函数(见下文)中收到UnicodeDecodeError,并被发送回登录表单。这些用户的用户名或密码中都没有utf-8字符,这是所有这一切中最奇怪的部分
经过调查,我发现plone.session是3.5.2版,有两行代码设置为None。在我以前的版
我试图覆盖用于relateditems的小部件(Dextrity so z3cform),它是来自plone.formwidget.contenttree.widget import MultiContentTreeWidget的
我遇到的问题是,我不理解为什么我的示例试图找到IDataConverter的组件,其中没有用于contenttree小部件的IDataConverter及其父组件
代码是:
#zope
从zope导入接口
导入z3c.form.interfaces
导入z3c.for
我正在尝试在用户登录后获取门户对象以创建文件夹。现在,我正在使用下面的事件订阅服务器。有更好的方法吗
<subscriber
for="*
Products.PluggableAuthService.interfaces.events.IUserLoggedInEvent"
handler=".subscribers.createProfile"
/>
def createProfile(obj, event):
portal = getT
我的服务器上Plone 4.3中的主题选项卡没有响应。单击“新建主题”和“上载zip文件”按钮时,这两个按钮都不起任何作用,如果我按下底部的“保存”按钮,我会得到以下回溯:
Traceback (innermost last):
Module ZPublisher.Publish, line 60, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 46, in cal
我用“objectmodified”触发器创建了一个内容规则
该规则具有“工作流状态”条件(但可能具有“内容类型”条件或任何基于上下文的条件)
该规则工作正常,但当对象的引用发生更改时。例如,在TinyMCE中添加内部链接或图像或修改“相关内容”字段时,可能会发生这种情况
更新引用时,将在与原始对象关联的特殊at\u references文件夹中创建(或删除)一个新对象(引用)
不幸的是,此创建会触发内容规则,但会在引用文件夹的上下文中触发。因此,条件表达式不为true,并且操作未执行
显然,每
my plone站点的所有登录成员都有编辑、创建和发布内容的权限。不幸的是,它们还可以更改文件夹的默认显示视图。这会导致很多问题,因为站点成员有时会意外地更改文件夹不适合的视图模板
我如何才能改变只有角色管理员才能设置所有文件夹的默认视图的方式?正常的站点成员不应该能够
因为我信任我的成员,所以类似于JS+CSS解决方案的东西也可以接受,除了站点管理员之外,它可以为所有人隐藏显示菜单。您正在寻找的权限称为修改视图模板。具有此权限的所有角色都可以更改模板。如果您的工作流管理权限,请仅将其授予管理员
我正在为我的站点使用Plone,当我尝试运行以下命令时,它会出错:
Plone/zinstance$bin/实例fg
回溯(最近一次呼叫最后一次):
File "/Plone/zinstance/parts/instance/bin/interpreter", line 297, in <module>
exec(compile(__file__f.read(), __file__, "exec"))
File "/Plone/buildout-cache/eggs/Zo
我有一个添加到其行为plone.app.event.dx.behaviors.IEventBasic的灵巧内容类型,我有一个文件夹,其中solgema.fullcalendar是显示视图,日历设置下的事件类型是“my.product.myeventtype”。我有自定义的添加和编辑敏捷内容类型的表单
当文件夹显示为默认值时,将显示自定义添加/编辑表单,并按其应有的方式运行。但是,当显示视图为fullcalendar并且我尝试通过日历添加内容时,确实会显示内容类型的表单,但不是自定义表单。我在up
1 2 3 4 5 6 ...
下一页 最后一页 共 20 页