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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/getpaid-dev?hl=en?hl=en