[ 
https://issues.apache.org/jira/browse/VELTOOLS-180?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16823969#comment-16823969
 ] 

Claude Brisson commented on VELTOOLS-180:
-----------------------------------------

Not by themselves. They are mostly thin exception catching wrappers, plus an 
uberspector.

Sorry, here's another long post.

I don't mind either publishing the ORM elsewhere, I already created recently a 
[webapp-velocity-tools|https://github.com/arkanovicz/velocity-tools-webapp] 
project for stuff that looked too far away from templating preoccupations like 
authentication filters. Everything can land here.

But I was under the impression that in a lightweight framework-free bottom-up 
pull MVC approach, proposing a configurable minimalistic ORM is the next 
logical step after the view tools, and that it could dynamize the tools.

The engine subproject is slowly recovering from hibernation, looks like Java 
templating still has some pertinence. But the tools subproject did not get all 
the attention it deserves, IMO. Here is the count of reverse dependencies on 
mvnrepository.com (internal dependencies filtered out) :
||Module||Version||Reverse dependencies count||
|velocity-engine-core|1.7|996|
| |2.0|90|
| |2.1|2 (well it just got out)|
|velocity-engine-scripting|2.0|4|
| |2.1|0|
|velocity-tools|2.0|199 (gen+view+struts)|
|velocity-tools-generic|3.0|0|
|velocity-tools-view|3.0|0|
|velocity-tools-view-jsp|3.0|0|

Introducing a model tool beside the last ones could give some momentum to the 
tools tribe. But how to do this without introducing an external dependency or 
binding the ORM itself to the templating ? That doesn't seem quite feasible.

Your question made me think of another option, which is to host the ORM as a 
new velocity-model subproject. This implies:

- either a change of perspective for the Velocity project itself, which would 
from now on propose some MVC's M stuff together with its V stuff, both of them 
staying independent.
- either to state upfront that velocity-model *isn't* related to templating but 
just grew here and may move elsewhere.

That's the only proper way of doing things *if* we want a velocity-tools-model 
with just the VTL-related objects.

Otherwise, let's us just forget it. I'll just publish everything elsewhere and 
maybe make another project proposal at the ASF one day if some people are 
motivated to do so with me.



> New velocity-tools-model architecture
> -------------------------------------
>
>                 Key: VELTOOLS-180
>                 URL: https://issues.apache.org/jira/browse/VELTOOLS-180
>             Project: Velocity Tools
>          Issue Type: New Feature
>          Components: Misc
>    Affects Versions: 3.1
>            Reporter: Claude Brisson
>            Assignee: Claude Brisson
>            Priority: Major
>
>  The new data access layer (or persistence-less ORM) module that constitutes 
> the Model Tool, and which once was the 
> [Velosurf|https://github.com/arkanovicz/velosurf] library but rewritten at 
> 90%, sits in the [model 
> branch|http://svn.apache.org/viewvc/velocity/tools/branches/model/velocity-tools-model/].
> But I started having second thoughts while coding. If you look at [this class 
> diagram|https://republicate.com/class_diagram.svg], you'll see that there are 
> only 5/6 objects that will appear in VTL contexts. The remaining of the 
> library is about 40 classes, and offers by itself an ORM which I tried to 
> keep simple and efficient also on the Java side.
> So I'm starting to think that I should just publish here the VTL related 
> objects and host the ORM library elsewhere. It's more in the spirit of 
> VelocityTools to keep things lightweight, and separate projects are the best 
> guaranty of code isolation.
> For instance, I can publish it along with other projects that I publish on 
> maven central in the com.republicate group id, like the 
> [webapp-slf4j-logger|https://github.com/arkanovicz/webapp-slf4j-logger].
> It makes velocity-tools-model rely on a project external to apache, but it's 
> not a problem per se. Or the ORM library can find its way to the apache 
> codebase through, like, a commons-model project. Or start at com.republicate 
> and then migrate. Or start here then migrate elsewhere...
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@velocity.apache.org
For additional commands, e-mail: dev-h...@velocity.apache.org

Reply via email to