Hi Stefano,
Yes, I remember the work you did analysing the modules in that jira.
I find the grouping in the jira not far away from the groups I defined.

The key points here are:
- Do we go to a 2 level structure ? (I would do it)
- Even if those groups are not usable as standalone alone component, they can tend to. I don't care if a module depends on another module, but they should be deployable without a full james sever. If we group, we can smoothly tend to that.

Thx,

Eric


On 05/01/12 19:40, Stefano Bagnara wrote:
2012/1/5 Eric Charles<[email protected]>:
Hi there,

Doing recent protocols trunk integration in server, it became clear to me
that our server components can be grouped together to form coherent
subcomponents (even usable outside James mail server, but that's another
story).

Please, read my comment to this issue from the last year (and maybe
the other comments to that issue too):
https://issues.apache.org/jira/browse/JAMES-1184?focusedCommentId=12983893&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12983893

As you can see my grouping proposal is opposite to your ;-)
I never pushed the grouping idea after that comment because I felt it
was not really necessary, "yet".

If you try to write dependency lines between the modules and the
"groups" you will understand why. Here is an old graph I used when I
made that proposal:
https://issues.apache.org/jira/secure/attachment/12468787/graph-server.gif

Using other words: the modules you are grouping are not really usable
"alone" as on the library/function level they have twisted
dependencies with other groups.

Stefano

btw, Recent Apache Hadoop mavenization gave birth to 38 modules (James
server modules can be considered small compared to these 38, even when
counting the mailbox and protocols modules).


So here's my first shot (it goes over grouping on name level, not
merging!!):

Curent list (prefixed with a 'Subcomponent Group')
1 container-spring
2 core (1 class module)
3 dnsservice-api
3 dnsservice-dnsjava
3 dnsservice-library
? fetchmail
4 filesystem-api
5 imapserver
5 lmtpserver
6 data-api
6 data-library
6 hbase
6 jpa
6 jcr
6 jdbc
6 file
4 lifecycle-api
1 lifecycle-spring
7 mailbox-adapter
8 mailetcontainer-api
8 mailetcontainer-camel
8 mailets
5 protocols-library
5 pop3server
5 smtpserver
9 queue-api
9 queue-file
9 queue-jms
9 queue-activemq
5 ldap
2 util
2 cli

Subcomponent Group Naming
1 container
2 util
3 dns
4 api
5 data
6 socket
7 adapter
8 mailet
9 queue

Let's talk about it.
(for the implementation, 2 options are possible : with or without subparent)

Thx,
Eric
--
eric | http://about.echarles.net | @echarles

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


--
eric | http://about.echarles.net | @echarles

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to