Author: Jeff Potts

Apache Directory Studio: Look it up

In my work with ECM technology I am almost always dealing with an LDAP directory. Even on my laptop I run OpenLDAP because it is easier for me to slam in a bunch of test users and groups by generating and importing LDIF files than it is to otherwise prep a repository for tests or demos. Plus, once you’ve configured your platform to authenticate against your local LDAP directory there’s a decent chance it will work with your client’s assuming the schemas aren’t terribly different.

If you also frequently find yourself tweaking the directory and you’re an Eclipse user, you should download and install the Apache Directory Studio Eclipse plug-in and put an end to clunky, platform-specific directory admin tools.

As an aside, as readers know, I run Ubuntu as my primary OS. On Ubuntu, installing OpenLDAP is as easy as running “sudo apt-get install slapd”. But pre-compiled Windows binaries of OpenLDAP seem elusive. Apache Directory Server might be a decent alternative. The Studio plug-in works with both.

InfoWorld gives Acquia Drupal a spin

Over at InfoWorld, Mike Heck spent a few days playing with Acquia Drupal, Acquia’s commercially-supported Drupal distribution. He also tested out some of the features provided by Acquia Network and threw a couple of test issues at Acquia’s support team. Mike liked what he saw and said he saved a lot of time using Acquia’s distribution instead of having to start with Drupal core and then adding the modules himself, but admitted that his week or so with the product wasn’t enough to truly put the product or the support organization through its paces.

UPDATE: Removed the word “hardened”. Acquia does not change Drupal core.

Empowering NGI Media with Alfresco: Webinar replay and slides

If you missed the webinar we did earlier this week with Alfresco and the leaders of our Media practice you can watch the re-play at WebEx. If you just want the slides you can get them from slideshare.

The presentation is about how you can increase revenue and operational efficiency by treating your content as assets that live in Alfresco and are served up through various channels and API’s. The repository is just one component of what we at Optaros refer to as the Next Generation Media Platform powered by Alfresco.

Open Source ECM: My topic for tomorrow’s AIIM DFW Meeting

I’ll be speaking at the AIIM DFW meeting tomorrow at the University of Dallas. My topic is ECM and Open Source Software: A New Force in ECM Solutions. Here’s the abstract:

Open source software is finally getting the recognition it deserves from analysts like Forrester and Gartner as a disruptive force in IT. Over the years, open source has “climbed up the stack” from operating systems to databases and now to business applications where it has established a firm foothold in the content management space.What should enterprises know about open source content management? Is it really just for Web Content Management (WCM) or does it meet the needs of broader Enterprise Content Management (ECM) deployments? Arelarge enterprises doing big, meaningful content management projects with open source or is its appeal limited to subsets of the market? What about Enterprise 2.0 initiatives? Can you assemble an Enterprise 2.0 solution from open source components? How does it compare with something like Sharepoint?

If you are in the Dallas area and are interested in the topic you should swing by. And, as always, please say hello and mention the blog. I look forward to meeting you.

When:
Wednesday, October 15, 2008
11:30a – 1:30p, Registration at 11:20a

Where:
University of Dallas
Haggar University Center – Haggar Dining Room
1845 East Northgate Drive
Irving, Texas 75062-4736
972.721.5123
Parking – Lot A and B
Campus Map Link – Bldg 4

Cost:
AIIM DFW luncheons are $30 at the door if you have not pre-registered. The pre-registration deadline for this event is now closed.

Surfing in D.C. with Alfresco’s new web application framework

If you are in Washington, D.C. today for Alfresco’s North American Community Conference please be sure to stop me and say hello. I’ll be in the sessions, in the Optaros booth, and presenting during the technical track. For my European friends, I’m sad to say that I will not be in Munich for the European version of the conference next week, but I will be in Europe at the end of this year or the first part of January so we can meet up then.

During the technical track (in both D.C and Munich) we will be showing some Surf 3.0 components we’ve built. One is called “Status”. It is kind of like a Facebook status or a Basecamp Journal entry. It allows you to say what you’re working on right now and what your mood is. A dashlet aggregates the status entries for all of your teammates across the site and another one shows status across all sites to which you are a member. When you mark it “Done” that status is archived. When status changes are made the new Activity Service is called so that if people are following site activity by subscribing to the activity feed, the status changes are included.

We’ve also got a simple “bookmark” component that lets you share URLs with other team members. As it exists right this second it allows a team to manage a set of shared bookmarks. Before it is GA we plan to make sure bookmarks are taggable and rateable and marked as shared or private.

I’ll follow up soon with a deconstruction of these components so you can learn more about how they work (and even contribute code to them if you want to make improvements).

Finally, we plan to leverage the Rating Service that was used as an example in the forthcoming Alfresco Developer Guide as the back-end for a five star rating component that would allow any Share or Surf site to enable users to rate any node.

These components will be available for you to add to your Share sites or any site built with Alfresco Surf. Our goal is to have them generally available by the time 3.0 Enterprise ships.

We’ll also be hosting code camps in North America and Europe so that you can learn to build your own Surf components. I’ll provide more details on those as they are available.

Acquia Drupal officially launches

