September 02, 2010

Cheryl's Nuxeo Blog

Nuxeo Studio - New How-To Video - Content Automation - Create a Validation Button

We've just published the second in our ongoing Nuxeo Studio "How-To" quick start series. Haven't heard about Nuxeo Studio yet? It's been the hottest thing we've done this year (so far...)  

As a hosted design environment for our Connect subscribers and Galaxy Partners, we've now got hundreds of companies signed up and actively building content management apps & feature enhancements specifically for their own business needs.  When we talk about "ECM as a Platform"... Nuxeo Studio is where we put our money where our mouth is: we give you the simple, graphical, wizard-like tools to build the apps and extensions you need - with minimal need for custom coding.  

This week's tip is how to build Actionable Buttons that trigger a custom chain of operations to handle or manage your electronic content in the context of your common business processes.  In this scenario (just over 2 minutes...) we step you through the complete process to design, create and implement an approval/validation custom button to fast-track the content review activities commonly done by your busy knowledge workers.  No coding, no hassle, fully backwards compatible with future Nuxeo releases, link key approval activities with metadata, status and lifecycle actions and deliver it to your end-users in one easy click.  

 

Still not using Nuxeo Studio? Well... try or buy by contacting us here

And September is "Back to Studio" month here at Nuxeo. Our weekly Wednesday webinars are back on track - weekly sessions highlighting the key features of Nuxeo Studio in an online, live, interactive forum where our experts can answer your questions and provide real-world tips. Join us by registering here.

August 30, 2010

Nuxeo Developers Blog

Introducing fise, the Open Source RESTful Semantic Engine


Fise_logoAs a member of the IKS european project Nuxeo contributes to the development of an Open Source software project named
fise whose goal is to help bring new and trendy semantic features to CMS by giving developers a stack of reusable HTTP semantic services to build upon.

As such concepts might be new to some readers, the first part of this blog post is presented as a Q&A. 

What is a Semantic Engine?

A semantic engine is a software component that extracts the meaning of a electronic document to organize it as partially structured knowledge and not just as a piece of unstructured text content.

Current semantic engines can typically:

  • categorize documents (is this document written in English, Spanish, Chinese? is this an article that should be filed under the  Business, Lifestyle, Technology categories? ...);
  • suggest meaningful tags from a controlled taxonomy and assert there relative importance with respect to the text content of the document;
  • find related documents in the local database or on the web;
  • extract and recognize mentions of known entities such as famous people, organizations, places, books, movies, genes, ... and link the document to there knowledge base entries (like a biography for a famous person);
  • detect yet unknown entities of the same afore mentioned types to enrich the knowledge base;
  • extract knowledge assertions that are present in the text to fill up a knowledge base along with a reference to trace the origin of the assertion. Examples of such assertions could be the fact that a company is buying another along with the amount of the transaction, the release date of a movie, the new club of a football player...

During the last couple of years, many such engines have been made available through web-based API such as Open Calais, Zemanta and Evri just to name a few. However to our knowledge there aren't many such engines distributed under an Open Source license to be used offline, on your private IT infrastructure with your sensitive data.

Why would I want to semantically annotate my content?

Lod-datasets_2009-03-27_coloredLinking content items to semantic entities and topics that are defined in open universal databases (such as DBpedia, freebase or the NY Times database) allows for many content driven applications like online websites or private intranets to share a common conceptual frame and improve findability and interoperability.

Publishers can leverage such technologies to build automatically updated entity hubs that aggregate resources of different types (documents, calendar events, persons, organizations, ...) that are related to a given semantic entity identified by an disambiguated universal identifiers that span all applications.

I you are not yet convinced please have look at this BBC use case and this 3 minutes video by the fine freebase folks.

How to use fise?

Setting up a fise instance

You can test fise using the online demo or you can download a snapshot of the all-in-one executable jar launcher (67MB) or you can build your own instance from source. If you want to run your local instance just launch it with a java 6 virtual machine as follows:

java -jar eu.iksproject.fise.launchers.sling-0.9-SNAPSHOT.jar

And point your browser to http://localhost:8080 instead of http://fise.demo.nuxeo.com in the following examples.

Overview of the fise web interface

Once the server is up and running, fise offers three HTTP endpoints: the engines, the store and the sparql endpoint:

  • the /engines endpoint all the user to analyse English text content and send back the results of the analysis without storing anything on the server: this is stateless HTTP service
  • the /store endpoint does the same analysis but furthermore store the results on the fise server: this a stateful HTTP service. Analysis results are then available for later browsing.
  • the /sparql endpoint provide a machine level access to perform complex graph queries the enhancements extracted on content items sent to the /store endpoint.

The engines endpoint

