> Does this means that it is possible to add Fedora somehow to the build 
> process of our app (Maven/Spring based), configure it (using the same 
> app context than our own) and run it all as part of our build/run 
> process? 

It is possible to add Fedora to the build/test process in the maven
lifecycle, but is not yet simple or elegant.  

While most (or all) user configuration has been removed from the war
file in this release, fedora still requires a fedora home directory to
exist, and still makes certain assumptions about its contents.  In
fedora's own integration tests, the ant plugin is used to run scripts
which run the installer and start/stop the Fedora instance running in
its own tomcat container.  It may be possible, given a configured fedora
home directory, to run fedora entirely within the context of the maven
jetty plugin for a test lifecycle, but we have not tried that yet.

There is still some work to do in the 3.6 release in tidying up the
integration with Spring.  Right now, there are two applicationContexts
within Fedora.  The first is established by the ContextLoaderListener
defined in the web.xml.  The loaded applicationContext is determined by
the context param "contextConfigLocation".  By default, it is set to
"/WEB-INF/applicationContext.xml,file:{fedora.home}/server/config/spring/web/*.xml",
 but that could theoretically be overrided. 

The second application context is established by the Server class.  This
is a workaround to accommodate the continued presence of fedora.fcfg.
Essentially, that is an entirely new applicationContext from which
elements of fedora.fcfg can be overrided by defining spring beans that
fulfill the role of fedora modules.  

So, given this background, there are a few tasks that still need to be
done before Fedora will behave in the way I think you are describing:
- remove fedora.fcfg and replace with spring bean equivalents in the
release
- Use only one applicationContext
 - Remove additional assumptions about the presence of a pre-installed
fedora_home.


> Can anyone offer any pointers to how this is accomplished, or 
> more insight on how things work now to make this possible? (ie: can 
> Fedora use the same sessionFactory we use in the rest of the app (which 
> is a Spring bean) to access the database through JDBC?)

Unfortunately, I don't think so... yet.  I think there is a goal on the
future roadmap related to making Fedora more modular, and more suitable
to embedding as part of larger applications.  This release does not yet
get us to that point.

  -Aaron


------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
Fedora-commons-users mailing list
Fedora-commons-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to