标签: zope

移动(非常古老)Zope/Plone站点到Django

我要求将数据从Plone驱动的(现在离线)站点移动到新的Django站点.

这些是我的版本信息:

Zope版本(未发行版本,python 2.1.3)

Python Version 2.1.3(#1,Sep 19 2002,13:15:46)[GCC egcs-2.91.66 19990314/Linux(egcs-1.1.2发布)]

CMFPlone(已安装产品CMFPlone(1.0.1))2003-04-11 01:17

此外,我有完整的Data.fs和几个导出到xml/zexp的Plone文件夹

什么是好的策略?

如何访问六年前的ZODB?

django zope plone

2
推荐指数
1
解决办法
845
查看次数

Plone版本控制,怎么样?

我正试图进入Python,更具体地说,是Zope和Plone.我读过"专业Plone开发"一书,其中一件事就是必须使用版本控制.但是这本书没有进一步扩展这个主题.这导致两个问题.

第一:SVN还是git?(我的研究指向git,如果只是为了学习它.到目前为止我只使用过SVN.)

第二:版本控制应该处理哪些文件?设置和我自己的代码?整个Zope目录?肯定不是data.fs吗?不是.pyc文件,我很确定.这些天我因为这个原因从Plone休息了一段时间,我找不到一个好的指南.简而言之,到目前为止,当我在本地PC和我的Web服务器之间同步数据时,事情就破裂了.厉害.而且我不确定为什么.缺少某些更新,或者某些特定于平台的文件已更新.我的家用电脑是64位Ubuntu,我的远程网络服务器是32位RHEL.感觉像是一团糟,就像这样一个危险的混乱,我有点担心回到它附近.

有没有办法知道版本控制系统应该处理哪些文件,哪些不应该?

谢谢.

python version-control zope plone

2
推荐指数
1
解决办法
761
查看次数

对象不实现IField

我有以下代码片段来修补文件夹:

ATFolderSchema = ATContentTypeSchema.copy() + \
    ConstrainTypesMixinSchema.copy() + NextPreviousAwareSchema.copy()
finalizeATCTSchema(ATFolderSchema, folderish=True, moveDiscussion=False)

field =  StringField("rafal_shortdescription",
            schemata = "default",
            widget = StringWidget(
                label = _(u"label_shortdescription",
                    default=u"Short Description"),
                description = _(u"help_shortdescription",
                    default=u"Used in tabs."),
                ),
            ),

ATFolderSchema.addField(field)   
Run Code Online (Sandbox Code Playgroud)

并且最后一行抛出:

 File "/home/rafal/projects/vidensportalen_v2/eggs/Products.Archetypes-1.6.4-py2.6.egg/Products/Archetypes/Schema/__init__.py", line 198, in _validateOnAdd
    raise ValueError, "Object doesn't implement IField: %r" % field
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File "/home/rafal/projects/vidensportalen_v2/parts/instance/etc/site.zcml", line 12.2-12.39
    ZopeXMLConfigurationError: File "/home/rafal/projects/vidensportalen_v2/eggs/Plone-4.0.2-py2.6.egg/Products/CMFPlone/meta.zcml", line 39.4-43.10
    ValueError: Object doesn't implement IField: <Field rafal_shortdescription(string:rw)>
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?

python zope plone archetypes

2
推荐指数
1
解决办法
161
查看次数

如何将无序文件夹迁移到 Plone 中的有序文件夹

我有一个源自 ATBTreeFolder 的文件夹内容类型,它在 plone 4(实际上在 Products.Archetypes 中)将排序设置为“无序”。

如果我继续设置要排序的顺序,这只是一个空字符串,则文件夹会混淆并且不会向我显示文件夹的内容。事实上,我会得到这样的错误:

  File "buildout-cache/eggs/plone.folder-1.0.1-py2.6.egg/plone/folder/default.py", line 130, in getObjectPosition
    raise ValueError('No object with id "%s" exists.' % id)
ValueError: No object with id "someid" exists.
Run Code Online (Sandbox Code Playgroud)

我假设需要运行一些迁移才能在最初无序的文件夹上设置排序,但我在 plone.app.folder 和 plone.folder 中找不到任何可用于这种情况的东西。

python zope plone archetypes

2
推荐指数
1
解决办法
238
查看次数

如何在没有上下文的情况下访问“克隆站点对象”?

我有一个计划的工作(我正在使用apscheduler.schedulerlib),需要访问plone站点对象,但是在这种情况下,我没有上下文。我订阅了IProcessingStart事件,但不幸的是getSite()函数return None

另外,是否有编程方式从Zope Server根目录获取特定的克隆站点?

附加信息:

我有这样的工作:

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
Run Code Online (Sandbox Code Playgroud)

site变量始终None位于APScheduler作业中。并且我们需要有关该站点的信息以正确运行该作业。

我们避免使用公共URL执行,因为用户可以直接执行作业。

zope plone

2
推荐指数
1
解决办法
492
查看次数

Plone/Zope/Z3c-什么会导致publishTraverse"找不到页面?"

我正在尝试获取z3c form.Form来填充其信息,而不是在url中创建get参数,我想使用publishTraverse.

所以这是我的代码的一部分:

my_object_view.py:

class EditMyObject(form.Form):
   fields = field.Fields(IMyObject)
   ignoreContext = False

   myObjectID = None

   def publishTraverse(self, request, name):
       print "Is this firing?"
       if self.myObjectID is None:
           self.myObjectID = name
           return self
       else:
           raise NotFound()

   def updateWidgets(self):
       super(EditMyObject,self).updateWidgets()
       #set id field's mode to hidden

   def getContent(self):

       db_utility = queryUtility(IMyObjectDBUtility, name="myObjectDBUtility")
       return db_utility.session.query(MyObject).filter(MyObject.My_Object_ID==self.myObjectID).one()

   #Button handlers for dealing with form also added

.....
from plone.z3cform.layout import wrap_form
EditMyObjectView = wrap_form(EditMyObject)    
Run Code Online (Sandbox Code Playgroud)

在我的浏览器文件夹中的configure.zcml文件中:

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:five="http://namespaces.zope.org/five"
    xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
    xmlns:zcml="http://namespaces.zope.org/zcml"
    xmlns:browser="http://namespaces.zope.org/browser"
    i18n_domain="my.object">

    <browser:page
        name="myobject-editform"
        for="*"
        permission="zope2.View" …
Run Code Online (Sandbox Code Playgroud)

zope plone z3c.form

2
推荐指数
1
解决办法
121
查看次数

Zope中的Python脚本在外部方法中找不到函数名

我在Plone中获取Python脚本以查找外部方法时遇到问题.鉴于三个不同的对象:

  1. 称为CloneList(Id和函数名称)的外部方法
  2. 使用此成功引用它的DTML文档

    <dtml-var "CloneList(PAGE,ORG,STATUS,CGAP_DATA_HOME,BASE)">
    
    Run Code Online (Sandbox Code Playgroud)
  3. 一个Python脚本,通过这个引用外部方法......

    return CloneList(PAGE,ORG,STATUS,CGAP_DATA_HOME,BASE)
    
    Run Code Online (Sandbox Code Playgroud)

DTML文档工作正常但Python脚本由于某种原因抛出:

Error Value: global name 'CloneList' is not defined
Run Code Online (Sandbox Code Playgroud)

为什么DTML模板可以看到CloneList,但Python脚本不能?

python zope plone dtml

2
推荐指数
1
解决办法
144
查看次数

zope_i18n_compile_mo_files不适用于Zeo配置

我遇到了buildout配置的"本地翻译"覆盖问题.我想使用额外的conf参数"zope_i18n_compile_mo_files"覆盖plone的一些标准标签,其中一个文件夹放在buildout的目录中(plone 4.3):"locales/it/LC_MESSAGES/plone.po"在另一个Plone 4.1安装中,它运行良好.这些安装之间的唯一区别是plone版本(4.1对4.3)和架构(独立对比zeo集群).

这是我的构建部分:

[instance-settings]
user = admin:admin
debug-mode = off
verbose-security = off
blob-storage = ${buildout:directory}/var/blobstorage
effective-user = ${config:system-user}
products = ${buildout:directory}/products
eggs =
    ${plone:eggs}
zcml =
    ${plone:zcml}
resources = ${buildout:directory}/resources
environment-vars =
    PTS_LANGUAGES it en
    LANG it_IT.utf8
    TZ Europe/Rome
    zope_i18n_allowed_languages it en
    zope_i18n_compile_mo_files true
Run Code Online (Sandbox Code Playgroud)

有什么问题?

zope plone

2
推荐指数
1
解决办法
144
查看次数

Plone/portal_workflow - 为什么我不能通过zope管理界面向我的工作流添加状态?

我正在制作一个工作流程,从简单发布工作流作为基础开始(复制并粘贴)并将其重命名为my_personal_workflow

id为my_personal_workflow标题为我的个人工作流程

在我的州,我添加了一个名为draft的状态(title是Draft,id是draft)并将其设置为默认状态,并删除了其他状态.目前我正在尝试添加另一个id为'awaiting_his_approval'的状态,但是当我点击Add时,我收到一条消息,而不是创建状态.

We’re sorry, but there seems to be an error…

Here is the full error message:

Display traceback as text

Traceback (innermost last):

    Module ZPublisher.Publish, line 138, in publish
    Module ZPublisher.mapply, line 72, in mapply
    Module ZPublisher.Publish, line 53, in missing_name
    Module ZPublisher.HTTPResponse, line 741, in badRequestError

BadRequest: <h2>Site Error</h2> 
<p>An error was encountered while publishing this resource. </p>     
<p><strong>Invalid request</strong></p> 
The parameter, <em>ids</em>, was omitted from the request.
<p>Make sure to specify all required parameters, and try …
Run Code Online (Sandbox Code Playgroud)

zope plone plone-4.x

2
推荐指数
1
解决办法
60
查看次数

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

标签 统计

zope ×10

plone ×9

python ×4

archetypes ×2

django ×1

dtml ×1

php ×1

plone-4.x ×1

version-control ×1

z3c.form ×1