标签: plone

ZCML allowed_attributes在five.grok中对应的方法

有没有办法在grok.CodeView类中标记可遍历的方法,就像使用Zope 3 BrowserView和allowed_attributesZCML配置指令一样?

我找到了文档,grok.traversable()但看起来这样的方法在五个grok包中不存在.

zope plone grok

63
推荐指数
1
解决办法
802
查看次数

禁用TinyMCE绝对到相对URL转换

任何人都可以告诉我如何让TinyMCE停止将我的URL转换为Plone中的相关链接?

例如,如果我在HTML源代码中输入:

<img src="/images/dir/subdir/my_image.png" />
Run Code Online (Sandbox Code Playgroud)

它会将其转换为:

<img src="../../../my_image.png" />
Run Code Online (Sandbox Code Playgroud)

我编辑了tiny_mce.js(在portal_skins中)来设置:

convert_urls:false,
relative_urls:false,
Run Code Online (Sandbox Code Playgroud)

但没有效果.我在这里阅读了所有类似的帖子,但没有人真正回答这个问题.

如果用户通过浏览文件系统(即目录)来选择图像,那么它就可以了.我只是想让它尊重我在html框中键入的内容...这样我就可以选择强制一个绝对路径,如果我认为合适的话.这是kupu的标准行为.

有任何想法吗?

tinymce plone

33
推荐指数
2
解决办法
2万
查看次数

如何从基类获取派生类名

我有一个基类Person和派生类ManagerEmployee.现在,我想知道的是创建的对象是Manager或者Employee.

该人的具体如下:

