[Product-Developers] FCKeditor 2.6.6.3 - bug in global settings
Gilles Lenfant
gilles.lenfant at alterway.fr
Mon Sep 19 20:55:24 UTC 2011
Le 18 sept. 2011 à 16:35, floseries a écrit :
> Hi,
Hi,
>
> I'm using Plone 3.5
Wow, where did you get this version ? Perhaps you mean 3.3.5 ?
>
> Between FCKeditor 2.6.5.2 and 2.6.6.3 source code in utils.py within the
> main directory has changed for method listTypesForInterface()
I have frozen FCKeditor to 2.6.6 on Plone 3.x. Later changes seem to be for the Plone 4 support. It works perfectly for me.
[versions]
Products.FCKeditor = 2.6.6
>
> After admin changes FCKeditors global settings through the configuration
> panel all portal_types for images and flashs as well as some others are
> deleted. The file dialog for browsing the server will stay empty.
> This is a real bug. But it seems that FCKeditor is not longer supported.
In fact, FCKeditor (the javascript part) is an abandonware that has been replaced with CKEditor. There is a Plone binding for CKeditor, but it requires Plone 4.x. There's no project AFAIK for a Plone 3 binding of CKeditor.
In addition there are strange issues using FCKeditor with the latest Firefox, and these issues *will never be fixed*. This is a javascript issue, and not a Plone bindings issue.
The last versions of Products.FCKeditor have been released by Encolpe Degoute, as I can see in the SVN log. Ask him what's the purpose of these changes because there's nothing in the changes log since Products.FCKeditor 2.6.6.
If you're stuck with Plone 3.x, you'd better consider using TinyMCE that doesn't clearly claim having dropped the Plone 3 support.
>
> Maybe someone can give a hint, what should be corrected. Therefore I have
> added the relevant source code of utils.py within the last two versions of
> FCKeditor.
>
> 2.6.5.2:
> 380 # all_types = [{'name': xx, 'package': xx, 'portal_type': xx,
> 'module': xx,
> 381 # 'meta_type': xx, 'klass': xx, ...
> 382 all_types = archetype_tool.listRegisteredTypes(inProject=True)
> 383 # Keep the ones that are file like
> 384 all_types = [tipe['portal_type'] for tipe in all_types
> 385 if interface.isImplementedByInstancesOf(tipe['klass'])]
> 386 # Keep allowed ones
> 387 # removed some types can be allowed in some context
> 388 # all_types = [tipe for tipe in all_types
> 389 # if getattr(portal_types, tipe).globalAllow()]
> 390 return [infoDictForType(tipe, portal_types, utranslate) for tipe in
> all_types]
>
> 2.6.6.3:
> 384 # all_types = [{'name': xx, 'package': xx, 'portal_type': xx,
> 'module': xx,
> 385 # 'meta_type': xx, 'klass': xx, ...
> 386 all_types = archetype_tool.listRegisteredTypes()
> 387 # Keep the ones that are file like
> 388 if PLONE_VERSION == 3:
> 389 all_types = set([tipe['portal_type'] for tipe in all_types
> 390 if interface.isImplementedBy(tipe['klass'])])
> 391 else:
> 392 all_types = set([tipe['portal_type'] for tipe in all_types
> 393 if interface.implementedBy(tipe['klass'])])
> 394 # Keep allowed ones
> 395 # removed some types can be allowed in some context
> 396 # all_types = [tipe for tipe in all_types
> 397 # if getattr(portal_types, tipe).globalAllow()]
> 398 return [infoDictForType(tipe, portal_types, utranslate) for tipe in
> all_types if hasattr(portal_types, tipe)]
>
> Interface methods will be found in Zope 2.
> isImplementedBy is requesting a parameter of type object and not klass.
> If I use the code of version 2.6.5.2 list of all_types is filled. With
> 2.6.6.3 it's an empty list.
>
>
>
>
> -----
> Regards
>
> Fritz Loseries
> --
> View this message in context: http://plone.293351.n2.nabble.com/FCKeditor-2-6-6-3-bug-in-global-settings-tp6805867p6805867.html
> Sent from the Product Developers mailing list archive at Nabble.com.
> _______________________________________________
> Product-Developers mailing list
> Product-Developers at lists.plone.org
> https://lists.plone.org/mailman/listinfo/plone-product-developers
More information about the Product-Developers
mailing list