Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

13 messages Options
Embed this post
Permalink
Andreas Gabriel

Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Hallo,

in unserer Migrations-Teststellung mussten wir nun leider feststellen, dass
Plone bei Umlauten mit den ZMI-Properties nicht mehr zurecht kommt. Ich möchte
gleich vorwegnehmen, dass das Problem, wenn auch etwas anders, bestehen bleibt,
wenn man in den Zope-Root-Properties "management_page_charset = UTF-8" sowie in Plone's
portal_properties "default_charset = UTF-8" (Groß/Kleinschreibung beachten!) setzt. Der
zpublisher (zope.conf) steht ebenfalls auf UTF-8.

Szenario für "default_charset = UTF-8":

Man legt ein Objekt mit Umlauten im Titel in Plone an.

z.B. Titel: Universität

Man wechselt in das ZMI und legt eine String-Property mit Umlauten an.

z.B. street: Biegenstraße 10

Die Folge ist, dass nach dem Abspeichern die Strings falsch en/decodiert
werden, nämlich:

title: Universität
street: Biegenstraße 10

Speichert man das im ZMI nochmals ab, passiert das hier

title: Universität
street: Biegenstraße 10

und so fort ...

Die Beachtung für die Groß/Kleinschreibung von UTF-8 habe ich erwähnt,
da die DTML-Datei "properties.dtml" fürs ZMI nur Großschreibung von "UTF-8"
berücksichtigt. Das genannte Problem ist leider nicht trivial, da einerseits
in Archetypes mit der Property-Definition (_porperties) etwas falsch läuft als
auch die DTML-Datei "properties.dtml" nicht fehlerfrei ist.

Zumindest konnte ich bisher feststellen, dass beim Anlegen eines Objekts in Plone
der Titel als unicode-Objekt anglegt wird. Im ZMI steht aber der angebliche
Objekttyp "string", d.h. beim Abspeichern der Properties im ZMI wird aus
dem Unicode-Objekt ein String-Objekt. Das ist schon mal ziemlich unschön.

...

Jetzt höre ich mal hier auf, um zu erfahren, wer von diesem Problem auch betroffen
ist und vielleicht ein Lösung weiß.

Grüße aus Marburg
Andreas


Zope 2.10.6-final, python 2.4.6, linux2
Archetypes (Installed product Archetypes (1.5.9))
ATContentTypes (Installed product ATContentTypes (1.2.5))
CMFPlone (Installed product CMFPlone (3.1.7))

--
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
ajung

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Am 15.10.09 11:51, schrieb Andreas Gabriel:

> Hallo,
>
> in unserer Migrations-Teststellung mussten wir nun leider feststellen, dass
> Plone bei Umlauten mit den ZMI-Properties nicht mehr zurecht kommt. Ich möchte
> gleich vorwegnehmen, dass das Problem, wenn auch etwas anders, bestehen bleibt,
> wenn man in den Zope-Root-Properties "management_page_charset = UTF-8" sowie in Plone's
> portal_properties "default_charset = UTF-8" (Groß/Kleinschreibung beachten!) setzt. Der
> zpublisher (zope.conf) steht ebenfalls auf UTF-8.
>
> Szenario für "default_charset = UTF-8":
>
> Man legt ein Objekt mit Umlauten im Titel in Plone an.
>
> z.B. Titel: Universität
>
> Man wechselt in das ZMI und legt eine String-Property mit Umlauten an.
>
> z.B. street: Biegenstraße 10
>
> Die Folge ist, dass nach dem Abspeichern die Strings falsch en/decodiert
> werden, nämlich:
>
> title: Universität
> street: Biegenstraße 10
>
> Speichert man das im ZMI nochmals ab, passiert das hier
>
> title: Universität
> street: Biegenstraße 10
>
> und so fort ...
>  
Nunja, was ist der Usecase Plone Metadaten über das ZMI zu pflegen?
Das ZMI und Plone nicht unbedingt kompatibel sind ist bekannt.

> Zumindest konnte ich bisher feststellen, dass beim Anlegen eines Objekts in Plone
> der Titel als unicode-Objekt anglegt wird.
Die Speicherung der Metadaten (StringFields) via AttributeStorage ist
Unicode.
Das ist ja auch korrekt. Beim Zugriff über die Accessormethoden erfolgt
die Konvertierung ins Ausgabe-Encoding (utf-8).

