deltaspike-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From titou10 titou10 <titou10.tito...@gmail.com>
Subject Re: DeltaSpike Roadmap
Date Mon, 25 Mar 2013 19:01:18 GMT
+1000 for the roadmap
+1000 for a v0.4 with most of the JSF stuff there, at least the CODI scopes

>From our experience as migrating from Seam 2 to CDI, what we need ASAP:
- porting all CODI scopes to DS (ViewAccesScope, WindowScope, various
ConversationScope..) etc
- "WindowScoped" must definitively go in the direction of what it will
be in JSF 2.2..without JEE7
- DS should also offer an equivalent to the Seam 2 "page scope"
  It is exactly the same as the CDIfied JSF "ViewScope", but  tied to
another annotation.  The JSF @ViewScope annotation can not be used on
producer method. This is a major problem as we use the Seam 2 page
context a lot. CODI ViewAccessScope is great, but too long/wide for
this. The name "@PageScoped" could be used or maybe "@ViewCDIScoped"
as this the same scope with another annotation

We could argue that we can use CODI + DS but we would like to step out
of CODI asap as CODI is (almost) not evolving anymore and we are
starting new large project now. The sooner we use only DS the better,
as we will not have to "refactor/retest/relaunch" without CODI after
we launch in production. Also we can not use only CODI as some DS
features are only in DS (eg @Transactional + JTA..)

If we talk about roadmap, the following components we developped
ourselves and packaged in a utility jars, could be good candidates to
be in DS
- I created a component to easily create all variations of faces
messages based on the resource bundle. From omnifaces :
http://showcase.omnifaces.org/utils/Messages . Maybe it already exists
in DS but didn't find it...
- a component to capture the rendering of the facelets engine in
background: use case: produces a PDF document ans store in in the
database, based on facelets tags like in Seam 2. I ported the pdf tags
of Seam 2 (using itext) and my  "FaceleteRenderer" CDI component is
based on http://www.bradchen.com/blog/2011/07/render-facelets-programmatically.
Could be in another module in a DS v2.0 release.
- An integration with Apache Shiro (to replace Seam 2 security), that
allow application to provide their own Custom Realm, Custom
authentifications and exposes @Subject to provides "hasRole()" etc...
Could be in another module in a DS v2.0 release.

Also, I know that it has already be discussed, but the hard wiring of
DS to java.util.logging is a real pain for us and even if it may not
be not a good time to discuss this again in the context on having a
quick release, IMHO, if we talk about a roadmap, maybe it could be at
least discussed again to introduce an abstract logging layer (slf4j..)
at some point in the future for DS.. maybe j.u.l being the "default"
concrete logger

As for an EntityManager component: -1 for us as this is trivial to
expose one, -1 also on JMS as this is trivial to do it in JEE6 (Yes,
we use EJBs..) and for us this is not at all a prioority for DS. JSF
scopes are!

I'm also eager to help but on what?
- on the code ? Until the scopes that will be in DS/JSF are not final
and that the code is not in a stable state it is difficult for me..And
we need a minimal doc on a clear direction where the each components
in DS is going
- on the doc and sample? Same problem. IMHO it is not that easy to
read the (unfinished) code and write the doc from there...

Thx.
Denis Forveille