Let us focus on the /engines endpoint. The view first list the active registered analysis components and then ask for a user input. Type an English sentence that mentions famous or non famous people, organizations and places such as countries and cities. I your are lazy, just copy and paste some article from a public news feed such as wikinews and submit your content with "Run engines". Depending on the registered engines and the length of your content, the processing time will typically vary from less than one second to around a minute.

Submitting text content to the /engines endpoint using the web interface

Submitting text content to the /engines endpoint using the web interface


By default fise launches three engines in turns:

  • the first engine performs named entity detection using the OpenNLP library: it will try find occurrences of names of people, places and organizations based on a statistical model of the structure of English sentences
  • the second engine tries to recognize the previously detected entities using a local Apache Lucene index of the top 10,000 most famous entities from DBpedia. This index is configurable and will be improved in future versions of fise.
  • the last engine then asynchronously fetches additional data from DBpedia such as the GPS coordinates of places, thumbnails and Wikipedia descriptions of the recognized entities. Fetched entities are cached in the fise store for faster lookup next time the entity is recognized. A summary of those informations are then display the results in the fise UI as columns of entities and a word map display the locations:

Overview of the extracted entities in the submitted text 

Overview of the extracted entities in the submitted text.

Using the REST API

Up until now we have used the web user interface for human beings who want to test the capabilities of the engines manually and navigate through the results using there browser. This is primarily a demo mode.

The second way to use fise is the RESTful API for machines (e.g. third party ECM applications such as Nuxeo DM and Nuxeo DAM) that will use fise as an HTTP service to enhance the content of there documents. The detailed documentation if the REST API is available on a per-endpoint basis in the Web UI by clicking  on the "REST API" link in the top right corner of the page:

Rest-api-link 

Accessing the inline documentation for the REST API

Here is a sample call to the engines endpoint REST interface using the curl command line tool:

curl -X POST -H "Accept: text/turtle" -H "Content-type: text/plain" \
 --data "Fise can detect famous cities such as Paris." \
 http://fise.demo.nuxeo.com/engines/

Please note that the output of this call will be formatted as text/turtle (a standard RDF serialization format). Again this is not meant to be consumed by regular human beings but only by machines (or semantic web engineers). The list of available serialization formats is detailed in the inline documentation.

The road ahead

To close this first blog post, here are a couple of un-prioritarized improvements I would like to implement in the coming months.

Multi-lingual support

Right now the packaged engines can only deal with English text content. We plan to progressively add statistical models for other languages as well.

Relations extraction

Right now if you submit a sentence that starts with "United Kingdom prime minister David Cameron declared to the press..." you will get an output such as:

David-cameron

"David Cameron" is detected as a person but not recognized since the fise index was built on a DBpedia dump extracted before his election. Furthermore fise is currently not able to extract the relation between the entity "David Cameron" and the entity "United Kingdom". In future versions of fise we plan to extract the role "prime minister" that links the person to the country. This should be achievable by combining syntactic parsing with semantic alignment of english words with an ontology such as DBpedia.

Extracting relations between entities will help knowledge workers incrementally build large knowledge bases at a low cost. For instance, this can be very interesting for economic intelligence or data-driven journalism: imagine automatically building the social networks of public figures from news feed and their relationships with business entities such as companies and financial institutions for instance.

Integration with Nuxeo EP

Right now fise is a standalone HTTP service with a basic web interface mainly used for demo purposes. To make it really useful some work is needed to integrate it with the Nuxeo platform so that Nuxeo DM, Nuxeo DAM and Nuxeo CMF users will benefit from a seamless semantic experience.

August 27, 2010

Cheryl's Nuxeo Blog

We're Excited! New Sessions Added - Update on Nuxeo World 2010

Macaron_nuxeo_world_
 

We've been really busy in 2010 with product launches and updates - not only for the flagship Nuxeo EP and DM, but Nuxeo DAM 1.0/1.1 and Cloud Edition... Case Management Framework, Correspondence Management, metaLogic's Lotus IMT for Nuxeo ECM... Nuxeo Studio... and most recently our preview of the Nuxeo Marketplace and Admin Centre. Not bad considering it's only August!

We're pleased to announce that additional sessions have been added to the Nuxeo World 2010 roster.  New sessions for developers, partners, system administrators, and information management professionals with either a business or technical interest.  

Cool new sessions include:  

Nuxeo Studio - Hands-on Workshop: We've had a few people tell us that Nuxeo Studio is the secret sauce to their ECM success.  Since we launched it early in 2010, this has been one of the hottest topics for our customers and partners.  See it live and help workshop some content application development scenarios.  (and until November... remember you can register for one of our weekly Webinar Wednesday Nuxeo Studio overview sessions...)

Nuxeo RM - What's New?  Many of you know we're actively working to enhance our current content lifecycle feature set to better meet international RM standards and the needs of enterprise customers with strict content management retention and disposal requirements.  This session will be one of the first opportunities to see what we're currently working on.

