I wrote a blog entry about Poi, intelligenttext and Plone 2.5/3.0:
http://maurits.vanrees.org/weblog/archive/2007/06/poi-intelligenttext-and-plone-3
My conclusion was:
* On Plone 2.1 or 2.5:
- For a Poi version without sudden changes that would require a
reinstall or a schema update: use branches/1.0 from bundles/10.
- For recent improvements: use trunk from bundles/trunk.
* On Plone 3.0: use branches/plone3-support from bundles/plone3.
I still stand by those conclusions. A fresh 2.1/2.5/3.0 with the
right bundle works fine.
But my problem now is: how do you migrate from 2.5 to 3.0? Depending
on how I go about doing that (uninstalling Poi and intelligenttext,
then upgrading for example) I run into errors like:
====================================
2007-06-14 12:02:14 ERROR ATCT.migration Failed migration for object /poi/issues/1 (PoiIssue -> __dummy__)
Traceback (most recent call last):
(...)
File "/home/maurits/instances/xm30/Products/MimetypesRegistry/MimeTypesRegistry.py", line 365, in __call__
if not mt.binary and not type(data) is UnicodeType:
File "/opt/zope/zope2.10.3/lib/python/OFS/Uninstalled.py", line 48, in __getattr__
raise AttributeError, escape(name)
AttributeError: binary
====================================
MimeTypeException: Malformed MIME type (<text_web_intelligent at broken>)
====================================
ValueError: Unknown mime type text/x-web-intelligent
====================================
At any rate Poi does not want to be reinstalled, giving one of those
errors.
intelligenttext either does not show up in portal_transforms and
portal_mimetypes or it shows up as broken.
Any ideas?
--
Maurits van Rees | http://maurits.vanrees.org/ [NL]
Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
I can assure you mine are still greater."
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Plone-Users mailing list
Plone...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plone-users
This probably doesn't relate to your problem w/ intelligenttext, but
how much of an idea do you have already of what's different between
those? Is something newer on trunk than on plone3-support? Can
plone3-support go to trunk without breaking 2.1 / 2.5 ? I think XM is
doing OK there, yes?
Of course, trunk is up to Martin, but if he doesn't want
plone3-support on trunk yet, maybe we can work to merge over anything
that is newer than trunk.
Martin?
>
> But my problem now is: how do you migrate from 2.5 to 3.0? Depending
> on how I go about doing that (uninstalling Poi and intelligenttext,
> then upgrading for example) I run into errors like:
>
> ====================================
> 2007-06-14 12:02:14 ERROR ATCT.migration Failed migration for object /poi/issues/1 (PoiIssue -> __dummy__)
> Traceback (most recent call last):
> (...)
> File "/home/maurits/instances/xm30/Products/MimetypesRegistry/MimeTypesRegistry.py", line 365, in __call__
> if not mt.binary and not type(data) is UnicodeType:
> File "/opt/zope/zope2.10.3/lib/python/OFS/Uninstalled.py", line 48, in __getattr__
> raise AttributeError, escape(name)
> AttributeError: binary
> ====================================
>
> MimeTypeException: Malformed MIME type (<text_web_intelligent at broken>)
>
> ====================================
>
> ValueError: Unknown mime type text/x-web-intelligent
>
> ====================================
>
> At any rate Poi does not want to be reinstalled, giving one of those
> errors.
>
> intelligenttext either does not show up in portal_transforms and
> portal_mimetypes or it shows up as broken.
>
Maybe you want to remove the intelligenttext product before upgrading
to Plone3, which will install its' own, slightly different
intelligenttext package, IIRC. Probably worth a shot, on a Data.fs
copy of course. ;d
--
Justin Alan Ryan, Director, VonGogo Foundation
Independent Interactivity Architect, ACM SIGGRAPH
http://www.bitmonk.net/
* : +1-415-226-1199
The plone3-support branch is really just about getting Poi running
with Plone 3.0.
On trunk more stuff is happening, mostly by Daniel Nouri, that is not
on the plone3-support branch.
I think when Plone 3.0 is out of beta, trunk should be copied to
branches/1.1 and the plone3-support branch should be merged into
trunk.
> Maybe you want to remove the intelligenttext product before upgrading
> to Plone3, which will install its' own, slightly different
> intelligenttext package, IIRC. Probably worth a shot, on a Data.fs
> copy of course. ;d
I did that: I uninstalled Poi and intelligenttext in 2.5, cleaned out
the Products dir, put in Plone 3.0 (with
lib/python/plone/intelligenttext) and the Poi 3 bundle (with no
intelligenttext in the Products dir). That still gave some of the
problems I mentioned.
I tried that with a fresh Data.fs with only one Poi tracker and one
issue.
--
Maurits van Rees | http://maurits.vanrees.org/ [NL]
Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
I can assure you mine are still greater."
> > Maybe you want to remove the intelligenttext product before upgrading
> > to Plone3, which will install its' own, slightly different
> > intelligenttext package, IIRC. Probably worth a shot, on a Data.fs
> > copy of course. ;d
>
> I did that: I uninstalled Poi and intelligenttext in 2.5, cleaned out
> the Products dir, put in Plone 3.0 (with
> lib/python/plone/intelligenttext) and the Poi 3 bundle (with no
> intelligenttext in the Products dir). That still gave some of the
> problems I mentioned.
>
> I tried that with a fresh Data.fs with only one Poi tracker and one
> issue.
>
Earlier you said the mt was either broken or missing, can you give
more info about the circumstances in each case?
--
Justin Alan Ryan, Director, VonGogo Foundation
Independent Interactivity Architect, ACM SIGGRAPH
http://www.bitmonk.net/
* : +1-415-226-1199
-------------------------------------------------------------------------
I tried again and kept more rigorous notes. I tried without Poi and
its bundle now, so only default Plone plus intelligenttext.
I will paste my notes below for good measure, but the summary is this:
When you start with a Plone 2.5.3 (tar ball) site and migrate to Plone
3.0 (svn bundle):
- when you do not first uninstall intelligenttext in 2.5, you will get
a broken mimetype and broken transforms.
- when you uninstall intelligenttext first in 2.5, then after
migration you will not have the intelligenttext mimetype or
transforms.
So: migration is not right yet.
But:
- After *migrating* to Plone 3.0 you can actually still keep
Products/intelligenttext and then everything seems fine.
- If you start with a *fresh* Plone 3.0 you cannot have
Products/intelligenttext and install it or you will get an error:
BadRequest: The id "web_intelligent_plain_text_to_html" is invalid
- it is already in use.
So: if you start with Plone 2.5 and migrate you *must* have
Products/intelligenttext and if you start with Plone 3.0 you *cannot*
have Products/intelligenttext. The difference is strange. It boils
down to a migration issue I think.
My understanding of the situation:
- Products/intelligenttext (the collective product) is set to be
phased out: after Plone 2.5 it should no longer be used.
- lib/python/plone/intelligenttext (the product in core plone) is the
preferred way to use intelligenttext from Plone 3.0 onwards.
Question: is this indeed the wish of the intelligenttext authors?
If yes, then: how do you migrate from 2.5 to 3.0 and use the new
intelligenttext from the lib/python dir only?
For the record, here are my notes.
Plone 2.5
---------
- Create a fresh Zope 2.9.7 instance
- Add Plone 2.5.3 in the Products dir
- Add intelligenttext to the Products dir:
https://svn.plone.org/svn/collective/intelligenttext/trunk
- Start Zope, create a Plone site
- Neither mimetypes_registry nor portal_transforms have
intelligenttext
- Install intelligenttext with the QuickInstaller. The log says:
Installing text/web-intelligent mimetype and transform
Registered mimetype text/x-web-intelligent
Registered transform web_intelligent_plain_text_to_html
Registered transform html_to_web_intelligent_plain_text
- mimetypes_registry has text/x-web-intelligent
- portal_transforms has:
html_to_web_intelligent_plain_text
web_intelligent_plain_text_to_html
- If you feel like trying all of this yourself, now would be a good
time to make a backup of your Data.fs, as you may want to explore
some alternatives routes from this point on.
Plone 3.0
---------
- Create a fresh Zope 2.10.3 instance
- Add Plone 3.0 to the Products/ and lib/python/ dirs.
- Make sure there is no Products/intelligenttext.
- Start Zope, create a Plone site
- mimetypes_registry has text/x-web-intelligent
- portal_transforms has:
html_to_web_intelligent_plain_text
web_intelligent_plain_text_to_html
- That is how we want it.
Migration A.
------------
- Create a fresh Zope 2.10.3 instance
- Add Plone 3.0 to the Products/ and lib/python/ dirs.
- Make sure there is no Products/intelligenttext.
- Add the database from the Plone 2.5 site you made earlier.
- portal_quickinstaller does not list intelligenttext on the Install
tab, though it does mention it on the Contents tab.
- portal_transforms lists the two intelligenttext transforms as
BROKEN. When you click on them you get:
...
Module Products.PortalTransforms.Transform, line 202, in get_parameters
AttributeError: _v_transform
- When you try to look at mimetypes_registry, you get an error:
Module Products.MimetypesRegistry.MimeTypesRegistry, line 218, in lookup
- __traceback_info__: ("'<text_web_intelligent at broken>'", '<text_web_intelligent at broken>')
Module Products.MimetypesRegistry.MimeTypesRegistry, line 449, in split
MimeTypeException: Malformed MIME type (<text_web_intelligent at broken>)
- Go to portal_migration, the Migrate tab, select
"2.5.3 (svn/unreleased)" as your current version (the upgrade from
'2.5.3 final' fails) and do the migration.
- portal_transforms still lists the intelligenttext transforms as
BROKEN.
- mimetypes_registry still gives the same error.
Migration B.
------------
- Start with Plone 2.5 and the Data.fs with intelligenttext still
installed.
- Go the the quick_installer and uninstall intelligenttext.
- Observe that mimetypes_registry and portal_transforms do not list
intelligenttext anymore.
- Switch to Zope 2.10.3 and Plone 3.0 like above.
- Run the portal_migration.
- Observe that mimetypes_registry and portal_transforms still do not
list intelligenttext, so migration has failed to add this.
- At least there are no errors, which is good.
Migration C.
------------
- Start with Zope 2.10, Plone 3.
- Add Data.fs with intelligenttext still installed from 2.5
- Add Products/intelligenttext
- Observe that mimetypes_registry and portal_transforms list
intelligenttext correctly.
- Try to uninstall (or reinstall) intelligenttext. You get an error:
...
Module zope.component._api, line 207, in getUtility
ComponentLookupError: (<InterfaceClass Products.CMFCore.interfaces._content.ISiteRoot>, '')
- Okay, do the portal_migration first.
- Uninstall intelligenttext.
- Now the intelligenttext transforms and mimetype are of course not
available.
- In portal_setup on the Properties tab select 'Plone Site' and on the
Import tab run 'import all steps'. This does not add the transforms
or the mimetype.
- Ask yourself how you are going to register
lib/python/plone/intelligenttext
--
Maurits van Rees | http://maurits.vanrees.org/ [NL]
Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
I can assure you mine are still greater."
Relevantly filed at http://dev.plone.org/plone/ticket/6684 :)
--
Maurits van Rees | http://maurits.vanrees.org/ [NL]
Work | http://zestsoftware.nl/
"Do not worry about your difficulties in computers,
I can assure you mine are still greater."