On 09.04.2010 19:14, Alberto Berti wrote:
ISettingsShipmentManager, I must ask, why the same approach on
payment processor configuration (ISettingsPaymentManager) was
abandoned?
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?
Correct, ISettingsXXXManager's are only about generating configuration
panes for plugins. ISettingsPaymentManager is defined next to
ISettingsShipmentManager but, AFAIK, only the latter is used. Although,
there remains a portion of commented out code in
PloneGetpaid/browser/admin.py for the former also.
ISettingsShipmentManager is successfully used at least in getpaid.ups.
Originally, I was wondering, if there exists a working pluggable
configuration viewlet architecture for multiple shipment plugins, why it
was not used also with configuration of payment processors?
should not be an issue anymore. In long term, i think that
GetPaid can start utilizing plone.registry and try to
decrease the amount of GetPaid specific code. This concerns
at least form wizards also.
Is there any consensus on which parts of getpaid should be fully
independent from Plone? I see that the original desing has been to keep
the architecture of getpaid.* fully independent from Plone (or
Products.PloneGetPaid), but since Products.PloneGetPaid is the only
GetPaid implementation, none of the plugins really work without it.
The independent way seems to be storing settings on local persistent
utilities. Let me explore getpaid.ups as an example:
- getpaid.ups provides a local persistent utility called UPSRateService,
which implements IShippingRateService from getpaid.core
- UPSRateService both handles the business logic and stores the settings
- UPSRateService is registered by UPSPlugin, which implements
IPluginManager from getpaid.core and is run on IStoreInstalledEvent from
getpaid.core (it seems that there originally was plans to have a gui for
installing and uninstalling plugins by other means than listening
IStoreInstalledEvent)
- Finally, getpaid.ups defines UPSSettings browser:viewlet for
ISettingsShipmentManager from Products.PloneGetPaid for
displaying and managing settings using SettingsViewletManager
architecture from Products.PloneGetPaid (I guess, this is the
only part, which makes getpaid.ups dependent on
Products.PloneGetPaid and this can fixed by adding a simple
condition into ZCML-configuration)
Best Regards,
Asko
--
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
To unsubscribe, reply using "remove me" as the subject.