I have been thinking of what else we can/should split out sometime soon to CPAN and it has occurred to me that the interface of the templates could probably be split out (and maybe the mailer too).
Both of these however contain LedgerSMB-specific assumptions and would need to be rewritten to some extent to address these. However with the templates in particular, removing these assumptions would help us get rid of a lot of the CGI assumptions we are currently making. In particular, I am thinking of the automatic output options which I think should be abstracted away or even removed.
A major justification for this is that reporting endpoints for my LedgerSMB API gateway are much harder to implement across a Dancer interface than they should be, because we assume we are operating in a CGI environment.
I would like to do this for the following reasons:
1. I would really like to be able to use the reporting generation in areas outside of a CGI web application, and
2. It would be nice to be able to open up additional formats to third party developers saying "Put it on CPAN and tell people they can install it like so."
I would like to suggest that over the next major version or two I work on refactoring out or abstracting away the LedgerSMB-specific and CGI-specific assumptions to the templating interface, provide a dynamic format registration mechanism, and the like. And then work towards breaking these off once this is complete.
Are there any thoughts on this?
Efficito: Hosted Accounting and ERP. Robust and Flexible. No vendor lock-in.