Asko> Of course, this is a bit theoretical questions, since there is
    Asko> not many shipping plugins available. But since I spent my
    Asko> afternoon trying to understand how getpaid.ups installs its
    Asko> using getpaid.core's IPluginManager and makes its
    Asko> configuration available using PloneGetPaid's
    Asko> ISettingsShipmentManager, I must ask, why the same approach on
    Asko> payment processor configuration (ISettingsPaymentManager) was
    Asko> abandoned?

    Mikko> Because when I asked fellow Plone developers how settings
    Mikko> should be done they told me to stick with portal_properties
    Mikko> until plone.registry is complete. I really didn't understand
    Mikko> ISettingsPaymentManager by the time and thus I steered away
    Mikko> with it, trying to stick something more understandable.

I don't get the point of ISettingsPaymentManager, it seems like a marker
interface and derives from IViewletManager, so this suggests to me that
it was intented to be used to organize visual aspects of settings that
belongs to payments? It's declared in Products.PloneGetPaid.interfaces
and isn't used anywhere else in PloneGetPaid. Is there any other
products which uses it?

    Mikko> Storing settings as annotations in the site root is bad
    Mikko> because the settings are "invisible" - i.e. the user has no
    Mikko> way to access, except magically guess Python code in Zope
    Mikko> debug shell, if things go borked.

Using utilities seems equally obscure to me, in zope2.... but i must say
it has been some time since my last zope2 project so maybe i' missing
something.

    Mikko> I believe Alberto rewrote this bit for Plone 4 branch so it
    Mikko> should not be an issue anymore. In long term, i think that
    Mikko> GetPaid can start utilizing plone.registry and try to
    Mikko> decrease the amount of GetPaid specific code. This concerns
    Mikko> at least form wizards also.

I have simply moved the enabled_processors field out of
portal_properties and added it to IGetPaidManagementPaymentOptions along
with other payments setting fields (allow_anonymous_checkout,
use_ssl_for_checkout, accepted_credit_cards). Sadly, this means that now
enabled_processors is indeed stored in an annotation, but it's at least
stored the same way as other settings. Anyway, I can refactor all that
to use a persistent utility, it this is the preferred taste.

azazel

-- 
GetPaid for Plone: http://www.plonegetpaid.com (overview info) | 
http://code.google.com/p/getpaid (code and issue tracker)
You received this message because you are subscribed to the Google Groups 
"getpaid-dev" group.
To post to this group, send email to getpaid-dev@googlegroups.com
To unsubscribe from this group, send email to 
getpaid-dev+unsubscr...@googlegroups.com

For more options, visit this group at
http://groups.google.com/group/getpaid-dev?hl=en?hl=en

Reply via email to