> Im ZMI steht aber der angebliche
> Objekttyp "string", d.h. beim Abspeichern der Properties im ZMI wird aus
> dem Unicode-Objekt ein String-Objekt. Das ist schon mal ziemlich unschön.
>  
Warum ZMI?

Andreas

[lists.vcf]

begin:vcard
fn:Andreas Jung
n:Jung;Andreas
org:ZOPYX Ltd. & Co. KG
adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany
email;internet:[hidden email]
title:CEO
tel;work:+49-7071-793376
tel;fax:+49-7071-7936840
tel;home:+49-7071-793257
x-mozilla-html:FALSE
url:www.zopyx.com
version:2.1
end:vcard





_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Andreas Gabriel

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Andreas Jung schrieb:
> Nunja, was ist der Usecase Plone Metadaten über das ZMI zu pflegen?
Im alten Zope gab es ja keine Adapter. Und damals war es einfacher
simple Erweiterungen, ohne neue Objekt-Typen zu erzeugen, im ZMI
anzulegen.

> Das ZMI und Plone nicht unbedingt kompatibel sind ist bekannt.
Ähnliche Effekte hat man auch ohne Plone, da definitv ZMI's properties.dtml
Unfug treibt. Außerdem benutzt Plone selbst die Properties,
wenn z.B. ein vom Default abweichendes Layout für ein Objekt benutzt wird.

> Das ist ja auch korrekt. Beim Zugriff über die Accessormethoden erfolgt
> die Konvertierung ins Ausgabe-Encoding (utf-8).
>
>> Im ZMI steht aber der angebliche
>> Objekttyp "string", d.h. beim Abspeichern der Properties im ZMI wird aus
>> dem Unicode-Objekt ein String-Objekt. Das ist schon mal ziemlich unschön.
>>  

> Warum ZMI?
Was soll die Frage bedeuten? Ich meine damit nur, dass
ursprünglich korrekterweise Unicode für "title" verwendet
wird

>>> app.myplone.myfolder.title
u'Universit\xe4t'
>>> type(app.myplone.myfolder.title)
<type 'unicode'>

und nach dem Abspeichern im ZMI ein utf-8 kodierter
String für "title"

>>> app.myplone.myfolder.title
'Universit\xc3\xa4t'
>>> type(app.myplone.myfolder.title)
<type 'str'>

Das Wechseln des Objekttyps sollte doch lieber vermieden werden.
Soweit ich erkennen kann, ist es nicht richtig, dass Archetypes
die Variable _properties aus der PropertyManager-Klasse erbt,
wenn Archetypes "title" als unicode abspeichert

   vgl. OFS/PropertyManager.py:

   _properties=({'id':'title', 'type': 'string', 'mode':'wd'},)

Archetypes müsste als type "ustring" verwenden

  _properties=({'id':'title', 'type': 'ustring', 'mode':'wd'},)

In ZMI's properties.dtml müsste dann für das korrekte Abspeichern

 <input name="title:UTF-8:unicode" ...

stehen, wenn man title als Unicode-Objekt erhalten möchte.

Wo ist eigentlich Dokumentiert, dass sich das Coding-Verhalten bei DTML
ändert, je nachdem ob man zuerst Unicode oder String ausgibt?
Bei properties.dtml wird z.B. bei management_page_charset == "UTF-8"
Unicode erzwungen

  <dtml-var "u' '">

Deaktiviert man die Zeile, gibt es wieder andere schöne Effekte.

Danke & Gruß
Andreas

--
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
ajung

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Am 15.10.09 13:51, schrieb Andreas Gabriel:

>
>> Warum ZMI?
>>    
> Was soll die Frage bedeuten? Ich meine damit nur, dass
> ursprünglich korrekterweise Unicode für "title" verwendet
> wird
>
>  
>>>> app.myplone.myfolder.title
>>>>        
> u'Universit\xe4t'
>  
>>>> type(app.myplone.myfolder.title)
>>>>        
> <type 'unicode'>
>
> und nach dem Abspeichern im ZMI ein utf-8 kodierter
> String für "title"
>  
>>>> app.myplone.myfolder.title
>>>>        
> 'Universit\xc3\xa4t'
>  
>>>> type(app.myplone.myfolder.title)
>>>>        
> <type 'str'>
Die Vorgehensweise ist wie gesagt nicht legitim.

