Adrian, thank you for your work.

What I was writing was actually an extension to Groovy for making it OFBiz 
friendly; now we have a "reusable" (? by other languages) version of it... my 
guess is that you did it because you liked the ideas in it (and I appreciate 
it) and you thought it was useful for other languages as well; and you may be 
right about this even if, as I initially mentioned, I would have preferred to 
complete my work, or at least add a bit more to it, test the DSL with more poc 
and Minilang-->Groovy conversions before crystallizing it into an interface 
(one of the advantages in doing it in Groovy was that I could implement it 
without the need to build/restart the system)... now I have an interface and an 
implementation of it to take care of.
But I don't want to complain (*) and I will review your work closely and see 
what I can do to use it properly in Groovy. This refactoring has introduced a 
series of limitations that I am determined to resolve and it will require some 
more study around Groovy and ideas to cope with them... I really want that, if 
we will ever adopt Groovy as our next language for the applications, it will 
look as perfect and simple and natural and integrated as possible: the natural 
language for OFBiz (like Minilang is now) rather than OFBiz implemented in 
Groovy.

But before I proceed: what is the next step in your plan? What should go in the 
ScriptHelper interface? Am I allowed to enhance it based on my discoveries in 
my poc work (Minilang-->Groovy) or should I consider it a final interface that 
doesn't have to be modified? Should I ask before enhancing it? I don't want to 
hijack your work. And more importantly: can I assume that this helper class 
will stay light and simple? I really don't want to see it transformed into a 
huge class containing a big amount of methods from different APIs... the fact 
that all languages will potentially use it and may wish to extend it with util 
methods that make sense to them concerns me a little bit (for example, a 
language with weak support for Map handling may need utils methods to manage 
Maps that could be useless for Groovy).

Kind regards and again thank you,

Jacopo

(*) even if I find a bit annoying to see my work intercepted and re-routed 
while I was in the middle of it, I also appreciate the time and effort you 
spent on it and I really want to accept the fact that working in a community 
means that I have to blend and negotiate my own ideas and plans with the ones 
from others: sometimes it means that you get great help, sometimes it means 
that your own beautiful and perfect ideas are touched and rearranged to fit 
other's plans and other's beautiful ideas.
I hope that the good attitude and flexibility I am trying to apply here will be 
also used by you and others when it will be time for you to accept other's 
proposals/changes


On Mar 13, 2012, at 12:35 AM, Adrian Crum wrote:

> Jacopo,
> 
> I committed a generic, reusable version of this idea in rev 1299924.
> 
> -Adrian
> 
> On 3/8/2012 6:02 PM, Jacopo Cappellato wrote:
>> Hi all,
>> 
>> I have just completed my first pass in the implementation of a DSL (Domain 
>> Specific Language) for OFBiz that can be used by Groovy services to act like 
>> a modern version of Minilang.
>> 
>> Please review my notes here:
>> 
>> https://cwiki.apache.org/confluence/display/OFBIZ/Groovy+Services+and+DSL+for+OFBiz
>> 
>> I look forward to your comments and feedback but please consider that 1) it 
>> is a work in progress, 2) I spent a lot of time and mental energy in the 
>> effort (reaching simplicity is really complex task!)... so please don't be 
>> too picky :-)
>> 
>> Regards,
>> 
>> Jacopo
>> 
>> PS: if you find it useful, I can commit the Groovy service mentioned in the 
>> page in Confluence

Reply via email to