Building Packages for the Nuxeo Marketplace: In preview mode today, we've asked our customer and partner community to test drive our new (and according to some of the industry pundits... unique in ECM) online solution exchange site.  Share your work, find new markets, even generate new sources of revenue... the Marketplace is evolving to be the hub for creative and useful Nuxeo solution templates and plug-ins. This session will teach you how to use the new packaging system successfully.

Becoming a Contributor: How to Get Started: Nuxeo is a social marketplace in action - we can innovate and evolve faster, stronger, more efficiently when we get input from our customers, partners and developer community.  We are always open to more engagement and this session will tell you how to get started.  Be a first hand contributor to the next generation of ECM.

Nuxeo & CMIS - What's Next? Hear about our ongoing involvement in this important standards work, and how we've implemented CMIS 1.0 in Nuxeo EP and related packaged applications.  Share your CMIS experience with the community!

Lots more great sessions - the updated program is listed here

Early bird registration rates are still open until August 31. So see you in Paris!

August 19, 2010

Eric's Nuxeo Blog

Sneak Preview: Nuxeo Marketplace & Nuxeo Admin Center

I'm very excited and proud to present the new big thing for the ECM market! We’ve been working on this plan for the last few months and now it’s ready for our community to preview. We believe it can change things in the content management market and drive a whole new innovation stream from developers!

We are releasing, as preview, Nuxeo Marketplace & the Nuxeo Admin Center. As part of our Nuxeo Connect subscription program, the Marketplace is a new way to distribute plug-ins and apps on our ECM platform and packaged products. The Admin Center is a new administration console, featuring a great software update dashboard to install and manage upgrades, patches and new features, streamlining the management of a Nuxeo application.

Nuxeo Marketplace provides a completely new experience to install new features (packages) and customization/configurations in a Nuxeo application. Leveraging our platform’s architecture and extension model, the Marketplace offers a way to package those plugins and distribute them easily to enhance our products (Nuxeo EP, Nuxeo DM, Nuxeo DAM, or Nuxeo Case Management Framework).

The key point? It is not just another app marketplace! Most app markets today require a complete download, install, test cycle. We’ve made this easy for Nuxeo customers. We have focused on the experience, integrating it throughout the Nuxeo Connect services, allowing installation of new apps or plug-ins directly from your application.

We are delivering a completely integrated environment for our customers to browse, install and try new features, download Nuxeo Studio templates, etc. Installing new features and deploying a customization literally takes seconds and doesn’t even require a restart in most cases! THAT is innovation in ECM when most of our competing friends still take weeks to install and test new features… let alone create the customization… ;-)

More than just a new product, more than another new service, it’s the logical fusion of our products and services to make your job easier.

Want to join the preview and help shape the direction of Nuxeo Marketplace? Watch the sneak peak video and try it by yourself!

Key benefits

For developers, a way better to serve your users:

  • browse and install new features from the Marketplace into your Nuxeo product
  • easily upgrade your product and related add-ons
  • easily install software patches delivered by Nuxeo’s support team

For partners and contributors:

  • create apps, features, add-ons for Nuxeo’s product and access our install base (application builders decide - free or priced as you wish)
  • easily distribute updates and collect revenue from what you’re doing

For system integrators and developers:

  • benefit from a completely unified experience, plus support and customization with Nuxeo Studio
  • quickly deploy your Studio-based customization

How does this work?

The Nuxeo Admin Center lets you link your product with your Nuxeo Connect subscription (if you don’t have one, you can start a 30-day trial ). Once your application is registered, the Update Center is activated.

The Update Center manages packages: it can notify, download, install, upgrade and remove them. The Update Center communicates available updates (and patches) for installed software, fetching and delivering Nuxeo Studio-based apps/customization and installing packages from the Marketplace.

On the Nuxeo Connect side, Nuxeo Marketplace hosts the package repository and offers a central place to browse available packages via the web-based gallery of apps and plug-ins.

Want to create new packages?

Creating new packages is very easy when you have done plug-ins for a Nuxeo application. You just need to bundle them with an install script and the resources to create a new package suitable for the Marketplace.

How to help? Want to know more?

Timeline?

The Nuxeo Marketplace and Admin Center are available today for members of our community, contributors, partners and customers for preview, testing, improvement and package creation. Nuxeo Connect customers can benefit from this update system now, receiving bug fixes and patches from our support team for Nuxeo DM 5.3.2.

The general availability release of the Nuxeo Marketplace will be done for Nuxeo DM 5.4, at the end of September. We expect to have many packages available by that time and directly available with this version.

Let’s get started!

EB.

I'm very excited and proud to present the new big thing for the ECM market! We’ve been working on this plan for the last few months and now it’s ready for our community to preview. We believe it can change...

August 14, 2010

Cheryl's Nuxeo Blog

LinuxCon Boston 2010 - Has Open Source "Crossed the Chasm"?

