[sakai2-tcc] Annotation based injection within Sakai components

Matthew Jones matthew at longsight.com
Tue May 15 08:55:14 PDT 2012


The kernel needs to be modified to read the annotations that Steve is
proposing.

We don't back-port major changes to old kernels. (Nor can we expect that
everyone will pick them up) So any old versions of Sakai won't be
compatible with any new tools that use what Steve is suggesting.

I don't consider #1 to be a problem, but I certainly consider this to be an
issue for #2. Very often for many tools we try to make them work relatively
easily back in older versions of Sakai, mostly because most schools are on
a 2 year upgrade cycle. ~45% of schools were on 2.7, and ~45% were on 2.8
with the other 10% on something else. Many on 2.7 are running the newest
possible BasicLTI, LessonBuilder, Evaluation, Profile2 and even in some
cases Assignments and Samigo.

I guess 1 line in java makes it easier than a few lines in XML but what
other goals (if any) would this achieve? Development against the CLE is
already a tough road and generally is a turn-off before it's even started.

I don't see this changing the biggest time waster of spring in that we
still can still only have one version of the api in shared. If you try to
deploy (either intentionally or accidently) a different version, most of
the time you'll get a ClassCastException because the interface is a
different ClassLoader. This has cost a lot of development time.

It also makes for upgrades harder because you have to make sure to undeploy
libs from shared, components and the war. (And of course the components
aren't re-loadable anyway). This sounds like it *might* make the
components re-loadable? Maybe that's a good thing? But you couldn't make
them re-loadable unless there was some type of proxies between the
components and the ComponentManager that could detect when it temporarily
wasn't available and wait for it rather than failing.

I guess I'd want to know

1) What advantages would be switching tools to this annotation rather than
the xml definition have (rather than saving on a few lines of xml code)
2) Is the CLE something that should be treated more as something static
that external tool developers can depend on or should there be breaking
changes where tools are not compatible anymore between major versions. This
is what many other big systems like Drupal do. In some ways it feels like
2.9 is a *major* revision and maybe could have been called 3.0 because of
some of the backend changes.
  - Requires Tomcat 7 and JSF 1.2
  - Has a completely new UI by default
  - Contrib tools have to be changed to work with Tomcat 7 and parent poms
  - Lessonbuilder and CKEditor enabled by default
  - Many UI and feature additions to nearly every tool

I feel that no release since 2.6 and kernel moving has as much end-user and
developer impact until 2.9.

I'm a huge fan of saving lines of code. I love Lombok, I'd prefer we
switched over all that ugly hibernate XML to Hibernate annotations and
could also be convinced for this . . . But we could do much more easily do
Lombok and Hibernate. This one, with the backward compatibility seems a
tougher sell?

On Tue, May 15, 2012 at 11:39 AM, John Bush <john.bush at rsmart.com> wrote:

> what specifically is going to break backwards compatibility ?
>
> On Mon, May 14, 2012 at 7:17 PM, Steve Swinsburg
> <steve.swinsburg at gmail.com> wrote:
> > Hi all,
> >
> > I've just filed a feature request for annotation based injection within
> Sakai components. Currently it is not possible and changes need to be made
> to the kernel to do this:
> > https://jira.sakaiproject.org/browse/KNL-923
> >
> > In discussions with Aaron, this is a relatively simple job, but will be
> a backwards incompatible change. I'm interested to know more about this and
> to get the discussion going.
> >
> > Also interested to know if the incompatibility means that:
> >
> > 1. You won't be able to use a newer kernel in an older version of Sakai
> (ie you won't be able to use the 1.3 kernel for Sakai 2.9 in Sakai 2.8) -
> does anyone even do that?
> > 2. Tools won't work.
> >
> > thanks,
> > Steve
> > _______________________________________________
> > sakai2-tcc mailing list
> > sakai2-tcc at collab.sakaiproject.org
> > http://collab.sakaiproject.org/mailman/listinfo/sakai2-tcc
>
>
>
> --
> John Bush
> 602-490-0470
> _______________________________________________
> sakai2-tcc mailing list
> sakai2-tcc at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai2-tcc
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai2-tcc/attachments/20120515/1688ad32/attachment.html 


More information about the sakai2-tcc mailing list