2013/3/25 John D. Ament <john.d.ament@gmail.com>:
> They have it, it uses a little bit of javascript:
>
> http://www.primefaces.org/showcase/ui/requestContext.jsf
>
>
> On Mon, Mar 25, 2013 at 12:31 PM, Thomas Andraschko <
> andraschko.thomas@gmail.com> wrote:
>
>> Are you sure? PrimeFaces does not have one. I only know richfaces'
>> graphValidator and it's IMO not that easy and cool as s:validateForm.
>>
>> 2013/3/25 John D. Ament <john.d.ament@gmail.com>
>>
>> > I believe all of the major JSF component libraries support some type of
>> > form validation using BV.
>> >
>> >
>> > On Mon, Mar 25, 2013 at 12:19 PM, Thomas Andraschko <
>> > andraschko.thomas@gmail.com> wrote:
>> >
>> > > Any news about s:validateForm?
>> > > As i said, it's great feature of seam3 and would perfectly fit DS
>> (IMO).
>> > >
>> > > I could also add it to DS if no one have enough time... :)
>> > >
>> > > 2012/12/17 Gerhard Petracek <gerhard.petracek@gmail.com>
>> > >
>> > > > there is a reason why it is just an add-on ;)
>> > > > and yes, if you would do it with the jsf2-api, it would be a bit
>> > easier.
>> > > > but you can use this add-on also for jsf 1.x and some users who don't
>> > > like
>> > > > to use seam are happy with it.
>> > > > however, i just mentioned it as an example to show that cdi isn't
>> > needed
>> > > to
>> > > > implement such a functionality.
>> > > >
>> > > > regards,
>> > > > gerhard
>> > > >
>> > > >
>> > > >
>> > > > 2012/12/17 Lincoln Baxter, III <lincolnbaxter@gmail.com>
>> > > >
>> > > > > Also, note that the use-cases for <s:validateForm> and
the latter
>> > > example
>> > > > > are different in their usage. IMO, <s:validateForm> is
much more
>> > > > > declarative and simple than the example provided from extval.
>> > > > >
>> > > > > Just write a validator and attach it like you would normal to
a
>> > > component
>> > > > > in the view, wherever you want to use it. You can also re-use
>> > > > > form-validators using this method, instead of using some (in
my
>> > > opinion)
>> > > > > strange view-filtering logic in the FormValidator annotation.
>> > > > >
>> > > > > <s:validateForm> is/was one of the most well recieved feature
of
>> Seam
>> > > > > Faces, and I think it deserves serious consideration. Can you
do
>> form
>> > > > > validation other ways? absolutely, but this way is pretty
>> compelling
>> > > > based
>> > > > > on the feedback we got. It also ties in very normally with the
way
>> in
>> > > > which
>> > > > > JSF handles validation and components, which is not something
that
>> I
>> > > can
>> > > > > speak about with regard to extval, but I can say that seam faces
>> does
>> > > > this
>> > > > > nicely.
>> > > > >
>> > > > > ~Lincoln
>> > > > >
>> > > > >
>> > > > > On Mon, Dec 17, 2012 at 4:37 PM, Thomas Andraschko <
>> > > > > andraschko.thomas@gmail.com> wrote:
>> > > > >
>> > > > > > Please do not mix both :)
>> > > > > > We had the discussion about commons bv constrains. s:validateForm
>> > is
>> > > > > > completely different compared to bv constraints.
>> > > > > > s:validateForm does not fit the project for common bv
>> constraints.
>> > > > > >
>> > > > > > 2012/12/17 Karl Kildén <karl.kilden@gmail.com>
>> > > > > >
>> > > > > > > Looks really nice I understand finally :-)
>> > > > > > >
>> > > > > > > In retrospect I don't know why I didn't check the docs
myself,
>> > > > probably
>> > > > > > > because I read most of the discussion on the phone
to begin
>> with.
>> > > > > > >
>> > > > > > > I then agree with the many suggestions regarding doing
it as a
>> > > > parallel
>> > > > > > > project. Perhaps that module could have a  sub module
for CDI
>> > users
>> > > > > that
>> > > > > > > included producers and such.
>> > > > > > >
>> > > > > > > Best regards / Karl
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > >
>> > > > > > > 2012/12/17 Gerhard Petracek <gerhard.petracek@gmail.com>
>> > > > > > >
>> > > > > > > > hi karl,
>> > > > > > > >
>> > > > > > > > it's implemented via a producer - see [1].
>> > > > > > > > but you don't really need cdi for it - see e.g.
[2].
>> > > > > > > >
>> > > > > > > > regards,
>> > > > > > > > gerhard
>> > > > > > > >
>> > > > > > > > [1] http://s.apache.org/ury
>> > > > > > > > [2]
>> > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> http://os890.blogspot.co.at/2010/06/multi-field-form-validation-with-jsr.html
>> > > > > > > >
>> > > > > > > >
>> > > > > > > >
>> > > > > > > > 2012/12/17 Thomas Andraschko <andraschko.thomas@gmail.com>
>> > > > > > > >
>> > > > > > > > > As far as i understand, validateAll just
validates all
>> > > components
>> > > > > but
>> > > > > > > you
>> > > > > > > > > can't use custom logic.
>> > > > > > > > >
>> > > > > > > > > Checkout the seam docu here:
>> > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> http://docs.jboss.org/seam/3/faces/latest/reference/en-US/html/components.html
>> > > > > > > > >
>> > > > > > > > > 2012/12/17 Karl Kildén <karl.kilden@gmail.com>
>> > > > > > > > >
>> > > > > > > > > > Hrmm still not sure I understand. First
off didn't Pete
>> > just
>> > > > say
>> > > > > it
>> > > > > > > was
>> > > > > > > > > > just a JSF-validator? It also sounds
and reads just like
>> > > > > > validateAll
>> > > > > > > > from
>> > > > > > > > > > omnifaces?
>> > > > > > > > > >
>> > > > > > > > > > What is lacking that you would like
to see solved by CDI?
>> > And
>> > > > is
>> > > > > > it a
>> > > > > > > > > > natural fit for CDI extensions rather
then BV / JSF
>> > > extensions?
>> > > > > > > > > >
>> > > > > > > > > > Best regards / Karl
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > > > 2012/12/17 Thomas Andraschko <
>> andraschko.thomas@gmail.com>
>> > > > > > > > > >
>> > > > > > > > > > > Hi,
>> > > > > > > > > > >
>> > > > > > > > > > > they are nice but i can't see a
replacement for
>> > > > s:validateForm.
>> > > > > > > > > > > IMO s:validateForm is really a
simple solution for
>> > > > cross-field
>> > > > > > > > > > validation,
>> > > > > > > > > > > which is CDI based.
>> > > > > > > > > > >
>> > > > > > > > > > > Regards,
>> > > > > > > > > > > THomas
>> > > > > > > > > > >
>> > > > > > > > > > > 2012/12/17 Karl Kildén <karl.kilden@gmail.com>
>> > > > > > > > > > >
>> > > > > > > > > > > > Well these are the validators
from omnifaces as per
>> my
>> > > > > previous
>> > > > > > > > > > > > recommendation:
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > >    - RequiredCheckboxValidator<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/RequiredCheckboxValidator.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateAll<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateAll.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateAllOrNone<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateAllOrNone.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateEqual<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateEqual.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateOne<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOne.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateOneOrMore<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOneOrMore.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateOneOrNone<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOneOrNone.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateOrder<
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateOrder.xhtml
>> > > > > > > > > > > > >
>> > > > > > > > > > > >    - validateUnique
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > >    <
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > >
>> > >
>> >
>> https://showcase-omnifaces.rhcloud.com/showcase/validators/validateUnique.xhtml
>> > > > > > > > > > > > >Best
>> > > > > > > > > > > >    regards / Karl
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > > > 2012/12/17 Thomas Andraschko
<
>> > > andraschko.thomas@gmail.com>
>> > > > > > > > > > > >
>> > > > > > > > > > > > > PrimeFaces doesn't have
such a component/utility.
>> > > > > > > > > > > > > Also AFAICS it's based
on CDI, so IMO DeltaSpike
>> is a
>> > > > good
>> > > > > > > place
>> > > > > > > > > for
>> > > > > > > > > > > it.
>> > > > > > > > > > > > >
>> > > > > > > > > > > > > 2012/12/17 Jason Porter
<lightguard.jp@gmail.com>
>> > > > > > > > > > > > >
>> > > > > > > > > > > > > > On Mon, Dec 17,
2012 at 4:54 AM, Pete Muir <
>> > > > > > pmuir@redhat.com
>> > > > > > > >
>> > > > > > > > > > wrote:
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > On 17 Dec 2012,
at 08:55, Gerhard Petracek
>> wrote:
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > > hi karl,
>> > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > > #1 apache
myfaces (extval) doesn't implement
>> > jsr
>> > > > 303
>> > > > > > > (e.g.
>> > > > > > > > > > apache
>> > > > > > > > > > > > > > > > bval implements
it)
>> > > > > > > > > > > > > > > > #2 there
is no agreement that ds is only
>> > backend
>> > > > > > oriented
>> > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > > regards,
>> > > > > > > > > > > > > > > > gerhard
>> > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > > 2012/12/17
Karl Kildén <
>> karl.kilden@gmail.com>
>> > > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > >> Hi
Thomas, fellow user here.
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >> BV
is as you may know specified in JSR-303.
>> It
>> > > has
>> > > > > > great
>> > > > > > > > > > > > > > > implementations
by
>> > > > > > > > > > > > > > > >> myfaces
and hibernate that you can find
>> > easily.
>> > > > Thus
>> > > > > > > this
>> > > > > > > > > will
>> > > > > > > > > > > not
>> > > > > > > > > > > > > be
>> > > > > > > > > > > > > > > >> implemented
in deltaspike afaik. However
>> > > providing
>> > > > > > some
>> > > > > > > > > common
>> > > > > > > > > > > > > > > constraints
>> > > > > > > > > > > > > > > >> beyond
the specification sounds like a good
>> > > idea.
>> > > > > Note
>> > > > > > > > that
>> > > > > > > > > in
>> > > > > > > > > > > the
>> > > > > > > > > > > > > > mean
>> > > > > > > > > > > > > > > >> while
@Email is almost trivial to implement
>> > > > yourself
>> > > > > > if
>> > > > > > > > you
>> > > > > > > > > > > search
>> > > > > > > > > > > > > it
>> > > > > > > > > > > > > > a
>> > > > > > > > > > > > > > > >> little.
JSR-303 is highly extensible just
>> like
>> > > > CDI.
>> > > > > > The
>> > > > > > > > > > > > > implementation
>> > > > > > > > > > > > > > > you
>> > > > > > > > > > > > > > > >> choose
might have it as an extra already.
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >> For
frontend extras I can't say I see an
>> > obvious
>> > > > > home
>> > > > > > in
>> > > > > > > > > > > > deltaspike
>> > > > > > > > > > > > > > > >> (someone
correct me if I am wrong about
>> this).
>> > > > But I
>> > > > > > > think
>> > > > > > > > > for
>> > > > > > > > > > > now
>> > > > > > > > > > > > > > > >> Deltaspike
is more backend oriented. I
>> > recommend
>> > > > > > having
>> > > > > > > a
>> > > > > > > > > look
>> > > > > > > > > > > at
>> > > > > > > > > > > > > > > omnifaces
>> > > > > > > > > > > > > > > >> that
already provide several great custom
>> > > > > > jsf-validators
>> > > > > > > > and
>> > > > > > > > > > has
>> > > > > > > > > > > > an
>> > > > > > > > > > > > > > open
>> > > > > > > > > > > > > > > >> request
for users to ask for additional
>> ones.
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >> best
regards / Karl
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >> 2012/12/16
Thomas Andraschko <
>> > > > > > > andraschko.thomas@gmail.com
>> > > > > > > > >
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > > >>>
Hi,
>> > > > > > > > > > > > > > > >>>
>> > > > > > > > > > > > > > > >>>
is there a roadmap available for all
>> upcoming
>> > > > > > features?
>> > > > > > > > > > > > > > > >>>
>> > > > > > > > > > > > > > > >>>
Will there also be a BV module in the
>> future?
>> > > > Will
>> > > > > it
>> > > > > > > > also
>> > > > > > > > > > > > include
>> > > > > > > > > > > > > > some
>> > > > > > > > > > > > > > > >>>
commons constraints like Email?
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > Hmm, I think
this could be a good thing for a
>> > > > parallel
>> > > > > > > > project
>> > > > > > > > > to
>> > > > > > > > > > > > > > > DeltaSpike
actually - a library of BV
>> constraints
>> > > not
>> > > > > > > branded
>> > > > > > > > > by
>> > > > > > > > > > a
>> > > > > > > > > > > > > > specific
>> > > > > > > > > > > > > > > impl. I've
cc'd Emmanuel, spec lead for BV, to
>> > see
>> > > if
>> > > > > he
>> > > > > > > has
>> > > > > > > > > any
>> > > > > > > > > > > > plans
>> > > > > > > > > > > > > > for
>> > > > > > > > > > > > > > > such a thing.
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > >>>
>> > > > > > > > > > > > > > > >>>
What about the Seam s:validateForm? IMO
>> it's
>> > a
>> > > > > simple
>> > > > > > > way
>> > > > > > > > > for
>> > > > > > > > > > > > cross
>> > > > > > > > > > > > > > > field
>> > > > > > > > > > > > > > > >>>
validation. Will this be added in future
>> > > > releases?
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > This is not
actually a BV validator, but a JSF
>> > > > > > validator. I
>> > > > > > > > > know
>> > > > > > > > > > > Mark
>> > > > > > > > > > > > > is
>> > > > > > > > > > > > > > > working on
JSF stuff for DeltaSpike atm,
>> perhaps
>> > > this
>> > > > > is
>> > > > > > > > > > something
>> > > > > > > > > > > > > Jason
>> > > > > > > > > > > > > > > could add to
that.
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > > Is this something
that belongs in DeltaSpike, or
>> > > should
>> > > > > it
>> > > > > > be
>> > > > > > > > in
>> > > > > > > > > a
>> > > > > > > > > > > JSF
>> > > > > > > > > > > > > > component library?
I know RichFaces has something
>> > > very
>> > > > > > > > similar, I
>> > > > > > > > > > > > believe
>> > > > > > > > > > > > > > PrimeFaces does
as well (haven't looked for a
>> > while)
>> > > > and
>> > > > > I
>> > > > > > > have
>> > > > > > > > > no
>> > > > > > > > > > > idea
>> > > > > > > > > > > > > > about other component
libraries.
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > >>>
>> > > > > > > > > > > > > > > >>>
How can i contribue to DeltaSpike? I could
>> do
>> > > > some
>> > > > > > > > smaller
>> > > > > > > > > > > tasks
>> > > > > > > > > > > > > > > without
>> > > > > > > > > > > > > > > >>>
problems.
>> > > > > > > > > > > > > > > >>>
I also implemented constraints like
>> > > > > > > > > > EqualsExpression("#{...}").
>> > > > > > > > > > > > > Maybe
>> > > > > > > > > > > > > > > >> this
>> > > > > > > > > > > > > > > >>>
could be useful for other users, too.
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > This page should
help -
>> > > > > > > > > > > > > > >
>> > > > > > > >
>> http://deltaspike.staging.apache.org/deltaspike/community.html
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > > >>>
>> > > > > > > > > > > > > > > >>>
Best regards,
>> > > > > > > > > > > > > > > >>>
Thomas
>> > > > > > > > > > > > > > > >>>
>> > > > > > > > > > > > > > > >>
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > > >
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > > --
>> > > > > > > > > > > > > > Jason Porter
>> > > > > > > > > > > > > > http://lightguard-jp.blogspot.com
>> > > > > > > > > > > > > > http://twitter.com/lightguardjp
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > > Software Engineer
>> > > > > > > > > > > > > > Open Source Advocate
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > > > PGP key id: 926CCFF5
>> > > > > > > > > > > > > > PGP key available
at: keyserver.net, pgp.mit.edu
>> > > > > > > > > > > > > >
>> > > > > > > > > > > > >
>> > > > > > > > > > > >
>> > > > > > > > > > >
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > >
>> > > > > > >
>> > > > > >
>> > > > >
>> > > > >
>> > > > >
>> > > > > --
>> > > > > Lincoln Baxter, III
>> > > > > http://ocpsoft.org
>> > > > > "Simpler is better."
>> > > > >
>> > > >
>> > >
>> >
>>

Mime
View raw message