On 08/04/2011 11:32 PM, Marlon Pierce wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I like the sandbox idea--this would be rave/sandbox in SVN?
Yup, just create it.

I like having an svn sandbox too, as Ross said it is common practice.
You usually see then either user "owned" folders or feature specific folders, e.g. rave/sandbox/mpierce or rave/sandbox/xyzuserservice

So while I like sandboxes, I'm not sure if it would be good for your use-case, but I don't know enough about it.

The downside of using the sandbox is that it pretty much is off everyone's radar, so it will be less likely for you to get much support and attention from the other team members as well as from the community. Keeping your feature "in line" with the current development will be more difficult, as well as the other way around: considering possible breakage of your sandbox feature is more difficult for the others.

But using a sandbox is great to prototype/experiment with possible future use-cases while still providing everyone access/visibility.

Concerning your use-case, non-default service implementation in general: IMO this should be a core/intrinsic supported "feature" of Rave, and be easily doable with the least possible hassle (maybe even runtime).

For Jetspeed Portal this was a key "feature" as well (replaceable components/services through configuration *only*), whereas we several implementations live and maintained side-by-side within one component (for instance LDAP or DB security) and always deployed/packaged them together in one jar (Maven module) and used only Spring configuration (overlapping configurations) to enable/disable which implementation was used at runtime.

Alternatively, if the "service" contract can be abstracted away properly through interfaces only (preferably), then it should be possible to split each implementation off in its own implementation Maven module and let the deployment configuration pick which to bundle. Such separation would fit well with adding a rave-extensions (pom) module underneath than individual extension modules can be added.

Anyway, it all depends on your current use-case, and starting out in the sandbox might be good enough for now. But if it covers a general use-case I'd prefer it being integrated within the project itself at some time :)

Regards,

Ate



On 8/4/11 5:29 PM, Ross Gardler wrote:
On 4 August 2011 21:59, Franklin, Matthew B.<[email protected]>  wrote:
-----Original Message-----
From: Marlon Pierce [mailto:[email protected]]
Sent: Thursday, August 04, 2011 3:17 PM
To: [email protected]
Subject: [discuss] non-default service implementations in svn

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I'd like to extend the DefaultUserService.java for some upcoming Rave-based
projects.  Would there be objections to putting such things in the Apache
SVN, under rave/trunk/rave-extensions, for example?

Maybe not under trunk. But a different directory all together?



Pro: would provide examples for customizing and extending Rave, especially
for those not familiar with Spring; would be applicable to a defined developer
community (XSEDE Science Gateways) I'd like to attract to the project.


Con: "extensions" are a slippery slope, could become a mess of disjointed
code fragments out of sync with the main code base.

I think it depends on how complete the solution is.  If you are going to have 
an entire set of classes that override/extend default Rave implementations, but 
are all in support of the same purpose (science gateways), then I could see 
making the case that there is a science gateway extension.  Otherwise, it would 
just be example code, IMO.


A fairly common practice is to have a "sandbox" area in SVN. It's
ideal to do work like this that may or may not be a good idea
depending on how it progresses. If someone asks "how do I do foo" we
can respond "one way would be like that in the sandbox, but we're not
convinced it's the best approach, your help is welcome"

Ross
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.16 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJOOxABAAoJEEfVXEODPFIDBXkH/0rG4vGSmvJx/dqNoyDcHvOT
y0Ik89lIIsLezGHdaPD/9btZuh7GHZ6D/jiU7YLGWwGAad58Qb/dBaDHHtd07IjN
qsJY4I6J+O+ugFp/zdtIw2n1lm63cZOsBRESHxZKcFlOu7blpMC9uBgqtWXRvVMI
fbXND4KGj8gQgPbMIHqcltuXgj5bMtMQ0MAM8NoUHZTjyxwctvedM7lAankkoTe9
Dwuajlg/e847jF1rbajRTa57Dhy5k6YG6N0KFCdFC5wg3nNvuxKqVZhr3eOmFjFH
ep0YosXKEu1rbVECDVzuCWXF8zK5hjolfFcAib8OhK4LZn86sOgkpivgqSfRxW4=
=Rt1q
-----END PGP SIGNATURE-----

Reply via email to