LinuxCon was held in Boston last week. Hosted by the Linux Foundation, the event attracted open source luminaries and advocates from around the globe.  Nuxeo was pleased to be able to speak on the topic of "ECM Meets Open Source" during the Birds of a Feather track on Wednesday.  One of the highlights for me last week was a keynote delivered by Forrester Principal Analyst Jeff Hammond. The slides for his presentation on "Open Source Software Adoption Patterns in Enterprise IT", can be found on the conference site here in PDF.Key points that I took away from Hammond's session?

  • Integration and innovation were top of mind for software decision makers in 2009, and for 2010 improvements to business process execution speed and supporting company growth were listed. Businesses are looking to IT to compete and grow. This point correlates nicely with the May 2010 AIIM Market Intelligence report on ECM - businesses looking to use content management technology for "improving efficiency and optimizing business processes..." Businesses that want to thrive and compete in their own markets are looking at technology to help them differentiate.

  • There is still massive room for expansion of open source ECM.  Slide 11 of Hammond's presentation lists a wide range of infrastructure tools, and compares management vs. developer acceptance/adoption for each category.  Without a doubt, infrastructure tools (operating systems, database, application servers, programming languages) have high degrees of use and sanction. But tools that are inherently end-user facing, i.e. used by typical information workers, still have relatively low open source usage. ECM, WCM, business intelligence, CRM, portals: typically less than 10% usage inside enterprise. This does not surprise me. It has only been in recent years that open source alternatives have emerged as realistic for business applications. There's a level of maturity that has only recently emerged regarding user experience, attention to design, ease-of-use for non-technical roles, focus on documentation and training. But with this new maturity comes real opportunity for adoption growth.

  • North America is catching up to Europe with respect to open source adoption. France and Germany are ahead of the pack - both at approximately 18% adoption for open source content management, followed by US and UK at approx 11% (Slide 13)

  • Hammond's analysis includes several observations (Slide 24) that coincide with what the Nuxeo team has seen in its market.  First - that while economic uncertainty and cost savings have driven the rise of open source adoption in recent years, now the goal is shifting to "speed and innovation".  Second - "the enterprise software market and the OSS market are set for an inevitable collision, and then a convergence".  We at Nuxeo see this starting in ECM.  Third - "to win you must drive adoption and affirmation through developers, and purchases through management". Bingo. This is the path to nearly all of the key Nuxeo customer wins. When the information and enterprise architects are at the decision-making table and understand the power and extensibility of our ECM platform to build content applications, it is easy to justify the time and support contract investments when working prototypes and apps can be rolled out in days or weeks.

  • Hammond's keynote concluded with some very practical guidance with the 10 Best Practices used by successful Enterprise Open Source Software Adopters.  A must read list for companies wanting to expand their adoption of open source and be confident of their decision. Key points on stewardship, policies, acquisition processes, contribution policies - a good checklist to help build an enterprise grade open source adoption program. (Slide 32)

The slide deck from the Nuxeo session "ECM Meets Open Source" is available here on Slideshare - as always comments and feedback appreciated!Enterprise content management meets open source

View more presentations from Nuxeo - Open Source ECM.

August 10, 2010

Stefane Fermigier's Nuxeo Blog

A sample Python library for the Nuxeo Content Automation JSON-RPC API