Andreas

[lists.vcf]

begin:vcard
fn:Andreas Jung
n:Jung;Andreas
org:ZOPYX Ltd. & Co. KG
adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany
email;internet:[hidden email]
title:CEO
tel;work:+49-7071-793376
tel;fax:+49-7071-7936840
tel;home:+49-7071-793257
x-mozilla-html:FALSE
url:www.zopyx.com
version:2.1
end:vcard





_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Andreas Gabriel

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Andreas Jung schrieb:
> Die Vorgehensweise ist wie gesagt nicht legitim.
*legitim* ist wohl übertrieben, da es sich definitiv um einen Bug
im properties.dtml handelt. Oder ist diese Vorgehensweise irgendwo dokumentiert?
Es ist lediglich nicht empfehlenswert den Reiter "Properties" zu verwenden,
wenn Sonderzeichen in den Properties vorkommen (egal ob man Zope mit oder ohne
Plone verwendet).

Gruß
Andreas


--
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
ajung

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Am 15.10.09 14:14, schrieb Andreas Gabriel:
> Andreas Jung schrieb:
>  
>> Die Vorgehensweise ist wie gesagt nicht legitim.
>>    
> *legitim* ist wohl übertrieben, da es sich definitiv um einen Bug
> im properties.dtml handelt. Oder ist diese Vorgehensweise irgendwo dokumentiert?
> Es ist lediglich nicht empfehlenswert den Reiter "Properties" zu verwenden,
> wenn Sonderzeichen in den Properties vorkommen (egal ob man Zope mit oder ohne
> Plone verwendet).

Ich bleibe beim nicht legitim. Plone Stammdaten pflegt man nur über das
Plone UI,
denn nur so ist gewährleistet, dass die Daten mit den korrekten
Mutator/Accessor
Methoden geändert und angezeigt werden. Wenn Du das ZMI verwendest, dann
arbeitest
Du an Plone vorbei.

Andreas

[lists.vcf]

begin:vcard
fn:Andreas Jung
n:Jung;Andreas
org:ZOPYX Ltd. & Co. KG
adr;quoted-printable:;;Charlottenstr. 37/1;T=C3=BCbingen;;72070;Germany
email;internet:[hidden email]
title:CEO
tel;work:+49-7071-793376
tel;fax:+49-7071-7936840
tel;home:+49-7071-793257
x-mozilla-html:FALSE
url:www.zopyx.com
version:2.1
end:vcard





_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Jens W. klein-2

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
In reply to this post by Andreas Gabriel
Hi,

abgesehen davon, dass ich Andreas Jung recht gebe, dass das Vorgehen
nicht legitim ist, so ist es immerhin möglich so vorzugehen.

Und das Problem ist bekannt, und das schon seit Archetypes Urzeiten.
Archetypes nimmt halt beim Verspeichern Unicode. In dem Fall wird von
Archetypes das simple AttributeStorage verwendet. d.h. hier ist der
Storage-Name gleich dem Fieldnamen. damit wird das Attribut 'title' auf
dem Content-Typen gespeichert. Und OFS.PropertyManager.setProperty macht
auch genau das. Änderst Du das Storage vom title Field, so zerschlägt
sich das Problem auch wieder. Z.B. mit einem AnnotationStorage für den
title, was durchaus geht, kannst Du im ZMI soviel ändern wie Du willst.
Dein Content-Type zeigt das deswegen nicht an. Und das ist legitim. Und
weil das legitim ist, ist es nicht legitim das ZMI zum Ändern vom title
zu nehmen.

Am Donnerstag, den 15.10.2009, 13:51 +0200 schrieb Andreas Gabriel:
[...]

> Das Wechseln des Objekttyps sollte doch lieber vermieden werden.
> Soweit ich erkennen kann, ist es nicht richtig, dass Archetypes
> die Variable _properties aus der PropertyManager-Klasse erbt,
> wenn Archetypes "title" als unicode abspeichert
>
>    vgl. OFS/PropertyManager.py:
>
>    _properties=({'id':'title', 'type': 'string', 'mode':'wd'},)
>
> Archetypes müsste als type "ustring" verwenden
>
>   _properties=({'id':'title', 'type': 'ustring', 'mode':'wd'},)
Hast Du das Mal gepatched und probiert ob es dann funktioniert?

