A First Taste of Dogfood

Sunday, January 25th 2009 | Ismael Ghalimi

Our Project Dogfood was launched just two weeks ago, but it’s running full speed ahead. Among the most active projects, the Customer Support Process lead by Gene Grell — Intalio’s new Director of Support — and the Marketing & Public Relations Process, which I am working on with Rick Geneva and Antoine Toulme. Here is a quick update on both, plus a really cool side project that emerged from one of them.

First, the Customer Support Process. It’s a pretty complex one originated from a custom user interface built in Ruby on Rails, integrated with our new trouble-ticketing system (itself integrated with, our knowledge database (Confluence), our legacy bug tracking system (Jira), and our original Demand Driven Development (D3) portal (itself to be migrated to a collection of processes running on Intalio|BPP). This process is only a prototype right now, but should be fully implemented within a month or two. In the meantime, feel free to download the BPMN project for it, which you can import directly from Intalio|Designer (File/Import…).

Customer Support Process

Second, our Marketing Process, which was described in details in this article. After some internal discussions, we concluded that the process could be implemented through a generic BPMN pattern, rather than dynamically generating BPMN code. This is a much better solution, for three main reasons: One, it’s a lot easier to implement. Two, it will allow any changes to the Execution Table (the spreadsheet describing the process) to be applied to running process instances in flight. Three, it will support the definition of any loops within the process, and the use of recursion within the process — a process instance can create a new one, like is the case when a Public Call or a Webinar have to be organized for example. What follows is a map of the generic process that will support the execution of any process designed with our Execution Table Template.

Marketing & Public Relations Process

The Execution Table Template has been cleaned up in order to support its design with Google Apps or Zoho (Google Apps version), the definition of arbitrary loops, recursion, and multiple forms, which are now captured through separate sheets (Data Input Form). Integration Points, Ideas, and Timesheet are also captured through separated sheets, and used for documentation purposes only. What follows is a screenshot of the Execution Table designed using Google Apps, also made publicly available (Decision Table | BPMN Model).

Execution Table

What’s truly remarkable about this project is that Intalio|Designer and Intalio|Server could be used off-the-shelf for implementing a custom process design and execution framework built upon a proprietary process execution meta-model, in a matter of days, and without having to write custom code. So far, we spent 18.5 hours on the project, and we expect to have a first running version of the end-to-end process within two weeks, working on it in our spare time.

Another interesting discovery made through this project is the fact that processes modeled with our Execution Table Template can be used by auditors working on SoX compliance projects. We presented our idea to half a dozen companies in Japan earlier this week, and every single one indicated that they could use our tool for their J-SOX projects (J-SOX is the Japanese equivalent of the Sarbanes-Oxley Act). As a result, we’re seriously considering packaging this template with our Business Rules Engine (Intalio|BRE) and upcoming Complex Event Processing (CEP) engine into a solution for next-generation Governance, Risk Management, and Compliance (GRC).

Third, the side project I mentioned above. As part of our Marketing & Public Relations project, we had a need for an Enterprise Content Management system that could be used to develop and publish all our marketing collaterals. While we could have used Intalio|ECM for this purpose, integration with Google Apps and Zoho was lacking. Furthermore, we wanted a system that could not only store our marketing collaterals, but also all our process artifacts, fully integrated with Intalio|Designer. Last but not least, we wanted a system that could store XML documents natively, and provide integration with Apache Cocoon, in order to support the publishing of content on our existing website.

After some internal discussions, we decided to develop our own system. It is built on top of Apache Sling, which itself is based on Apache Jackrabbit. The funny story about Jackrabbit is that it is based on Apache Slide, which itself was contributed by Intalio to the Apache Software Foundation 8 years ago. Small world, very small world… Sling also includes Apache Felix, which is the OSGi framework that all Intalio’s runtime components will be deployed on top of moving forward. Jackrabbit now includes Apache Lucene, to be used as search engine. Finally, we’re looking at the Jena Semantic Web Framework in order to support the tagging and indexation of documents in a scalable manner.

At present time, a prototype integration of Sling with Tempo has been developed by Nicolas (Cf. blog post and screencast), and we are considering creating a D3 project for it, while debating about the Open Source license this new project should be released under. If this sounds like fun, please take a look at our tentative roadmap and drop us a line. The codename for this project is Doubleshot.

Entry filed under: BPM 2.0, Consolidation, SOA, Social Networking

8 Comments - Add a comment

1. David French  |  January 28th, 2009 at 8:25 pm

Intalio appears to be eating its own dogfood very publicly, and on a highwire. I wish Ismael and his team well with this venture as it will demonstrate that armies of strange developer types are not the key to success in getting value from a business process-centric view of solution delivery.

2. Hicham Jellab  |  January 30th, 2009 at 2:19 pm


Ismael, seems you have chosen the best developers out there…


3. Hicham Jellab  |  January 30th, 2009 at 2:22 pm

Questin: why not adapt ITIL processes, instead of starting from sratch?

4. Ismael Ghalimi  |  January 30th, 2009 at 2:28 pm


Very good point! Which ITIL processes do you suggest we use?


5. Hicham Jellab  |  January 31st, 2009 at 2:15 pm


I was referring to the Incident Management process in particular. I have a documentation of this process that I may send you offline.

6. Build a REST web service &hellip  |  February 2nd, 2009 at 1:32 am

[…] I participate to the Intalio Dogfood project. […]

7. IT|Redux - Looking for Re&hellip  |  February 11th, 2009 at 5:09 pm

[…] By convention, the email’s body would contain one of more email addresses to which the task would be sent. Recipients would receive an email requesting the task to be performed, and showing two buttons (or links), one called “Completed” and the other called “Denied.” The web service would also provide a REST API that would allow it to be connected to existing task management systems. I do not know any Office 2.0 application doing that today, and we might very well create one as part of our Dogfood Project. […]

8. IT|Redux - BuzzGain&hellip  |  February 11th, 2009 at 5:40 pm

[…] of the goals of our Dogfood Project is to automate our Public Relations process. In a PR 1.0 world, press releases would be sent to a […]

Trackback this post  |  Subscribe to the comments via RSS Feed

Leave a Comment


Required, hidden