I have created a sample Python library to illustrate the use of the Content Automation JSON-RPC API (described here: https://doc.nuxeo.com/display/NXDOC/REST+API).

The project, which is only illustrative and not officially supported by Nuxeo, lives here:

http://bitbucket.org/sfermigier/nuxeo-automation-clients/

Here are the functions that have been implemented so far:

def create(self, ref, type, name=None, properties=None):
def update(self, ref, properties=None):
def setProperty(self, ref, xpath, value):
def delete(self, ref):
def getChildren(self, ref):
def getParent(self, ref):
def lock(self, ref):
def unlock(self, ref):
def move(self, ref, target, name=None):
def copy(self, ref, target, name=None):
def fetch(self, ref):
def query(self, query, language=None):
def getBlob(self, ref):
def attachBlob(self, ref, blob):

And here is a sample interactive session to illustrate its use:

% python
Python 2.6.5 (r265:79063, Jul 18 2010, 11:41:34)
[GCC 4.2.1 (Apple Inc. build 5659)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> URL = "http://localhost:8080/nuxeo/site/automation/"
>>> LOGIN = 'Administrator'
>>> PASSWD = 'Administrator'
>>> from nuxeoautomation import Client
>>> from pprint import pprint
>>>
>>> c = Client(URL)
>>> s = c.getSession(LOGIN, PASSWD)
>>> pprint(s.getChildren("/"))
{u'entity-type': u'documents',
 u'entries': [{u'entity-type': u'document',
               u'lastModified': u'2010-08-10T13:19:26Z',
               u'path': u'/default-domain',
               u'state': u'project',
               u'title': u'Default domain',
               u'type': u'Domain',
               u'uid': u'20a4bea1-e71a-47b6-86fd-c59e0a63d84d'}]}
>>> pprint(s.getChildren("/default-domain"))
{u'entity-type': u'documents',
 u'entries': [{u'entity-type': u'document',
               u'lastModified': u'2010-08-10T13:19:26Z',
               u'path': u'/default-domain/workspaces',
               u'state': u'project',
               u'title': u'Workspaces',
               u'type': u'WorkspaceRoot',
               u'uid': u'bc56455a-5345-440d-aa4e-31eed166e949'},
              {u'entity-type': u'document',
               u'lastModified': u'2010-08-10T13:19:26Z',
               u'path': u'/default-domain/sections',
               u'state': u'project',
               u'title': u'Sections',
               u'type': u'SectionRoot',
               u'uid': u'f8f7c052-cbb5-407b-8d19-3f2ec9e43efd'},
              {u'entity-type': u'document',
               u'lastModified': u'2010-08-10T13:19:26Z',
               u'path': u'/default-domain/templates',
               u'state': u'project',
               u'title': u'Templates',
               u'type': u'TemplateRoot',
               u'uid': u'cf1edd5a-2781-4b6b-aae7-310954da15f0'}]}
>>> pprint(s.create("/", "File", "First Doc"))
{u'entity-type': u'document',
 u'lastModified': u'2010-08-10T13:20:25Z',
 u'path': u'/First Doc',
 u'state': u'project',
 u'title': u'First Doc',
 u'type': u'File',
 u'uid': u'dafbf9c7-b870-4f39-830c-892469890072'}
>>> pprint(s.delete("dafbf9c7-b870-4f39-830c-892469890072"))
None

August 09, 2010

Cheryl's Nuxeo Blog

Finding the Best Roadmap for Your Lotus Notes / Domino Doc Applications

Metalogic 

 

One of the success stories in the Nuxeo Galaxy partner program is metaLogic - a many year veteran of content management applications with roots in the IBM/Lotus community.  Earlier this year, Nuxeo and metaLogic did some joint marketing activities in support of the launch of metaLogic's "Lotus Integration and Migration Toolkit (Lotus IMT) for Nuxeo ECM".

Lotus Notes customers - particularly those on the Dom Doc platform for content applications - are thinking long and hard about their plans - stay on the Lotus platform? adopt other IBM tools? or look at alternatives?

Recently Tom Austin (Gartner VP and Fellow) blogged about this issue and also published a comprehensive research piece describing the conditions under which Lotus customers could/should consider a shift. Entitled "Migrating Off Notes/Domino E-Mail May Make Sense in Some Circumstances", this research piece is available for purchase or under a Gartner subscription.  A bit of controversy is swirling, but this makes for some good and thoughtful reading and debate.

metaLogic's Lotus IMT is an important contribution to the discussion about whether an organization can meet its technology and business goals most effectively by migrating its Lotus installation fully, partially, or simply on an as needed basis. 

There is no one right answer to the if/when migration debate. Cultural, business and overall corporate content management goals need to be assessed when considering the future of a Lotus Domino application.  The good news?  There are alternatives available today via the metaLogic Lotus IMT that address a full spectrum of application enhancements or migration requirements.

We'll be doing a joint webinar with metaLogic on this very topic on September 21 at 11am ET.  In the meantime, we encourage current Lotus customers to take a look at the solution overview slide deck we've shared on SlideShare, and contact us here if you have questions about your Lotus application roadmap.

August 05, 2010

Cheryl's Nuxeo Blog

Quality, Reliability and Speed - Accenture on Open Source Adoption Trends

Accenture_topBanner_980

Accenture published its 2010 open source software market survey today and wanted to highlight a few points that may be of interest to the ECM community:  Full Report and Supplementary Slides Available Here

First surprise was a pleasant one - of the 600 US, UK and Irish respondents, the top benefits their enterprises have derived from the use of open source were Quality (76%), Improved Reliability (71%) and Better Security/Bug Fixing (70%).  

In other words - while perceived cost savings has been a key driver to consider or test open source software, the realized benefits are far more strategic to continuity of operations and innovation. 

Accenture's chief technology architect, Paul Daugherty is quoted in the piece, "What we are seeing is the coming of age of open source, ...seeing an increase in demand for open source based on quality, reliability and speed, ... This is a significant change from just two years ago when uptake was mainly by cost savings". Accenture sees more and more business critical functions moving to open source platforms as this trend develops. 

Nuxeo agrees with this first observation.  Increasingly customers and partners who adopt Nuxeo Enterprise Platform (or one of our packaged applications) as their ECM application foundation do so NOT because of the zero-license cost (though it is zero-cost...), but because the technology stack is rock solid, built with a strong commitment to standards, and can be extended incredibly quickly with plug-ins, or our Nuxeo Studio design environment.   Cost may be an initial driver for considering an open source ECM alternative vs. the leading vendors of the old guard... but it's not what typically drives the final choice when a technical or information architect is at the table.

The second interesting point in the report is the influence that open source is affecting business culture and IT operations - particularly in government and production companies. 75% of product companies and 67% of public sector organizations believe that the use of open source is changing their business culture for the better.... the first and second benefit named respectively.   The use of open source changing culture? This was indeed a surprise.  

But if you think about it, perhaps this is a natural and logical expression of adopting tools and platforms that DO encourage innovation, collaboration, information sharing and that help keep a focus on core business.  Open source, open standards, open APIs, exchange of information for mutual benefit, ability to design applications based on the needs of the Enterprise... not around the release quirks and closed door agendas of proprietary vendors.   

My own move into the world of open source was directly influenced by a 2-year deep dive into the world of Enterprise 2.0 - collaboration for business, by business, with purpose. The flat and open exchange between vendor, customer and partner. Open Source ECM vendors like Nuxeo walk that talk. Journalist Ron Miller and I chatted about this in 2009... and it's still worth discussion

But of course nothing is ever completely rosy.  The Accenture survey calls out an important area that is near to our hearts:  need for ongoing and persistent education.  For those organizations who cannot adopt or are stalled in adopting open source for essential applications, the main barrier is "lack of senior management support".  Helping communicate to the C-levels, demonstrating stability, quality and value to decision-makers up the food chain is where the Nuxeo management team plans to invest time and energy. This is talk that we also intend to walk this year.

Read the full report here: http://newsroom.accenture.com/article_display.cfm?article_id=5045


 

 

August 02, 2010

Cheryl's Nuxeo Blog

The One Minute Digital Asset Manager? New Nuxeo Appliances - Virtual Machines on Ubuntu

Crashcourse-02a_0
 

Read a couple of fun and concise blog posts over the weekend from open source consultant/Linux guru Robert P.J. Day at CrashCourse.  Getting Nuxeo DAM 1.1 up and running on Ubuntu 10.04 - in 60 Seconds!

One of the items I didn't blog about during our Nuxeo DAM 1.1 launch last week was the availability of new appliances that are specifically made for rapid ramp up on virtualization platforms such as VMware, VirtualBox, and others. Nuxeo DAM (as well as Nuxeo DM) now include download options in both OVF and VMX formats.  Built on Ubuntu 10.04, these pre-configured virtual images are fully loaded with everything needed to kick start a Nuxeo DAM or DM environment (Ubuntu OS, PostgreSQL, OpenOffice, JBoss, etc). The CrashCourse blog outlines some tips for getting the Oracle VirtualBox environment downloaded and installed, ready for the Nuxeo appliance.

So if you have a minute to invest (literally...) to get moving on a content management project with one of the most technologically advanced ECM platforms in the market today, take a look at the new Ubuntu-based Nuxeo appliances.  Time is money. Get started now.

July 30, 2010

Eric's Nuxeo Blog

Can Day Software Propel Adobe Towards a More Open Business Strategy?

As most involved in the broad content management market, I’ve seen the news of the week: Adobe acquires Day Software, the hot WCM vendor.

I have known and respected Day for a while: they deliver neat technology, have a clean business model and contribute significantly to open source. Plus, I appreciate the people I know from there.

Waking up on Wednesday and seeing the news starting to pour in my tweet stream was a big surprise. I thought about it a bit over the breakfast. My take: great for them, I know some people in the industry are going to hate it, but won’t be change much for Nuxeo and for the open source projects Day’s people are leading. So sent some congrats, a dinner invite, and went on my day waiting for the analysis and industry reaction overview from our great CMO later in the day. Which, in turn, confirmed my take. All good, move on. :-)

I’ve been asked a few time about my opinion and gave it. Until the last time when I thought “but what if Adobe doesn’t follow the Day way?”. Because many people have talked about Adobe closing more of Day’s technology and I don’t buy it. Developers working on the open source project are well respected, they will continue to work on those projects be it for Adobe or for an other company. So that wouldn't be a problem.

The question that started puzzling me is: What if Adobe goes onto a more open way? First reaction: That would be huge!

Imagine, for a second, that Adobe open source the whole CQ5 product. You have:

  • CQ5, great WCM software considered as one of the best in its category (the best?), available as open source

  • Day’s team, a team that knows how to ignite and lead communities

  • Adobe’s marketing war machine to let the world know

You get a winning product, with the capacity to transform the WCM market. By commoditizing this technology, Adobe would hit hard its competition in the WCM market. Despite the fact that it would unify some of the opens source WCM crowd, EMC/Fatwire, Autonomy/Interwoven, OpenText/RedDot/Vignette/Obtree and friends would be under heavy attack.

Adobe could concentrate on monetizing global service offerings: Omniture, Livecycle, end-to-end workflows for medias, acrobat.com on steroids, more online services, etc. Commoditizing the core WCM technology would keep the competition busy and let them make money where they hardly have any meaningful competition, innovate more with new services spanning and leveraging the wide reach of their offerings. We also would see an ecosystem thrive on CQ5, providing the ignition — for free — Adobe needs to enter the market. Kinda the Google way, after all.

Actually the more I think to this and after having read Adobe’s plan for Day, I think it’s the best way to achieve it. If they truly want to create a platform for customer engagement management, this is the way. This is how the industry builds big platform nowadays, by open source software.

All this for a mere $240M and -$50M in revenue addition. That would be the slam dunk that Laurence Hart doesn’t see coming! :-)