>
> In ZMI's properties.dtml müsste dann für das korrekte Abspeichern
>
>  <input name="title:UTF-8:unicode" ...
>
> stehen, wenn man title als Unicode-Objekt erhalten möchte.

Da müsste man dann ein Archtypes spezifisches properties.dtml zur
Verfügung stellen füer alle AT-basierten Types.

> Wo ist eigentlich Dokumentiert, dass sich das Coding-Verhalten bei DTML
> ändert, je nachdem ob man zuerst Unicode oder String ausgibt?
> Bei properties.dtml wird z.B. bei management_page_charset == "UTF-8"
> Unicode erzwungen
>
>   <dtml-var "u' '">
>
> Deaktiviert man die Zeile, gibt es wieder andere schöne Effekte.

Ist DTML nicht irgendwie recht tot? Ich würde das Form als ZPT nachbauen
und bei allen Archetypes anstelle dem Original properties.dtml
registrieren. Ich würde wenn mir das wichtig wäre. Und ich würde auch
den OFS.PropertyManager überschreiben und an das field delegieren. Aber
mir ist das ehrlich gesagt nicht wichtig.

Ich bitte dich, wenn es Dir wichtig ist, das Problem a) zu Melden (auf
http://dev.plone.org/plone anmelden und ein neues Ticket erstellen) mit
ausführlicher Beschreibung des Problems. b) einen Test (z.b. Browsertest
eignet sich gut) zu schreiben, der das Problem reproduziert c) wenn
möglich einen Bugfix beizulegen. Wenn Du technisch b) oder c)  nicht
produzieren kannst bleibe bei a). Ich kann aber aus Erfahrung sagen,
dass dieser Bug nicht zwingend so hoch priorisiert sein wird, dass er
auch gelöst wird, wenn Du nur a) lieferst. Man kann mit dem Problem
Leben und einfach das Vorgehen als nicht-legitim dokumentieren.

Vielleicht ist es sowieso am einfachsten, das properties.dtml zu
ersetzen durch eines, bei dem die Properties, die einem field
entsprechen einfach ausgegraut werden (read-only, no-submit). Damit wird
das nicht-legitime Vorgehen einfach unmöglich gemacht.

lg Jens
--
Jens W. Klein
Software Architect
Managing Director, General Partner
+43 512 890077

Klein & Partner KEG          WEB APPLICATIONS,  ZOPE,  PLONE, HOSTING
BlueDynamics Alliance        production: concept, development, design
http://bluedynamics.com      consulting: analysis, coaching, training
http://zoplo.com             management: projects, process, community






_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Andreas Gabriel

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Hi,

Jens W. Klein schrieb:
> auch genau das. Änderst Du das Storage vom title Field, so zerschlägt
> sich das Problem auch wieder. Z.B. mit einem AnnotationStorage für den
> title, was durchaus geht, kannst Du im ZMI soviel ändern wie Du willst.
> Dein Content-Type zeigt das deswegen nicht an. Und das ist legitim. Und
> weil das legitim ist, ist es nicht legitim das ZMI zum Ändern vom title
> zu nehmen.

OK, das ist mir auch gerade klar geworden, dass es sich hier um zwei
Probleme handelt:

     1. Encoding/Decoding der Properties im ZMI generell
     2. Überschreiben des im Schema definierten Fieldstorage von "Title"


>> Archetypes müsste als type "ustring" verwenden
>>
>>   _properties=({'id':'title', 'type': 'ustring', 'mode':'wd'},)
>
> Hast Du das Mal gepatched und probiert ob es dann funktioniert?

Nein, keine Patch. Aber ich habe zum Testen im DTML-File erzwungen,
dass getProperty Strings immer als Unicode zurückliefert und für
den Upload den Originaltyp inkl. charset verwendet. Dann scheinen
zumindest die Encoding-Probleme zu verschwinden.

> Ist DTML nicht irgendwie recht tot? Ich würde das Form als ZPT nachbauen

