A few weeks ago, we decided to aim for the integration of Felix 4 into our 1.4 
release, and I have finally managed to get this integration to work. It 
involved a couple of changes to our project structure and the way we build it, 
and I am outlining these below so they become public knowledge. The changes 
have been committed to MH-8728 and subtasks and are ready to be merged into 
1.4, given that developers feel confident moving forward.

Directory structure
==============

The Matterhorn checkout (trunk) now contains additional directories or existing 
ones with updated contents:

1) /bin

The bin directory stays the same, but gained felix.jar, which represents the 
felix framework. The start scripts have been adjusted as well, and the service 
init script has been moved to /docs/scripts/init (feel free to move this back 
if you dislike this change. The intention was to make initial starting of 
Matterhorn as easy and as little confusing as possible).

2) /etc

This is now a merge of former /etc and /conf, and leads to a single place to go 
to if looking for configuration. So instead of /conf/system.properties, you'll 
go to /etc/system.properties. Also not that the /load directory has been moved 
here, what what was formerly /load is now /etc/load.

3) /lib

We used to have /matterhorn and /ext, and with the integration of Felix 4, we 
got another top level directory called /bundle. I moved all these libraries 
into subdirectories of /lib, so there is now /lib/matterhorn (former 
/matterhorn), /lib/ext (former /ext) and /lib/felix (new Felix /bundle 
directory).

4) /work

Work used to be here before, but I configured /felix-cache to go there by 
default, too. 


This leaves us with a rather simple top level directory structure which looks 
like this:

/bin
/docs
/etc
/inbox
/lib
/logs
/modules
pom.xml
README.txt
/shared-resources
/work

And I hope it is something people can agree to. If you feel strongly about this 
or that directory, its name or its location, please speak up. I tried to hard 
keep it simple and clear for newcomers, and at the same time consolidate 
configuration, libraries, work directories and code.


Build process
==========

In order to reflect the changes in the library directories, the build option to 
you know so well "-DdeployTo" had to change a little bit: You know have to 
specify the root of the Matterhorn installation you'd like to deploy to instead 
of its /matterhorn subdirectory. In short:

-DdeployTo<felix.home> instead of -DdeployTo<felix.home>/matterhorn

This will automatically move external libraries into /lib/ext and matterhorn 
libraries to /lib/matterhorn.


Optional ibraries and points of integration
===============================

While going throught the libraries and making sure they work well with Felix 4, 
I noticed once again a number of dependencies that are not needed out of the 
box and that (in my opinion) should not be part of the default installation but 
be documented on the wiki to be included when needed. The problem basically is 
that they need a proper configuration for them in order to start without 
errors, and I don't think it's a good idea to have default configurations that 
point to existing institutional resources (such as the LDAP / CAS configuration 
pointing to UCB etc.).

Following is the list of dependencies that I excluded by default:

- openid login
- ldap provider
- cas authentication

All of the items below are available as build profiles, so if one needs support 
for CAS, they can simply call "mvn install -Pcas".


Documentation
===========

I will update the documentation (installation process, build instructions etc.) 
over the next few days as soon as I got green lights from all of you (or at 
least no red lights).


Please provide feedback on whether you're happy with the changes outlined 
above, and if not, what alternatives you would be suggesting. If people do like 
the changes, I propose to move them into 1.4 asap as previosly discussed on 
list.

Thanks,
Tobias
_______________________________________________
Matterhorn mailing list
[email protected]
http://lists.opencastproject.org/mailman/listinfo/matterhorn


To unsubscribe please email
[email protected]
_______________________________________________

Reply via email to