Nuxeo World Session: Gagnavarslan and Nuxeo - Building software services on Nuxeo and Django

Post on 29-Nov-2014

1.302 views 0 download

description

Presentation from Nuxeo customer, Gagnavarslan, at Nuxeo World 2010 on building software services on Nuxeo and Django.

Transcript of Nuxeo World Session: Gagnavarslan and Nuxeo - Building software services on Nuxeo and Django

Jónas Sigurðsson

Director of Core Development Gagnavarslan ehf

Building software services on Nuxeo and Django

Gagnavarslan and Nuxeo

About Gagnavarslan

Mission statement

To be a single entry point for organizations to access

expert knowledge and high quality services within the

field of Document and Information Management.

About Gagnavarslan

2007

Founded late 2007

Initial focus on physical storage and preservation.

2008

Company expanded: Information Management Specialists (IMS) consultants division

added.

2009

Company expanded: Software services division added.

First SaaS offering based on Django released.

2010

Nuxeo based Case/DM management system released.

About Gagnavarslan

Software services division goal is to

Develop highly usable, scalable and fast software

solutions and offer as SaaS.

Business opportunity?

Business opportunity

Investigation commission report revealed multiple IT specific

problems in government.

Increased focus on Document and Record Management.

Increased focus on compliancy with standards and best

practices, Moreq2, DoD5015.2, etc.

The Project

Our requirements are mostly gathered from IMS and

decision makers within government and large organizations.

Big difference compared to what IT people think is needed.

(usually Sharepoint)

Compliance with regulations for case management in

government, compliance with National Archives, etc.

Development strategy

Development strategy based on Agile "Set based design" idea

1. Start with simple, lightweight Django front-end to clarify concepts

and UI with early adopters.

2. In the same time investigate repository options. Decide on a

system and build the necessary cloud infrastructure around the

system.

Base our services on open source and participate in communities

around products we use.

Focus on usability and simple user experience.

Research for selecting ECM platform

Alfresco

Fedora Commons

Sharepoint

Nuxeo

Research for selecting ECM platform

Alfresco

Fedora Commons

Sharepoint

Nuxeo

Django+Nuxeo

Why hybrid system of two platforms?

Why hybrid system of two platforms?

IT people buy platforms. IMS decision makers want

applications.

We need a killer app to sell the platform.

We need RAD infrastructure for vertical solutions.

Application developers should be domain experts,

not platform experts.

Why hybrid system of two platforms?

Ability to manage teams better

● Clear seperation of concern.

● Technology stack attracts different developer groups.

Ability to be more agile and manage changes

● Dynamic stack enables faster turnaround.

● Easier to customize and manage customizations.

Django has gained much momentum for rapid web

application development.

New concepts and

changes

Missing pieces

We needed to add support for managing

organizational concepts as well as providing record

management capabilities.

● Organizational Spaces and Space Folders

● Fileplan for RM

● Aspects

Nuxeo Demo

Missing pieces

We needed support for rich querying against a

combination of metadata, freetext and relationship

information.

● Solr integration

● Relationship indexing

● Intrusive relationships

Missing pieces

We need robust solutions for integrating with

customer infrastructure which is always based on

Microsoft Server with over 90% of workstations

running Windows.

● Complete support for Windows Sharepoint Services

protocol (WSS).

● Support for SSO via CAS using Kerberos.

● Support for retreaving mail from MS Exchange Server

via MailFolder (IMAP).

Experience so far

Experience so far

Promising results overall. Technology decisions have

delivered great results so far.

Development group was afraid of Nuxeo complexity

and resources requirement compared to Django.

Concerns mainly addressed by excellent

development and packaging practices as well as

Nuxeo visible focus on continuously improving the

stack towards more efficiency.

Fileplan implementation

We have implemented a Fileplan for RM in Nuxeo.

● Based on concepts in DoD standard but also considering

Moreq2 requirements.

● Implemented as Nuxeo extension, of course.

● No UI in Nuxeo yet. Only REST methods.

Looking for collaborators!

Aspects implementation

Simple support for Aspects/MixIns in Nuxeo.

● Required for many of our use cases.

● Current solution is quite simple but still working well for our

needs.

Looking for collaborators!

Solr indexing implementation

Indexing component for Solr indexing in Nuxeo with

flexible mapping based on Solango/Jython

● Used for indexing metadata, freetext AND relationships.

● Provides support for fast search using complex conditions. ● Give me all emails to or from any contact associated with organization “Foo”

where mail body contains text “Bar”.

● Still rough areas in relation with ACL and batch-indexing

scenarios.

Looking for collaborators!

WSS stabilization

Senior Java developer allocated to making WSS

support in Nuxeo fully compliant.

● Support all integration scenarios with MS Office.

● Support 3d party online/offline tools designed for

Sharepoint.

● All integration scenarios with File Explorer in Windows XP

and Windows 7, documented and undocumented.

Looking for collaborators!

Djoint – Python library for accessing content repository

Django has ORM for mapping Python objects against

database. This ORM is too much derived from

relational database world for ECM use cases.

● Djoint is a Python library for mapping documents in

document repository with usable and simple API.

● Designed to support any type of repository, of course.

● Currently only one supported repository driver, for Nuxeo.

Rapid vertical application development with Djoint

Rapid vertical application development with Djoint

Rapid vertical application development with Djoint

Looking for collaborators!

Challenges

● Finding the right balance between open source and

proprietary software development.

●Customers don’t believe that we can deliver true

integration.

● “It all sounds very cool but will it work seamlessly with

our current email system and Windows desktop

experience?”

Contributing

We plan to contribute within focused areas.

● Plan to open source Djoint with Nuxeo driver as soon as

we complete our application initial release.

● Commit to improving WSS support in Nuxeo.

● Open for collaborating on Fileplan implementation by

sharing our work.

CoreData Demo

Thank you Contact me: jonas@gagnavarslan.is