Das müsste man ausprobieren.

> Vielleicht ist es sowieso am einfachsten, das properties.dtml zu
> ersetzen durch eines, bei dem die Properties, die einem field
> entsprechen einfach ausgegraut werden (read-only, no-submit). Damit wird
> das nicht-legitime Vorgehen einfach unmöglich gemacht.

Das erwäge ich momentan auch. Dann kann man auch nicht mehr versehentlich
im ZMI Archetypes-Fields überschreiben.


Gibt es vielleicht ein Produkt/Adapter, mit dem man in Plone ähnlich
flexibel zusätzliche Metadaten anfügen kann? Dann könnte ich ganz auf
die Properties verzichten.

Ciao
Andreas





--
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
ajung

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink





Am 15.10.2009 um 18:08 schrieb Andreas Gabriel <[hidden email]
 >:
> .
>
>
> Gibt es vielleicht ein Produkt/Adapter, mit dem man in Plone ähnlich
> flexibel zusätzliche Metadaten anfügen kann? Dann könnte ich ganz a
> uf
> die Properties verzichten.
>

archetypes.schemaextender

Andreas


_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Andreas Gabriel

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
In reply to this post by Jens W. klein-2
Hi,

Jens W. Klein schrieb:
> Ist DTML nicht irgendwie recht tot? Ich würde das Form als ZPT nachbauen
> und bei allen Archetypes anstelle dem Original properties.dtml
> registrieren. Ich würde wenn mir das wichtig wäre. Und ich würde auch
> den OFS.PropertyManager überschreiben und an das field delegieren. Aber
> mir ist das ehrlich gesagt nicht wichtig.

Ich habe jetzt das properties.dtml nach zpt portiert. Die Encoding-Problem
hat sich damit zum Glück erledigt. Besteht eigentlich Interesse hierfür
Branch für Zope aufzmachen und dem OFS.PropertyManager dieses neues Template zu
verpassen (Frage insb. -> Andreas Jung)?

Des Weiteren habe den Archetypes (BaseFolder, BaseContent) nicht mit den
ZMI-Properties zu interferieren. Atrribute, die im Archetype-Schema definiert
sind, können nicht mehr überschrieben oder gelöscht werden. Den Patch werde
ich demnächst bei den Archetypes-Entwicklern einreichen.

Ciao
Andreas

--
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Jens W. klein-2

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Am Montag, den 19.10.2009, 14:46 +0200 schrieb Andreas Gabriel:

>
> Ich habe jetzt das properties.dtml nach zpt portiert. Die Encoding-Problem
> hat sich damit zum Glück erledigt. Besteht eigentlich Interesse hierfür
> Branch für Zope aufzmachen und dem OFS.PropertyManager dieses neues Template zu
> verpassen (Frage insb. -> Andreas Jung)?
>
> Des Weiteren habe den Archetypes (BaseFolder, BaseContent) nicht mit den
> ZMI-Properties zu interferieren. Atrribute, die im Archetype-Schema definiert
> sind, können nicht mehr überschrieben oder gelöscht werden. Den Patch werde
> ich demnächst bei den Archetypes-Entwicklern einreichen.
Hört sich sinnvoll an. Damit wäre die die Problematik vom Tisch und im
ZMI keine Fuscherei mehr an AttributeStorages möglich. Ich denke, wenn
ich noch Release-Manager von Archetypes wäre, wäre ich geneigt diesen
Patch für Plone 4 aufzunehmen. Bin ich aber nicht mehr. Aber Eric bzw
Hanno bzw Daniel werden sich dem annehmen!

lg Jens
--
Jens W. Klein
Software Architect
Managing Director, General Partner
+43 512 890077

Klein & Partner KEG          WEB APPLICATIONS,  ZOPE,  PLONE, HOSTING
BlueDynamics Alliance        production: concept, development, design
http://bluedynamics.com      consulting: analysis, coaching, training
http://zoplo.com             management: projects, process, community






_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Andreas Gabriel

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Hi,

jetzt wollte ich mein schönes properties.zpt in PropertyManager.py
einbinden. Leider funktioniert schon alleine der Import

  from Products.PageTemplates.PageTemplateFile import PageTemplateFile

