CoreMedia
Company Summary
CoreMedia is Germany’s largest enterprise content management (CMS) vendor. CM also added a digital rights management (DRM) product line to their repertoire while I worked for them (based on the OMA standards).
Having now worked “for the client” as well as for a product vendor, I decided to try something new and I joined the company in early ‘01 as a consultant.
Technology Keywords
CMS, Java, Sun/Solaris, Windows, BEA Weblogic, Sun HA Cluster, Veritas Cluster, ATG, Oracle, LDAP, …
Projects
Bravo
Bravo is Germany’s most popular teen magazine (my mother used to glue the sex-ed pages together before giving it to my sister).
Their site was already up and running, but they wanted a more flexible rendering toolkit which let them add new features to the site more quickly.
In my short time over there I came up with a quite nifty little component-based JSP architecture on top of CoreMedia’s rendering stack. Call it early JavaServerFaces.
T-Online I
Soon enough I was shipped off to the company’s largest client, T-Online. T-Online is part of Deutsche Telekom and Germany’s largest ISP. All portals were generated out of of the CoreMedia CMS. The sheer magnitude of the installation was (and stil is) quite breathtaking:
- Content Authoring Services on top of a Sun HA cluster

- Another cluster for the Live Content Services (the published content resides there)
- 10 replicated Slave Content Servers in two data centers
- around 100 web servers in two data centers (Apache + CoreMedia rendering engine)
I spent the following 9 months doing a combination of the following:
- Server optimization
- JVM tuning
- Devising CMS caching strategies
- Revising the software deployment strategies
- Revising Fail-Over strategies
- Planning and rolling out CMS updates to all servers
- Providing general CMS know-how to the development teams
9 months on the road for the same client dealing with deployment strategies almost exclusively, I was craving a little more than just shell scripts and wanted a “real” development project again.
I initially spent about a month writing up real world test cases for the CMS based on this monster installation, but then quickly found a (billable) project again:
Vodafone
Vodafone is one of the largest telcos out there, providing cell phone service to most parts of the world.
I joined Cap Gemini’s development team as a CMS consultant and we jointly developed a nice, fully-personalized web site which never went live (really, it was ready and all they had to do was flip the switch when management decided to use Vignette instead).
My responsibilities included
- Architecting and implementing the integration between CoreMedia and ATG
- Getting ATG and CoreMedia to run within a BEA Weblogic cluster (that was fun) and talking to LDAP
- Defining the rendering application architecture
- Defining the CMS content model
- Streamlining/defining the software deployment model
T-Online II – The Rewrite
One night in the office my boss pulls me aside and says he just landed a cool project and he wants me to be the tech lead on it.
Turns out that we bid on re-writing all of T-Online’s portals and won (the original implementation had been done by SD&M). The only caveat being that we had to do this within 4 months. So I packed my bags and went back to Darmstadt.
Luckily the wireframes and design comps had already been provided and the front-end code was in the process of being implemented by Sapient. So over the course of the next 4 months we (that is a mixed team of about 15 consultants) indeed wrote a very elegant and flexible rendering application which supported:
- All news portals (finance, sports, etc)
- The shopping gateway (which also included integrated the payment systems)
- Video functionality, especially on the sports portal, using TOI’s proprietary CDN
We also wrote automated content migration tools and coordinated the entire deployment of the system without any downtime. As a matter of fact, our installation procedure was so impeccable that the administrators launched one portal after the other with the development team simply watching. It has been my goal ever since to make every launch as smooth as this one.
T-Online II – More portals
After the initial launch, I was put in charge of three project teams: the “core” development of the main portal software, the video-on-demand project (which included T-Online’s porno portal), as well as the mobile portals (which utilized MobileView as a device recognition engine).
At this point these portals were serving around 1.5 billion page impressions per month.
T-Online II – Upgrades
After those portals launched, we decided to do a mega-upgrade on all those servers:
- New major CMS version (CoreMedia 3.3->4.2)
- New Oracle version (8->9)
- And since we were already changing things: A new version of the portal software
- Migrate the Sun HA cluster to a Veritas Cluster
Having a good track-record of good deployments, we finally hit a snag on this one. While the test runs of the data migration worked just fine, something must have changed in the data between the testing and the actual migration. Well, after the databases had been exported from 8 and imported into 9i and the new CMS server started, it just barfed out NullPointerExceptions. Even our core product team couldn’t help us, so we pulled the plug and let the administrators execute the rollback plan. By the next morning, the content editors had the old version back (the portal always remained available to the end users during every upgrade). This is when I really got to appreciate a good rollback strategy :)
The problem was easily fixed and on the next weekend the site went live without a hitch.
T-Online II – Rendering Framework
TOI’s editorial staff was very happy with their new portal system, however, they wished they could push out new functionality more quickly. The portal software had to be implemented, tested, deployed (that entire SDLC thing) and that just took too much time.
I devised a fairly clever idea: Why not define integration points in the portal and let more advanced users upload new functionality?
The answer was seemingly easy. I integrated a velocity engine into the portal software and let the users deploy velocity templates to the web servers via the CMS. I made sure these scripts executed in a sandbox and only called pre-defined APIs as not to jeopardize the server stability.
The content staff itself didn’t see a difference between the velocity templates or built-in JSPs, keeping this technical detail to the more advanced users.
OMA DRM Packager
I had already left CoreMedia to move to Los Angeles when I was presented with this opportunity. As a freelancer, I worked on defining a packaging integration kit for the Manzanares version of the CoreMedia DRM system (which is a based on a nice SOA-based architecture).
This packaging toolkit integrated OMA DRM v1 and v2 as well as Windows Media 10 DRM. The software, based on the Spring Framework, was easily re-assembled into the following products (I always loved Legos!):
- An on-demand packager
- A batch-packager
- A GUI-based packager
What’s a packaging toolkit? Well, on one side you have the unencrypted binary data as well as metadata in form of XML. The toolkit takes this input, encodes the binaries using the metadata, uploads the encoded binaries into a target directory (e.g. the download server) and registers the metadata with the DRM content server.
The application was written in Java (Spring), the WMDRM integration done via Web Services and a .NET / C# server application.
Other Projects
Other projects I spent a few weeks here and there:
Tools
Through the years of CoreMedia consulting I had develop numerous ports and utilities which had become almost famous in the community. They included ports of the CMS to PostgreSQL as well as the CapShell, a full command line administration interface for CoreMedia. This tool is no longer available or supported (and I am sure the code base horribly outdated by now). If you’re interested, however, you can look at the original documentation right here.
Interestingly enough, the shell seems to have found its way into the Government Site Builder, the toolkit which is the foundation for almost all German government web sites.