Blue Fish Development Group
701 Brazos St. #700
Austin, TX 78701
(512) 469-9300
June 22, 2010
Alex Bilstein is Blue Fish’s User Interface Designer and Front-End Developer Extraordinaire, and he’s just written three amazing articles about how to use custom fonts on the web.
Custom fonts are all those cool looking fonts that you see on posters, billboards, and other print advertising. Most computers don’t have these fonts installed, so designers buy them from font “foundries” to use in their designs. Web site designers are at a disadvantage, because in order to use a font on a web site, it needs to be installed on the web visitor’s computer, and most computers have only a handful of standard fonts installed. This is why most web sites use the same two or three fonts over and over again - those are the fonts that are installed on every computer out there.
Over the years, crafty designers and web developers have been coming up with clever ways for web sites to use custom fonts even if they are not installed on their visitors’ computers. The techniques have evolved over time, and now there are some pretty good ways of doing this.
Alex has written three articles that will get you up to speed on what you need to know to use custom fonts on your web sites.
June 21, 2010
Blue Fish has been helping clients build Intranets for over ten years, and although this type of project doesn’t sound that challenging, I think Intranets can be one of the hardest types of projects to get right.
What makes Intranets so tricky is that they have to serve several masters. They often have to:
These competing priorities can make it hard for a single Intranet website to meet all of your company’s needs. What makes it even worse is that since everyone in the company uses the Intranet, everyone in the company has an opinion on what it should look like (even if they don’t really know much about how to design these types of things).
Luckily, my clients have taught me a few tricks over the years about how to deal with these issues. So Tuesday of next week (June 29), I’ll be presenting an online webinar that discusses some neat ideas for how Alfresco Share can be used as a corporate Intranet, creating a network of Intranet sites that work together to serve different stakeholder needs at different levels of the company.
Click here to Register for the Webinar: Using Alfresco Share as a Corporate Intranet on Tuesday, June 29.
June 21, 2010
Blue Fish and Alfresco are hosting another round of lunch and learns to introduce folks to the benefits of using Alfresco as an Enterprise Content Management platform. If you haven’t seen Alfresco yet, let us buy you some lunch and show you what it can do.
We’ll be hosting these events in 5 cities across 3 states:
This round of lunch and learns will provide an overview of Alfresco and describe how companies like yours are using Alfresco to address their ECM challenges at a fraction of the cost of traditional solutions. I’ll be at each and every one of them, and I’m planning to give a live demo, so wish me luck that the demo gods favor me on those days.
Space is limited, so please register early to secure your place. I hope to see you there.
June 4, 2010
There wasn’t much fanfare about it, but Alfresco Enterprise 3.3 was released last week. The Community edition has been available for over a month, and now the fully supported Enterprise edition is available.
June 2, 2010
Blue Fish is hosting a couple of webinars in the next two weeks that feature Blue Fish clients talking about the methods they have used to successfully perform Documentum Migrations.
The first webinar is Extreme Migration Makeover, and it was presented at EMC World by Bas Ursem with Solvay Pharmaceuticals. It’s Wednesday June 9th at 10:00 CDT (Chicago Time). If you are planning a content migration project, this webinar may be a must-see. It may be particularly important to you if…
And if that’s not exciting enough, another friend of ours, Nils Schlote with Roche, will be presenting a related topic, Standardizing on a Global Strategy for Content Migrations on Thursday 17 June at 10:00 CDT. Roche has a roadmap with a myriad of new systems, upgrades and consolidations so they have devised a global migration strategy that will enable project teams to address their unique migration challenges in a consistent, repeatable manner.
This presentation may be particularly interesting to you if…
You can register for these webinars at www.bluefishgroup.com/migration-webinars.
May 12, 2010
I just finished attending Bas Ursem’s presentation on how Solvay Pharmaceuticals (now Abbot) migrated from a legacy Documentum system into a new Documentum/SharePoint system. This was the first project to use Migration Workbench, and Bas told the story of how they used a combination of process and technology to overcome some steep migration challenges.
The room was full of people from life sciences companies, and they seemed to hang on every word. EMC World doesn’t have very many presentations like this on real-world case studies, and from what I saw, there is incredible demand for them. Attendees really want to hear and talk to companies that have been through these types of projects before. We are all hoping EMC gets the message and includes more case study presentations in the future.
Bas is a great speaker. He was able to turn a detailed presentation about migrating regulated pharmaceutical content into a fun and interesting session. At the end of the session, Bas rewarded folks that asked questions by giving them “goodies” that he had brought over from The Netherlands (one was a toy bus that fit the theme of the presentation, and the other was a bottle opener in the shape of a Dutch wooden shoe).
If you weren’t able to make it to EMC World, or If you were there but missed his session, you can catch an “encore presentation” of Bas’ session in June. Bas will be repeating his presentation on a webinar that you can stream over the Internet. If you are interested in seeing it, or you want to share it with a colleague, you can click here to register for Solvay Pharmaceuticals: Extreme Migration Makeover! on June 9th.
May 12, 2010
I attended Aamir Farooq’s session devoted to Documentum Search Services (DSS) and found out a few more details. Aamir did a great job giving a good level of detail and connecting the technical points to the benefits that DSS users will see, and he did so in a laid back, easy to consume manner.
In no particular order, here are the things that stood out for me:
The default search behavior will switch from “OR” syntax to “AND” syntax when you search for more than one word. Imagine that you search for “bear” and get 10,000 results, so you decide to be more specific by searching for “black bear”. In the FAST search engine, you might get back 100,000 results (all the documents containing either “black” or “bear”). In DSS, you would get back fewer results, since DSS returns only the documents that contain both “black” and “bear”. This is how Google and other internet search engines work, so it’s more intuitive for your users.
Because EMC now has control over the internals of their search engine, they are able to optimize it for some of the key Documentum use cases. First, they optimized the ability to exclude results that the user doesn’t have permission to see. Queries that used to take minutes in FAST now take seconds in DSS. Second, they optimized the “folder descend” queries that search inside deep folder structures. In FAST, a query that took 44 seconds now takes less than 1 second in DSS.
Faceted search refinement is something I’ve been excited about for about 5 years. For the uninitiated, this technology allows users to quickly refine large search result sets by drilling down on pre-defined filters (or facets). This approach is used by Amazon, Home Depot, and lots of other online retailers.
For example, if you search for “drug interaction” and get back 10,000 results, you can quickly refine that list to, say, only Word documents by drilling down on the file format facet. This might limit the results to 1,000 documents. Then you might refine on the document type facet, showing only the reports. That might limit the results to 100 documents. Refine by date modified to selecting only the documents created in the past week, and it will be easy to find the document you are looking for in the small number of documents remaining.
DSS supports facets out of the box, so Webtop, CenterStage, and other Documentum products can have much improved search interfaces.
Because DSS is part of the Content Server, it is available at no additional cost to existing Documentum customers with a current maintenance contract.
Because Microsoft is no longer supporting FAST as an OEM product, EMC has some pretty aggressive timelines for replacing FAST with DSS. Support for FAST expires at the end of 2011, so if you want to be on a supported product, you’ll have to install DSS before then.
This might mean that you have to upgrade Documentum, since DSS will only work on D6.5 SP2 and later. So be sure to plan your budgets next year for the hardware and personnel necessary to perform the upgrade.
The good news is that the upgrade should be a lot less painful than the last time they replaced Documentum’s full-text engine. DSS can be installed alongside FAST (on different servers, but as part of the same Documentum environment). While it is indexing all of your content, you can keep using FAST. When you are ready, you can cut over from FAST to DSS pretty painlessly.
May 11, 2010
Documentum’s xCelerated Composition Platform (xCP) is the hot new thing at EMC World this year. I attended John McCormick’s xCP Roadmap presentation to learn what’s new in xCP and what’s coming.
So what is xCP does and why ECM feel it’s necessary? xCP is trying to solve two problems:
A case is the term EMC is using to describe the collection of information (structured and unstructured) that goes through a business process in order to reach a business decision. It might include multiple documents, some data from an external system, and some data captured from participants in the process. All this data has to come together in order for some important decision to be made.
Case Management is the creation, routing, collaboration on, and monitoring of these case materials. It includes the orchestration of various interactions that are needed to make an optimal business decision. If a case is a file folder full of documents, case management is the set of processes that makes sure the folder goes to the right people and gets filled up with the right documents.
For example, imagine that you are a mortgage company and someone applies for a loan. They fill out a form and give it to a loan administrator. Based on the type of loan being requested and the amount, the load administrator requests a credit report, tax documents and other financial information. Once all of that has been gathered, the loan administrator passes the file over to the loan approver with the ability to approve a loan of that amount. This person looks over all the information, requests some additional documents (maybe a survey or an appraisal) and then approves or denies the loan. There are lots of other steps in the process - you get the picture.
Collecting all these documents and forwarding them to the right people so that the best decisions can be made is what xCP is trying to automate.
Case-related processes have some unique attributes that make them challenging to automate:
Case management fits in a gray area between ad-hoc collaboration where pre-defined workflows just aren’t effective and transactional document management with strict, linear processes like scanning invoices. When you have a process with lots of variation and lots of pieces of information coming together, you probably have a case management problem.
EMC’s vision is to make it easy for companies to design and deploy custom case management solutions that are tailored for their specific business processes. With xCP, the idea is that you can easily define a case (with all its metadata and associated content), design forms that are need to capture structured data, and model the business processes that the case goes through.
Once you have completed these design and modeling activities, xCP will automatically assemble a custom application with work queues, custom forms, work flows, and every thing else needed for your users to create and manage cases. In effect, you are building a custom application without writing any code.
And this is where the other key goal of xCP comes in - making it much easier to upgrade Documentum without breaking your custom application.
One of the common complaints about Documentum is that when you customize it to meet your needs, it’s likely that your customizations will not work when the next version of the product comes along. This problem isn’t unique to Documentum - it’s common to all enterprise software applications.
This is a problem I know a lot about. Blue Fish builds custom applications on top of Documentum all the time (it’s our sweet spot), and while we have developed best practices to insulate our customizations from changes in the platform, sometimes it simply can’t be avoided. If you write an application in WDK and a couple of years later, EMC gets rid of WDK, you are pretty much screwed.
EMC’s approach to eliminating customization-related upgrade hassles is to eliminate the customizations themselves. They do this in xCP with what’s called a declarative model. WIth a declarative model, you express what you want the system to do, not how it should go about doing it.
Here’s how it works. Let’s say you need a form to capture the loan application we described earlier. With xCP, you use Forms Builder to drag the various fields onto a form and click various checkboxes to specify which fields are mandatory and such. Forms Builder saves this layout in an internal format that xCP interprets at runtime when it’s time to display the form.
A year or two later, imagine that EMC completely changes the architecture of xCP, migrating it from a WDK application to a rich internet application like CenterStage. You shouldn’t have to redefine your form, because the new version of xCP will be able to read that same form layout file, and even though the form will look completely different in the new version of xCP, it will have all the same fields in the same layout.
By the way, this example isn’t that far-fetched. EMC is in the process of doing this very thing! When xCP 2.0 is released next year, it will be completely re-implemented using a rich internet application toolkit like ExtJS. But John promises that you won’t have to change any of your forms definitions, process definitions, data models, or any of the other xCP components that define your case management solution.
It’s important to note that this approach means you can’t customize xCP. If there isn’t a form control that you need, you’ll be out of luck. If the xCP designers didn’t anticipate your use case, you’re probably out of luck. If you don’t like the look and feel of the UI or the performance of the system, you’re out of luck. And while that might be scary for a crotchety old developer like me, for most of EMC’s customers, it’s a tradeoff they will gladly accept if it means fewer upgrade headaches.
May 10, 2010
Victor Spivak gave his annual Documentum Architecture presentation today. The main themes he covered were Service Orientedness (my term), Enterprise Readiness, and Complexity Reduction.
He also dropped a real bombshell about a potential change in the architecture.
Documentum Foundation Services (DFS) is Documentum’s web services API. It’s been around for a few years, and EMC is promoting as the best way to interact with the Content Server. Developers are encouraged to use DFS instead of Documentum Foundation Classes (DFC), which they now consider a low-level API. You use DFC to create services, and you use DFS to create applications.
EMC is taking this advice to heart. Centerstage and Media Workspace are two recent Documentum products that are built on DFS (as opposed to Webtop, which is built using DFC).
There are 30 Core Services in DFS, but not all the functionality in Documentum is exposed through DFS. They only add the services that they need (or for which there is popular demand).
DFS is a SOAP-based web service, which is suitable for strongly typed languages such as Java and C#, but is apparently not so good for dynamic languages like Ruby or JavaScript. Developers that use dynamic languages prefer RESTful web services, which EMC does not currently support.
Victor is a fan of RESTful services, and he was looking for some support from the attendees that he could use to convince his managers to invest in adding support for REST. Victor asked how many people would really use RESTful services if he were to build them, and in a room of over 200 people, only TEN raised their hands. Victor was crestfallen.
This raises a question. Why don’t Documentum developers care about REST when other developers in other fields are so passionate about it? My (completely speculative) opinion is that the day of the Documentum developer is mostly behind us. Most people in the room were Documentum implementers, not developers. They are not tasked with building interesting new applications that mash-up data from different sources while integrating the result into some internal portal or other kind of web application. They don’t spend all day every day developing, so they don’t value using scripting languages like JavaScript to decrease development time.
Contrast this with Alfresco’s developer community, which is as likely to be building a content-enabled web application as they are to simply implement the technology as a document repository for their office documents. As a result, Alfresco’s SOAP API has being placed on the back burner while their RESTful services get constant attention.
Victor cited Centerstage as the shining example of how EMC wants to build apps from now on.
He noted that one of the big limitations of WDK is that it does not separate presentation logic from application logic. This is a problem because presentation technologies evolve very quickly, changing every couple of years. Keeping up with these changes would mean re-writing the entire application constantly, but ignoring these changes makes your application seem outdated and clunky.
With Centerstage, the presentation logic lives in the browser, while the application logic lives on the server. EMC uses a JavaScript toolkit to make requests to the DFS services which return their results as XML files. The browser then renders the user interface by parsing the XML file as a data file. This is different from WDK which generates the UI on the server, renders HTML files and the browser simply displays the HTML file.
One of the benefits of this approach is that it allows the presentation tier to use a mix of technologies, such as Ajax and Flex. Centerstage is mostly a JavaScript application, but it has a few Flex components for doing things like viewing thumbnails.
Because DFS is a SOAP-based web service, and those are hard to use in applications like this, EMC has written their own middle tier in the browser. This allows the browser to use direct web remoting (DWR) to communicate with DFS.
Victor told us about a couple of interesting technology decisions they made. When Centerstage began development 3 years ago, ExtJS was the JavaScript toolkit they chose. But if they were to make the decision today, they would probably use JWt (Java Web Toolkit) GWT (Google Web Toolkit).
The other interesting decision they made was to use Mozilla XUL to define the layout of their user interface. Then they translate the XUL XML file into ExtJS in the browser via XSLT.
A big focus area for Documentum 6.6 was to improve what EMC calls “Enterprise Readiness”, which I took to mean “making it easier for big giant enterprises to run and support Documentum.”
One way they have done this is to improve Documentum’s ability to ingest very large volumes of data. Version 6.5 is already very good at this, and with 6.6, they are making it even better.
In version 6.5, Documentum added batching (importing multiple documents in a single batch), scoping (batching related documents together), partitioning (storing related documents together), and lightweight sysobjects (storing fewer attributes when the complete set of metadata is not needed). Together, they allow Documentum to ingest 5 times as many documents in an hour than in previous versions.
In version 6.6, Documentum has improved the batching and partitioning and has added some additional improvements:
Documentum also added some DQL Enhancements that improve sub-selects and joins (they added support of left outer joins).
I’m excited about the new support in DQL for pagination, or returning only a certain subset of the rows that result from the query. This is useful in web applications when you have “pages” of results that you want to the user to navigate through.
In the past, you had two options, neither of them good. You could keep the database cursor open and wait for the user to request the next page of results (this is expensive and you never know if the user is going to request another page or not). Or you could rerun the entire query and manually discard the rows that you’ve already returned. Pagination lets you rerun the query each time while specifying row number to start with. DQL will only return the small result set you want to show to the user.
Documentum is releasing a new search engine called Documentum Search Services (DSS). This will replace the FAST search engine. Apparently, FAST makes it much too difficult to support a really large number of documents (100 million+).
DSS stores the metadata in xDB (EMC’s XML database) and the full text index in Lucene. This allows it to issue queries across both metadata and full text very quickly. One advantage is that since xDB contains all the ACL metadata, it can weed out any results that the user does not have permission to see. With FAST, each item in the search result had to be checked against the Content Server’s ACL metadata before it was returned to the user. EMC says that this alone makes DSS 10 times faster.
DSS has other “enterprise readiness” features as well.
The big talk around Momentum is about xCP, Documentum’s xCelerated Composition Platform. Victor says that everything about xCP is about reducing complexity so that it’s easier to create and deploy Documentum-powered content applications. He called it the “Visual Basic of ECM.”
xCP uses a model driven (declarative) approach to reduce the need to write code. You “declare” what you want the application to do (via configuration) and xCP will assemble the application that you have described.
xCP 1.5 is based on WDK, but it’s being shelved for a new version, xCP 2.0 that will be based on a rich internet application model similar to Centerstage. Victor hinted that the architectural patterns will be similar to Centerstage, but the implementation technologies are likely to be different in xCP 2.0.
Victor called this a “very ambitious project”. xCP 2.0 is targeted for the end of next year (2011).
The final item I’ll leave you with is the most exciting from an architecture perspective. Victor told us that they have been thinking about ways to use xDB as the metadata storage mechanism for Documentum, replacing the relational database that they use today.
This is 3-5 years away, if it happens at all, but it’s an incredibly intriguing idea. Eliminating the database would dramatically reduce the complexity and overhead required to operate a large, distributed Documentum environment, and while Victor said that he personally thinks it’s the right thing to do, there is a lot of thinking and testing to be done first. He has a small team working on it now, and Victor told the audience that while he’s making no promises, he hopes to be standing at an EMC World 2-3 years from now revealing it as an upcoming architectural change.
May 10, 2010
It’s the middle of the first day of EMC World. Here are my thoughts so far.
The division within EMC that owns Documentum has changed their name from Content Management and Archiving to “Information Intelligence Group”. Not sure what this is about yet - I guess I’ll find out over the course of the conference.
Momentum is the name of the old Documentum user group conference, and it’s also the name of EMC World’s “conference within a conference” that is focused on Documentum and the related content management technologies.
There are only 16 breakout sessions on Documentum today, and most are delivered by EMC product managers. Only three sessions today are being presented by customers.
The “Momentum Zone” at the solutions pavilion is tiny. There are probably less than 20 booths total, and only a handful of them are names I recognize from previous conferences. Blue Fish, Technology Services Group, and many other Documentum-focused partners that have had booths in the past elected not to exhibit this year.
I’m totally bummed out that I couldn’t get into John McCormack’s presentation on the Documentum roadmap. I guess I’m going to have to download the slides when they are available, but it’s not the same.
From my perspective, EMC World is a conference about Documentum. Of course, that’s only one percent of what’s going on here, but it’s the one percent that I care about. But I listened to Joe Tucci’s keynote anyway to here his vision for the future of EMC.
EMC is pushing something they call the “Private Cloud”, EMC’s vision for operating a cloud model within your own data center. The idea is that with vmWare and other EMC technologies, you’ll be able to provision new computing services in your own datacenter in a manner similar to the way that Amazon, Google, Facebook, and other massive online companies do. Instead of having infrastructure dedicated to an application the way we do today, you’ll have a slew of generic computing resources (CPU, memory, bandwidth, and storage) that can seamlessly provision themselves as demand for them increases and then release resources into a common pool as demand falls off.
I attended Matt Coblenz’s presentation on CenterStage, EMC’s replacement for eroom. I had heard the CenterStage pitch in past years, and was excited to learn more about what exciting changes have been introduced over the past year. It turns out, not much is new. CenterStage was a big topic at last year’s EMC World, but it wasn’t officially released until about six months ago. As Matt presented some of his thoughts about the future, one of the audience members put him on the spot.
“Your product is nearly two years late, how can I trust your roadmap and vision?” the audience member asked. Matt handled it as well as he could, saying, “You won’t until I earn your trust again. We haven’t done a good job of meeting commitments in the past, but we are trying harder.”
So the bottom line is that nothing much is new to report about CenterStage.