in OFS/PropertyManager.py nicht.

Unterliege ich einem Henne/Ei-Problem und wie löse ich das?

Gruß
Andreas


Traceback (most recent call last):
  File "/home/buildout/myplone/parts/zope2/lib/python/Zope2/Startup/run.py", line 56, in ?
    run()
  File "/home/buildout/myplone/parts/zope2/lib/python/Zope2/Startup/run.py", line 21, in run
    starter.prepare()
  File "/home/buildout/myplone/parts/zope2/lib/python/Zope2/Startup/__init__.py", line 102, in prepare
    self.startZope()
  File "/home/buildout/myplone/parts/zope2/lib/python/Zope2/Startup/__init__.py", line 278, in startZope
    Zope2.startup()
  File "/home/buildout/myplone/parts/zope2/lib/python/Zope2/__init__.py", line 46, in startup
    from Zope2.App.startup import startup as _startup
  File "/home/buildout/myplone/parts/zope2/lib/python/Zope2/App/startup.py", line 32, in ?
    import OFS.Application
  File "/home/buildout/myplone/parts/zope2/lib/python/OFS/Application.py", line 24, in ?
    import Globals, Products, App.Product, App.ProductRegistry
  File "/home/buildout/myplone/parts/zope2/lib/python/App/Product.py", line 43, in ?
    import Globals, OFS.Folder, OFS.SimpleItem,  Acquisition, Products
  File "/home/buildout/myplone/parts/zope2/lib/python/OFS/Folder.py", line 31, in ?
    import SimpleItem, ObjectManager, PropertyManager
  File "/home/buildout/myplone/parts/zope2/lib/python/OFS/PropertyManager.py", line 36, in ?
    from Products.PageTemplates.PageTemplateFile import PageTemplateFile
  File "/home/buildout/myplone/parts/zope2/lib/python/Products/PageTemplates/__init__.py", line 27, in ?
    import ZTUtils
  File "/home/buildout/myplone/parts/zope2/lib/python/ZTUtils/__init__.py", line 29, in ?
    from ZTUtils.Zope import Batch, TreeMaker, SimpleTreeMaker, LazyFilter
  File "/home/buildout/myplone/parts/zope2/lib/python/ZTUtils/Zope.py", line 21, in ?
    from Products.ZCatalog.Lazy import Lazy
  File "/home/buildout/myplone/parts/zope2/lib/python/Products/ZCatalog/__init__.py", line 16, in ?
    import ZCatalog, CatalogAwareness, CatalogPathAwareness
  File "/home/buildout/myplone/parts/zope2/lib/python/Products/ZCatalog/ZCatalog.py", line 23, in ?
    from OFS.Folder import Folder
ImportError: cannot import name Folder


--
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope
Andreas Gabriel

Re: Plone & ZMI -Properties: Unicode, UTF-8, Encoding-Wirrwarr

Reply Threaded More More options
Print post
Permalink
Andreas Gabriel schrieb:
>   from Products.PageTemplates.PageTemplateFile import PageTemplateFile
>
> in OFS/PropertyManager.py nicht.
>
> Unterliege ich einem Henne/Ei-Problem und wie löse ich das?

Es liegt tatsächlich an einem "circular import". Hmm!

In  Products/PageTemplates/PageTemplateFile/__init__.py

wird

[snip]
# import ZTUtils in order to make i importable through
# ZopeGuards.load_module() where an importable modules must be
# available in sys.modules
import ZTUtils
[snip]

aufgerufen, das zu genanntem Fehler führt.
Würde es nicht reichen ZTUtils innerhalb von initialize aufzurufen?

z.B.

[snip]

def initialize(context):
    import ZTUtils
    # Import lazily, and defer initialization to the module
    import ZopePageTemplate
    ZopePageTemplate.initialize(context)

[snip]

Danke & Gruß
Andreas




--
Dr. Andreas Gabriel, Hochschulrechenzentrum, http://www.uni-marburg.de/hrz
Hans-Meerwein-Str., 35032 Marburg,  fon +49 (0)6421 28-23560  fax 28-26994
-------------------- Philipps-Universitaet Marburg -----------------------



_______________________________________________
zope mailing list
[hidden email]
https://mail.dzug.org/mailman/listinfo/zope