Am I crazy enough to think that Adobe will execute this? No. And I haven't thought all this thoroughly. But that would be really fun to watch! :-)

Onto some real work now,

EB.

Cheryl's Nuxeo Blog

Nuxeo DAM Cloud Edition - Now Available

Yes... we at Nuxeo see the future as DAM Cloudy. But that's a good thing... 

Along with the release of Nuxeo DAM 1.1, we've also expanded our digital asset management offering to include a SaaS version - what we've called Nuxeo DAM - Cloud Edition.

Nuxeo DAM - Cloud Edition uses the same backend trusted cloud services as Nuxeo DM - Cloud Edition, Amazon AWS.  We're offering digital asset management in a SaaS delivery model to better serve the needs of small/medium business who have the same DAM requirements as large enterprise, but with a smaller budget and fewer in-house IT resources.  It is a clearly-priced user and volume based subscription that can scale easily and economically as usage expands.  

Rich media - video, digital photos, graphic files, logos, audio clips are often costly to produce, have a big storage footprint, and takes time to get right.  Collaborating with clients, suppliers and a distributed team is essential for small and medium-sized business just like large enterprise. Traditional DAM products start in the 6-figure price range... not an investment that a small or growing company can easily make. Nuxeo DAM - Cloud Edition provides a competitive and feature-comparable alternative.