Do you love Drupal but wish you could get a “certified” version and commercial support? Now you can. Acquia, the commercial company recently formed by Drupal founder Dries Buytaert and Jay Batson, officially launched Acquia Drupal this week (press release). Acquia Drupal is a commercially-supported distribution of Drupal. It includes Drupal Core plus a handful of essential modules. In addition to the distribution, customers can take advantage of the Acquia Network for things like monitoring, spam blocking, and update notification.

Acquia Drupal and Acquia Network subscriptions are freely-available, even if you don’t pay for support. If you want to try it out, check out the download instructions.

Optaros is very excited about the launch and we look forward to working with the Acquia team. We’ve had success implementing Drupal as a community platform for a number of clients. Having a commercial company behind Drupal is a big step toward broader acceptance among enterprises who can’t or are unwilling to self-support.

And we’re back

According to my hosting provider, the raid controller on the box that hosts this site failed at some point yesterday. I guess my bare bones hosting subscription doesn’t include failing me over to another box because I was down from the point of the failure until new parts could be overnighted and installed. Anyway, we’re back up now with a new appreciation for how many 9’s $9.95 buys you.

Alfresco plus Drupal thoughts

I’ve had several discussions with Optaros clients and internal team members lately around Drupal and Alfresco integration. Particularly around this topic, I usually try to listen more than I talk. I want to make sure I understand where the value is for this kind of integration rather than simply geeking out on yet another “stupid CMS trick”. I thought maybe I’d bounce a summary of these thoughts off of you.

The key is to leverage the strengths of each. If you don’t have a problem that requires this particular combination of strengths, assembling a solution from these two components isn’t going to be of any value at all. What are some of the key strengths relevant to this discussion?

Drupal has:

  • A front-end presentation framework. (I would add that it is written in PHP–a relatively widespread language that’s easy to pick up).
  • A very large library of modules, most of them focused on building community-centric web sites.
  • A lightweight footprint, requiring only a web server, MySQL, and PHP. (Yes, I know it is possible to run Drupal on other databases but not every module will).

Alfresco has:

  • Robust workflow via the embedded JBoss jBPM engine.
  • Smart management of file-based objects (files go on the file system, metadata goes in the database, and an API that abstracts the separation).
  • A plethora of file-based protocols and API’s for getting content into and out of the repository, including a framework to easily expose content and business logic via REST.

Silo’d community solutions are best implemented in Drupal alone. Why complicate your life with a separate repository? It adds no value in that situation. Similarly, straight document management (and even team-based collaboration) really can be addressed with the Alfresco repository and the standard Alfresco web client (or, soon, with Alfresco’s new Share client).

I think where Drupal-Alfresco makes the most sense is in cases where there is a significant amount of file-based content that requires “basic content services” such as workflow, versioning, security, check-in/check-out, but needs to be shared in the context of a community.

Alfresco becomes even more useful when there are multiple communities that need this content because you can start to leverage the “content-as-a-service” idea to make the content available to any number of front-end sites (where those sites might or might not be Drupal-based).

Suppose rather than one community, you have ten. Each community will have community-specific content but there may also be a set of content that needs to be leveraged across many communities. A subset of things you might be concerned about include:

  • Some content might need editorial review and approval before it goes live, but not everything.
  • Not all content comes from internal sources (pushed out from the repository). Some might originate from one of the communities as user-generated content. That content might need editorial review before it is made available on other community sites.
  • Communities need flexibility in how/if they expose cross-community content.
  • Tags and other metadata value need to be consistent between an end point and the repository (and therefore, across all end points).
  • Search needs to be properly scoped (does it include community content only, community plus shared content in the repo, multiple selected communities, or all communities)
  • Some clients may not be able to control the technology used on these community endpoints.

In these scenarios, Alfresco acts as your core repository and Drupal provides the front-end presentation layer. When you look at it this way, Drupal really becomes equivalent (in terms of where it sits in the architecture and the role it plays) to traditional portals like Liferay or JBoss Portal.
Content sitting in Drupal is harder for other systems to get to than when it sits in Alfresco. There are Drupal modules that make it easier to syndicate out but Alfresco’s purpose-built to expose content in this way. Once it is in Alfresco, content can be routed through Alfresco workflows, and then approved to be made available to one or more front-end Drupal sites. Content could come from a Drupal site, get persisted to Alfresco, routed around for editorial review, and then be made available. It really opens up a lot of possibilities.

Not all Drupal modules need to persist their data back to Alfresco. Things like comments and ratings will likely never need to be treated as real content. Instead of trying to persist everything you would either modify select modules to integrate with Alfresco or create new ones that work with Alfresco. For example, you might want to have Drupal stick file uploads in Alfresco instead of the local file system. Or, it might make sense to have a “send to alfresco” button visible to certain roles that would send the current node to Alfresco.

It doesn’t all have to be Drupal getting and posting to Alfresco. There might be cases where you need some Drupal data from within Alfresco. Maybe you are in Alfresco and you want to tag objects using the same set of tags Drupal knows about, for example. Or maybe you want to do a mass import of Drupal objects into the Alfresco repository.

I’ve got a little test module that uses Alfresco’s REST API (including the new CMIS URLs) to retrieve content from Alfresco and show it in a Drupal block. I can talk about it in a separate post.