Monthly Archives: May 2009

Synchronizing Beehive 1.5.1 with Fedora Directory Server

The directory server we use at work is a Fedora Directory Server installation, running 4 nodes in a multi-master setup. We’ve been looking into migrating it to a Sun Java System Directory Server Enterprise Edition (sic) for a while, since I returned from the course in the US, but I haven’t had the time to get a proper test installation running yet. With Beehive 1.5.1 out, and given my enthusiasm for that, I decided to try and see if it would work with the Fedora Directory Server, even though it wasn’t supported.

I went with the template for synchronizing a Sun directory, as my sources had told me the two were very similar, in fact originally from the same source tree. The templates are pretty readable, but have manual handy for checking what some of the stuff means. One caveat: The attributes in the template are generally written like this:

<profile_name><enter profile name here></profile name>

What they expect you to write, is something like this:

<profile_name>Test profile</profile_name>

The extra angle brackets are just put there to confuse us 😉

My main concern at this point was that while I could define specific attribute values to mean external mail or not, it didn’t seem like this could be set merely by the presence of absence of attributes. I may have to re-think the directory structure slightly to address this.

When I added the profile using beectl, it turned out not to validate. Beehive was unable to find the directory server changelog. As it turns out, Beehive relies on an “old-fashioned” approach to synchronization between directory servers, and in fact one that can be enabled using a “Retro Changelog Plugin” for the Fedora Directory Server. So, if you’re on Google, trying to figure out how to make Beehive work with Fedora Directory Server: Use the Retro Changelog Plugin!

After setting this up, things seemed to just work. Now, there’s another little caveat: Beehive works with a concept of “principals”, that are your login credentials; In the default case your email for login and for instant messenging, and your phone number for voicemail. I changed the mail principal to be the user’s UID, but left them for IM and voicemail – meaning some users weren’t imported into Beehive, as it insists on the attributes used for this (mail and telephoneNumber) being unique in the directory. We have people who rightly have the same telephone number, for instance sharing an office, and Beehive doesn’t seem to like that. My idea of how to handle it: Make seperate attributes for voicemail-principals and instant messenging principals if you’re going to need those things, or disable them in the sync profile.

I would rather like for all our users to have an instant messenging principal that’s their UID @ some domain. I haven’t been able to find the option for it yet, and I’m not sure if it exists at all … if you know it doesn’t, and you’re a Beehive developer: Go fix this! 😉

Oracle Beehive 1.5.1: First impressions

Oracle released version 1.5.1 of their new-ish collaboration product, Beehive, on Friday. I’d been waiting for it ever since returning from the course in the US, and I was eager to try it out this morning. My setup was this:

  • All machines are Dell SC1425 with a single 3GHz Xeon CPU
  • Database server with 4G RAM, 250G disk for the database and some swap, and another disk for the OS
  • Beehive server with 4G RAM and just a system disk
  • Enterprise Manager server with 1G RAM: Don’t do this at home, it needs a lot more than 1G. Slooow.

I had preinstalled Database 11.1.0.6, as this was the latest recommended release for Beehive 1.4.3. The Enterprise Manager was set up with this. I hadn’t done any patching at all, since I just wanted to try it out from a clean install.

Not surprisingly, looking at the track record for Beehive, the first install with a vanilla database didn’t work. Some of the schema deployment failed, which was the same sort of error I got with 1.4.3 when I first tried installing that. Main problem: Oracle hadn’t released the documentation for 1.5.1 yet. I decided to try patching the database up in the same way required for 1.4.3, ie. with patches 6168363, 6708565, 6750049 and 6526468. At first, it seemed to do the trick – the installation worked way past the schema bits – but during the framework deployment, starting the beemgt service failed, and the installation stopped. Retrying the step didn’t seem to make any difference, and that’s where I left it at work.

Tonight, though, Oracle have released the documentation – linked above – with a few more interesting notes in it. There’s two more patches mentioned for 11.1.0.6, but those aren’t actually available to us regular users through Metalink. More importantly, Oracle seem to now support version 11.1.0.7 of the database, and from the Oracle Forums I understand that it’s actually the prefered version. You just have to apply a few patches – 12 to be exact, at the time of writing.

I’d better upgrade the database when I get back tomorrow. Check that all the table parameters are set correctly, install that dozen of patches, clear out the old Beehive database and set up a new one – and then see if that makes the install sail through. Somehow, I doubt it. Beehive is a nice product, but the installation and making all the bits fit together seems to hinge on having everything set up in exactly the way they have over in Redwood Shores – and maybe that’s just too much to ask for.

Update – 5 May 2009:

Clearing out the database didn’t make much of a difference. However, after trying that, I tried going over the client side, making sure it was absolutely pristine before I started – and again I checked the database, creating it exactly as was specified in the manual for 1.5.1. Et voila; suddenly I had a Beehive 1.5.1 installation. At least, it got a lot further – so long that I actually had to leave my office before it finished, so I won’t know the details until I get back tomorrow.