Nuxeo DAM - Cloud Edition is ideally suited for organizations of any size who want an easy-to-use rich media collaboration environment to share work-in-progress and approved assets with external agencies, partners, clients or any trusted organization in their supply chain.  Rapid, secure, easily tagged/categorized video, digital photo or image/graphic content can be shared for joint projects not only for marketing purposes but research projects, evidence review, or institutional memory preservation.

Nuxeo DAM - Cloud Edition is based on the newly released Nuxeo DAM 1.1 product, and includes all of the cool new enhancements we've done for video management, storyboarding, and batch tagging/import. A quick overview of the new features are shown in this screencast:

The Nuxeo DAM - Cloud Edition is available now. Curious? A test drive site is available here: Try it!  And of course we're always happy to respond to questions, just Contact Us.

Nuxeo Developers Blog

Content views: nice and easy configuration of documents listings

Let's talk about designing a Web UI framework, to use big words :)

Sometimes it's difficult to assess the configurability needs for a framework, and sometimes these needs change and have to evolve. Ideally, the new design will allow to answer to most common needs with little work, but will keep it possible to achieve more complex tasks. It will also take care of restrictions that the underlying frameworks impose.

This is why we decided to introduce a new concept in the Nuxeo UI Framework: content views.

Content_view

A content view is a notion to define all the elements needed to get a list of items and perform their rendering. The most obvious use case is the listing of a folderish document content, where we would like to be able to:

  • define the NXQL query that will be used to retrieve the documents, filtering some of them (documents in the trash for instance)
  • pass on contextual parameters to the query (the current container identifier)
  • define a filtering form to refine the query
  • define what columns will be used for the rendering of the list, and how to display their content
  • handle selection of documents, and actions available when selecting them (copy, paste, delete...)
  • handle sorting and pagination
  • handle caching, and refresh of this cache when a document is created, deleted, modified...

The content view framework aims at putting together several configurations that were already available in Nuxeo and have become complicated to maintain and to configure.

  • query models: XML configuration that makes it possible to define a query, its needed parameters, and that can use a document model to retrieve query parameters (typically from a search form)
  • result providers: Java classes that handle pagination of a list of documents retrieved from a NXQL query to a core session
  • result provider farms: Java classes (typically Seam components) that handle resolution of contextual query parameters to pass on to the query models
  • result provider cache: Java class handling caching and invalidation of result providers
  • select datamodel: Java class encapsulating a list of items to handle selection in a JSF environment
  • Seam remoting and Javascript methods to handle re-rendering of available actions on selection
  • XHTML pages to handle rendering of needed columns, pagination, sorting...

So it had become overly complicated to define a custom listing of items, and most developers eventually got lost when introducing result provider farms. Moreover, Nuxeo Studio could not provide that kind of configurability because it only handles XML configuration or predefined XHTML pages.

