Sencha Inc. | HTML5 Apps


Implementation Spotlight: cara3 from Generis

February 23, 2010 | Darrell Meyer

What is cara3?

cara3 logo cara3 is Generis’s brand new and unique interface, built on the tradition of our previous CARA software versions, providing user friendly interfaces to electronic document management platforms. It is the world’s first full-functionality interface that allows users to work on Documentum, SharePoint and Alfresco all from the same interface. An ergonomically designed, fast, single browser window that connects individually or simultaneously to different document repositories, it is designed to facilitate the creation, review, approval and management of documents.

Leveraging the functionality of the Ext GWT platform allowed the creators of cara3 to build an interface quickly, and most importantly to separate the backend, repository-specific functionality from the user interface, which allowed the user interface to be reusable for multiple repository types.

cara3 also makes history in another way?—?it is the first application providing full end-to-end functionality built using the CMIS standards that the major content management vendors have defined together.


Generis has been a provider of electronic document management software for over 12 years?—?clients range across industries and include Johnson & Johnson, Pratt & Whitney, Citigroup, Dow Corning, the Department of Homeland Security, Total Oil and 3M. With an eye on the industry and an ear to existing customers, Generis anticipated an industry move from Documentum and custom code’s historic monopoly on EDM systems to more availability of out-of-the-box systems along a wide spectrum of functionality and cost. That shift is well underway and as EDM managers reevaluate their platform choices one thing is of paramount importance: How to provide end users with a stable interface, regardless of the backend, to keep productivity growing.

With the huge number of widgets and features, and with great support, it turned out to be one of the best decisions we ever made.

cara3 and its supporting modules are the answer to that need. Now end users enjoy the familiarity of a personally customized desktop untroubled by platform changes, multiple platforms or data location/migration. In a familiar setting they are free to utilize the countless functionalities cara3 offers its users without experiencing the frustration and down time associated with retraining or moving from interface to interface.

Why did you choose Ext?

Technical architect Mariusz Pala had been looking for a framework for cara3 to replace the home-grown one we built for CARA2. “We have been fighting with plain JavaScript for a very long time. Many issues related with different browsers forced us to support just Internet Explorer. Any component, any widget required a substantial amount of work from us. Finally we found Google Web Toolkit?—?a great opportunity to support all browsers and significantly accelerate the development. But there was still one thing missing?—?pure GWT offers just a few basic components – whereas we needed a complex library. That was when we found Ext GWT, a rich, fast-developing integration of Ext with GWT. With the huge number of widgets and features, and with great support, it turned out to be one of the best decisions we ever made.”

Do you have any advice for developers just starting out with Ext for the first time?

Definitely. We are using the Web Desktop architecture which is great if there is a need to deal with many windows and different components. But what we learned is to keep everything in one place. By extending most of the components, like windows and stores, we could centralize the exceptions handling and logging which made the debugging much easier. Since we allow logging in to multiple repositories, we need to manage dozens of windows and a number of sessions. With a centralized architecture we can simply address where the exception comes from and if this is a simple session timeout, we can close the related windows or simply ask for login credentials.

To build a complete application on a new framework in just a few weeks was something that would have been impossible without Ext.

Another piece of advice would be using the Dozer library. Dozer is a Java Bean mapper that copies data from one object to another or converts one class into another. In Ext GWT objects used on the client side must extend the particular model object. Because we can’t use our server side beans on client side we have created Ext GWT wrappers?—?classes with pretty much the same structure but extending the Ext Model object. Dozer allows us conversion from server side bean to Ext GWT beans and vice versa with a single command which significantly simplifies the data exchange.

What makes cara3 unique?

cara3 is the world’s first single user interface to multiple systems. It is that simple. Consider the users who must access documents in several different repositories. That might mean being familiar with different user interfaces, different commands, different procedures for document workflow, etc. a potential nightmare for users whose only aim is to work on their documents. And what to do if you need to work on several documents simultaneously and your desktop cannot open the different repositories because of system demands? cara3 provides the solution to all these problems in one interface. Additionally, the interface is easily customized by the user via view management, widgets and dimensions built into the interface which are intuitive, easy to manipulate and stored as part of the users preferences to reappear at any computer they log in on. Reducing the end user’s experience to a familiar interface based on personal preferences as to what is important for a particular user’s experience focuses the user on the job at hand not the mechanics of the document management system.

