Monday 18 August 2008

DSpace and Fedora *need* opinionated installers.

Just to say that both Fedora-Commons and DSpace really, really need opinionated installers that make choices for the user. Getting either installed is a real struggle - which we demonstrated during the Crigshow, so please don't write in the comments that it is easy, it just isn't.

Something that is relatively straightforward to install, is a debian package.

So, just a plea in the dark, can we set up a race? Who can make their repository software installable as a .deb first? will it be DSpace or Fedora? Who am I going to send a box of cookies to and a thank you note from the entire developer community?

(EPrints doesnt count in this race; they've already done it)

8 comments:

Anonymous said...

looks of confusion as Tim and Ben try and install each other's software: http://crigshow.blogspot.com/2008/07/at-bbworld-conference-blackboard-vle.html

Anonymous said...

Yes, it was a bit embarrassing that, as experts, neither of us could successfully install DSpace or Fedora within a few hours. It shouldn't be that hard.

Chris Wilper said...

Yes, installing a Fedora repository via apt-get would be really cool. If this was done, what sort of "opinions" should the installer have? I take it Fedora's "quick" install option didn't have the right things enabled for your demo.

Ben O'Steen said...

I am biased in that I think that the ResourceIndex is one of the most compelling reasons to use Fedora. I am also an unashamed fan of REST interfaces. I find XACML too malleable, very hard to get a robust and usable system working with it.

So, for a standard install:

API-A - http/https
API-M - https
RI index - ON
REST API - ON
XACML - OFF or INACTIVE
Tomcat - "included" or much, much better -> use apt-get'ed Tomcat

Of course, using the normal file layout - http://www.pathname.com/fhs/ - would make for a massive decrease in the learning curve. Having *all* the configuration files in one place wouldn't hurt in any case.

(Can Fedora be run through Jetty?)

Chris Wilper said...

Having never built a .deb before, I did a little investigation of what it would take. Probably too much time for me at the moment :) but I wonder if any other Fedora-savvy developers would want to take it on -- I'll post a link to the list.

Yes, Fedora works in Jetty. We usually test using Tomcat, though.

Mark R Diggory said...

Both DSpace and Fedora are basically "webapplications". I'm not convinced that the core developers investing immense time and energy into creating platform specific installers like "exe, "deb", "rpm", "dmg" will have much of a payoff overall. In fact, I think it will ultimately lead to further restictions, dependencies and rigidity in the deployment of these applications. At this time I think getting these applications niches more clearly separated and defined so that they can be far more interoperable should be paramount over having them distributed in various linux distribution channels. The point of using java (and especially in jar/war/ear form) is that its portable and platform independent. What we should be striving for are ear/war distributions that one just drops into ones JBoss, Glassfish, Websphere, Tomcat or Jetty without any platform specific construction. To this end, we (Fedora and DSpace, need to clearly separate and encapsulate developers tools such as Ant and Maven away from our users installation tasks.

Ben O'Steen said...

I agree that developer time shouldn't be totally spent on making installers, but I think the process of creating a debian installer will help illuminate problematic bugs or design issues. For example, it would be great to drop a binary/archive into a container, and be presented with a simple webform configuration and dependancy checker, such as you might get from a scripted (PHP, python, etc) application.

Creating something like a debian installer is a great aim for either DSpace or Fedora, but I agree with you, people need to be more shielded from ant, maven, and might I add, XML config files.

Chris Wilper said...

+1 on presenting web forms for initial setup and subsequent config (though I think it should still be possible to get an instance going via a script). I agree with Mark that the drop-in war/ear option still needs to be there, because a lot of people will want to choose their favorite app server, and the core development needs to be focused on platform independence. But I'd still love to see the apt-get option that, for example, distributes the software as a pre-deployed webapp in a dedicated tomcat or jetty instance.