Content views make it possible to answer to all these needs, and more, with the following stategy:

  • handle rendering of listings using layouts: layouts are configured only using XML configuration and are reusable in different contexts
  • improve providers, making them able to handle any kind of item type (not only documents), handle item selection, pagination, multiple sorting...
  • make it possible to define the provider, its query and its parameters through XML configuration, using EL expressions to resolve contextual parameters
  • configure caching using cache keys that can be resolved using EL expressions, and invalidation using event names
  • make it possible to define one or more content views on a document type, but keep them independant from it so that it can be used also for advanced forms

Here is a typical content view definition, used when rendering a folderish document content:

<contentView name="document_content">

  <coreQueryPageProvider>
    <property name="coreSession">#{documentManager}</property>
    <pattern>
      SELECT * FROM Document WHERE ecm:parentId = ?
      AND ecm:isCheckedInVersion = 0
      AND ecm:mixinType != 'HiddenInNavigation'
      AND ecm:currentLifeCycleState != 'deleted'
    </pattern>
    <parameter>#{currentDocument.id}</parameter>
    <sort column="dc:title" ascending="true" />
    <pageSize>20</pageSize>
  </coreQueryPageProvider>

  <cacheKey>#{currentDocument.id}</cacheKey>
  <cacheSize>10</cacheSize>
  <refresh>
    <event>documentChanged</event>
    <event>documentChildrenChanged</event>
  </refresh>

  <resultLayouts>
    <layout name="document_listing_ajax"
      title="document_listing"
      translateTitle="true"
      iconPath="/icons/document_listing_icon.png" />
    <layout name="document_listing_ajax_compact_2_columns"
      title="document_listing_compact_2_columns"
      translateTitle="true"
      iconPath="/icons/document_listing_compact_2_columns_icon.png" />
    <layout name="document_listing_ajax_icon_2_columns"
      title="document_listing_icon_2_columns"
      translateTitle="true"
      iconPath="/icons/document_listing_icon_2_columns_icon.png" />
  </resultLayouts>

  <selectionList>CURRENT_SELECTION</selectionList>
  <actions category="CURRENT_SELECTION_LIST" />

</contentView>

Here the core query page provider defines its contextual properties to perform the query on the core session, and to fill the parameter of its query (the current document identifier). It also states a sort column, and the default page size (20 items).

The cache key is also linked to the current document identifier: this is useful to keep the current page, sorting information, current result layout, etc... in place, until we need to refresh it because some documents may have appeared in the application. The cache size is 10: the cache will be effective until 10 different documents have generated this content view. When this content view is computed for the 11th document, the cache for the first document is lost and will need to be recomputed.

The last part of the configuration makes it possible to define the different listing layouts available for this content view, in case you'd like to switch between different presentations. The selection list and actions handle document selection, as well as buttons available on selection. The re-rendering of available actions is done through ajax calls configured in the layout templates and widgets, because the seam remoting mechanism imposed too many restrictions on the HTML structure of action buttons.

The caching mechanism and rendering are handled by generic Seam components and XHTML templates that will use the defined content view. It is also possible to attach content views to documents, so that their default page displays the given content views provided a category. For instance, here is the configuration of the Folder document type:

<type id="Folder">
  <label>Folder</label>
  ...
  <contentViews category="content">
    <contentView>document_content</contentView>
  </contentViews>
  <contentViews category="trash_content">
    <contentView>document_trash_content</contentView>
  </contentViews>
</type>

Next step is to make Nuxeo Studio benefit from these changes: folderish documents content, search form and results, virtual navigation results will be migrated to content views, so that all its features can be configured using a nice interface.

The complete documentation for content views is available here: https://doc.nuxeo.com/display/NXDOC/Content+views

Share this

Share |

Don't miss a thing!

Our blogs

- (feed) Cheryl's Nuxeo Blog
- (feed) Eric's Nuxeo Blog
- (feed) Florent's Nuxeo Blog
- (feed) Nuxeo Developers Blog
- (feed) Nuxeo Lounge
- (feed) Rick's Nuxeo Blog
- (feed) Stefane Fermigier's Nuxeo Blog

Last updated:
September 02, 2010 10:20 PM
All times are UTC.

Powered by:
Planet

 

Our tweets

About Us

We're the friendly employees of Nuxeo, a leading open source software vendor, which develops a complete Enterprise Content Management (ECM) software platform to help companies better produce, process, publish, archive, expose and find their information from digital assets to transactional documents.

» Follow us @nuxeo (Twitter)

» Connect on LinkedIn

» Visit Nuxeo.com

 

Customize & Configure
Nuxeo • Studio

Nuxeo • DM
Online Trial

Nuxeo • DM
Download

Nuxeo • DAM
Download

Nuxeo Connect support