from Project.CMFCore.utils import getToolByName
schema = getattr(Person, 'schema', Schema(())).copy() + Schema((TextField('FirstName', required = True, widget = StringWidget(label='First Name', i18n_domain='project')), TextField('Last Name', required = True, widget = StringWidget(label='Last Name', i18n_domain='i5', label_msgid='label_pub_city'))
class Manager(BaseContent):
  def get_name(self):
    catalog = getToolByName(self, "portal_catalog")
      people = catalog(portal_type='Person')
      person={}
      for object in people:
        fname = object.firstName
        lname = object.lastName
        person['name'] = fname+' '+ lname
        # if the derived class is Employee then i would like …
Run Code Online (Sandbox Code Playgroud)

python plone base-class derived-class

33
推荐指数
4
解决办法
2万
查看次数

转储所有活动线程的堆栈跟踪

我正在尝试转储所有活动线程的列表,包括每个线程的当前堆栈.我可以使用threading.enumerate()获取所有线程的列表,但我无法找到从那里到达堆栈的方法.

背景:一个Zope/Plone应用程序不时出现问题,消耗100%的CPU并需要重新启动.我感觉这是一个没有正确终止的循环,但我无法在test-environemt中重现它以进行验证.我设法注册一个可以从外部触发的信号处理程序,所以我可以在情况再次发生时立即触发一些代码.如果我可以为所有活动线程转储堆栈跟踪,这将给我一个问题的线索.洞的东西在python 2.4上运行......

关于如何追踪这些情况的任何想法都值得赞赏:)

干杯,克里斯

python multithreading zope plone

31
推荐指数
4
解决办法
2万
查看次数

可以将Plone搜索配置为查看portlet内容吗?

我刚刚意识到,在向新网站添加大约一百万个静态文本portlet之后,Plone搜索没有"看到"portlet中的内容.无论如何它还可以配置为访问该内容吗?

测试示例,在开发中的CA&ES站点上搜索"Gwynn":

但是,"Gwynn"显示在此页面上的portlet中.

我能想到的唯一其他解决方案是使用"内容portlet",并将所有这些"静态文本"portlet切换到页面...虽然不太理想,因为搜索结果会拉出"内容页面"而不是实际显示portlet的页面.

本网站在Plone 4.3上运行.

portlet plone plone-4.x

28
推荐指数
1
解决办法
252
查看次数

Plone是否做得足以跟上其他CMS?

我以Drupal为生,我喜欢这个系统.然而,我一直对Plone很感兴趣,并且想要广泛了解我对CMSes的广泛了解.我过去和Plone一起玩过,被它迷住了并且被它击退 - 取决于当天.

但是,我再次看到Plone的优点

  • Python甜蜜的Python
  • 建立在战斗硬化和超级成熟的 Zope 2 之上
  • Zope 3风格现在也可以在Zope 2中使用,因此也可以在Plone中使用
  • 对象而不是SQL
  • 真正分离配置和内容(与Drupal不同,配置和内容完全混合在数据库中)
  • 非常强大的系统来制作自定义内容类型(遗憾的是不能通过UI)

然而令我感到惊讶的是,我找不到任何与观点相同的内容(http://drupal.org/project/views),而且分类法(即分类)不是一等公民.每个Plone产品似乎都采用自己的分类法.总而言之,虽然我喜欢它的极端和理想主义的方法,但总是让我感到震惊的是,一切都很难在其中完成.

我一直希望Plone能够成功,并且每隔几个月就会探索它的RSS源,但却只会沮丧.

我以为我会测试Plone 4. Plone 4中的新功能列表对我来说完全没什么吸引力(http://plone.org/products/plone/features).

Drupal 7新功能(http://drupalcode.org/viewvc/drupal/drupal/CHANGELOG.txt?revision=1.373&view=markup)和Wordpress 3(http://codex.wordpress.org/Version_3.0)似乎他们在新的主要版本中做了更多.

此外,通过Dexterity替换Archetypes(http://plone.org/products/dexterity/documentation/faq/how-is-dexterity-related-to-archetypes/view)也是向前迈出的一大步.因此,虽然Plone 4本身可能比3.x有所改进,但它是否足以让Plone在其他CMS中进行推算?

这让我想到了我的问题:

Plone是否会稳步下滑?Plone的未来是什么?我的评估是错误的,Plone没有按照其他顶级CMS的速度添加功能和功能吗?

这篇http://www.google.com/trends?q=plone似乎证实了我的担忧.

我应该试试Plone 4并将其作为我的"第二"CMS吗?

wordpress joomla drupal plone content-management-system

21
推荐指数
1
解决办法
3825
查看次数

在Python中将unicode文本规范化为文件名等

有没有任何standalonenish解决方案用于将国际unicode文本规范化为Python中的安全ID和文件名?

例如,转My International Text: åäömy-international-text-aao

plone.i18n做很好的工作,但不幸的是它取决于zope.securityzope.publisher和其他一些包使得它十分脆弱的依赖.

plone.i18n适用的一些操作

python unicode plone normalization unicode-normalization

20
推荐指数
1
解决办法
6303
查看次数

你如何通过生活在许多不同目录中的代码?

我正在研究一种大量使用鸡蛋的Python程序(Plone).这意味着有198个目录充满了我可能想要在调试时搜索的Python代码.有没有一种很好的方法只搜索那些目录中的.py文件,避免不相关的代码和大型二进制文件?

python grep zope plone

18
推荐指数
4
解决办法
9096
查看次数

对于生产Plone实例,cron自动化ZODB包的建议方法是什么?

看plone.org找到一种方法来定期打包我的实例的ZODB我只能找到http://plone.org/documentation/faq/how-do-i-pack-the-zodb,而不是谈论自动化包,但只是手动启动的.

我知道我可以使用wget或curl模拟手动包,但我想知道这是否是生产网站使用的最佳实践.

cron zope plone pack zodb

17
推荐指数
3
解决办法
2765
查看次数

使用git进行包含许多repos的项目

Plone项目包含192个不同的回购:https://github.com/plone/

在开发过程中,有时需要触摸2或4或10个不同的回购来修复错误或实现功能.这将是巨大的,如果这一切都可以一起分支和合并在一起(如拉要求关闭issueX含有承诺repo1,repo2repo3).

版本要求将整个回购集合分支并标记在一起.

Pre-git,一个版本是由一个文件定义的,该文件列出了构成该版本的所有模块的svn版本号.git是否为我们提供了更简化的工作方式?

乍一看,似乎"超级项目"可能适用:

您可以更具体地定义项目与超级项目中的标记和分支之间的关系

http://progit.org/book/ch6-6.html#superprojects"Git /Submodules and Superprojects"似乎证实了这一点,但仍然含糊不清(不解决标签或分支).http://en.wikibooks.org/wiki/Git/Submodules_and_Superprojects

另一个听起来相关的工具是Joey Hess mr:

mr(1)命令可以在一组存储库上检出,更新或执行其他操作,就好像它们是一个组合存储库一样.

http://kitenet.net/~joey/code/mr/(我担心这会导致192个不同的分支碰巧具有相同的名称,而不是将所有回购链接在一起的1个分支.)

这个问题看起来很相关:有人真的使用git super/subprojects吗?一个答案说明:

我们的项目(bitweaver,一个内容管理系统)是一个高度模块化的系统,有近160个存储库 - http:// github.com/bitweaver/".

这听起来像我们的情况.它引用了子模块的"严重限制",并建议使用mercurial.这听起来mr可以帮助处理那些("对超级仓库中的所有目录执行git命令").

git plone github

16
推荐指数
1
解决办法
1667
查看次数