Ext also uniquely allowed us to build cara3 using the new CMIS functionality, which has only just been released by the major content management vendors. To build a complete application on a new framework in just a few weeks was something that would have been impossible without Ext.

While cara3 meets the needs of end users, systems administrators also benefit from its functionalities. Created by thoughtful and knowledgeable architects cara3 meets all requirements of the most stringent validated systems. Leveraging areas where CMIS exists and providing functional placeholders for areas of future CMIS functionality administrators can tailor systems via configurable properties screens, automatic folders, languages, data dictionaries, dynamic no-maintenance security, audit and eSignature, Trash Can, search…

How have your customers responded to your new interface?

The response has been overwhelming. Customers have been using old-generation interfaces for a long time, including supposedly “new” web versions of those interfaces, and had more or less resigned themselves to slow performance, lack of functionality, and lack of usability. The feedback on the fast performance and high usability of the cara3 interface, as well as the extensibility of the functionality in a short timeframe using Ext, has been very positive.

It has helped us on our sales cycle as well?—?one potential major customer who has been hesitating for over a year about investing with Generis took one look at the demo of the new cara3 and has moved straight into the procurement process.

What features could we add to Ext to make building a rich application like easier in the future?

First of all?—?documentation. Lack of it is painful, but fortunately with the provided set of examples it was quite easy to understand the idea.

Next thing is a bug tracking system. Right now everything is on the forum which is quite unreadable. It’s hard to get the status of an issue or to track it. Internally, we use Elementool and find this to be a good service, but of course there are plenty of others.

Regarding the general features, the most painful right now is the lack of right-to-left languages support. We have a client who would like to use our software in their Arabic language offices, and this is a big problem.

Concerning components, there are two things that comes to my mind, both related with the Grid widget. The first one is a possibility to reorder columns in a grid, and the second one is the Grid Filter Plugin?—?a fantastic feature, unfortunately available only in plain Ext JS.

Final thoughts?

Ext GWT is an excellent supplement for Google Web Toolkit. It’s not just an ordinary set of components, it’s a very advanced framework for building rich web applications. With such a set of tools, developing is actually a pleasure. And the Web Desktop architecture is going to be a new standard in Enterprise applications. There is one question that arises in this situation: When is Google going to buy Ext?

There are 13 responses. Add yours.

Rachmat Kukuh R.

5 years ago

Great work, Generis!
Very inspiring!

Love from Indonesia smile

Sommai K.

5 years ago

Great work, Amazing


5 years ago

The CMS-AdminPanel CQ5 from It’s .interesting because it has WYIWYG-Editing Features and it is built with ExtJS too, could you make such a Spotlight for that too?

Abraham Elias

5 years ago

We definitely need to do a spotlight on Their app is amazing.  We’re also glad to see their revenue jump too.  We like to think we had a little something to do with that wink


5 years ago

Great work Genaris and Ext JS, being able to build “a complete application on a new framework in just a few weeks” is pretty impressive.

Also, thanks for the link back to, we’re glad you find our issue tracker useful!

David Churchland

5 years ago

I know this is off the Ext JS topic but I am a little confused.  I was under the impression that SharePoint did not (as yet) support CMIS?  Am I mistaken or have Generis built their own CMIS service for SharePoint?

Rory Kleeman

5 years ago

Hi David, I’m also interested in CMIS. Is it true that all the functionality provided by cara3 is purely via CMIS, with no special adaptations for Documentum and Alfresco? Could it run with any CMIS repository?

James Kelleher

5 years ago


Just answer the couple of questions on SharePoint and non-CMIS functionality.  Where CMIS functions don’t exist (e.g. security stuff in Alfresco 3.2, most of SharePoint functionality) we have built our own, which obviously we will replace once the CMIS components are available.  In the same manner, we have built a lot of additional functionality into the CARA product which is not supported by CMIS, and is therefore repository-specific.  So for each repository there are the CMIS functions (which work on all CMIS repositories, and then “extensions” that are repository-specific.  Hope this clarifies!



5 years ago

i have posted your blog on my site


5 years ago

Likes! from indonesia

Dick Rustrian

5 years ago

I have seen her last month in auckland, was a great show!

Shimano Fishing

5 years ago

hi…great work Generis…. its pretty impressive…..

Shimano Fishing


5 years ago

I have seen her last month in………… yes~

Comments are Gravatar enabled. Your email address will not be shown.

Commenting is not available in this channel entry.