I've started reading Mastering the Unpredictable by Keith Swenson et al. I'd like to weave two links from from the first chapter to two things I have been exposed to.
"Mastering the Unpredictable" is a collection of Essays by Keith Swenson , Max J. Pucher , Jacob P. Ukelson and others. Those essays are reflections on " Adaptive Case Management" ( ACM) and its rise alongside " Business Process Management …
Recently, contributions to ruote have been on the rise.
I've listed them on the ruote source page, but here is a small recap :
Torsten is maintaining ruote-on-rails : "A simple example Rails app for demonstrating the usage of ruote in Rails using RuoteKit".
Eric Dennis has gone a step further with ruote-rails-example , he extended Torsten's work to add ruote-amqp participants.
…
…correlated, and I wanted to rethink how to do it. After plenty of discussions in # ruote with John Mettraux we came up with a model based on how the web works. Since CouchDB is "off the web", the approach feels quite fitting to me and hopefully to you too.
First some insight into my thinking at this stage.
The web has been successful in loosely expressing relationships between documents. Take two examples:
and
For those of you reading this through a reader, click through …
John Mettraux posted a powerful read on the fact that state machines are not workflow engines , and I share the sentiment completely. I'm a vocal user of John's ruote , a Ruby workflow engine, but I also use state machines, and I use them in tandem.
I choose early on that I need to externalize my business processes for our ISP in a Box product, to help break the project into manageable components, and this article shares how and why.
Limitations …
John Mettraux's Rufus Mnemo
rufus-mnemo has the ability to translate an integer into easy-to-remember words, based on Japanese syllabes: >> require 'rufus/mnemo' >> s = Rufus::Mnemo::from_integer rand(8**5) => "bisoshi"
Pretty neat! The generated words are "easy to the latin ears". Take care of the meaning if your users are Japanese-speaking.
If you use UUID - be careful with Solaris zones!
If you deploy to Solaris …
ruote is an open source workflow engine implemented in Ruby .
It takes as input process definitions and interprets them. It routes work among participants according to the flow described in those process definitions.
Version 2.1.10 is out and contains lots of small improvements and features requested and developed with the help of various people .
I have also updated/upgraded the various storage libraries around ruote and added to their ranks two new gems.
in ruote
I have started to gather posts and blogs I think are worth a read in the workflow, BPM, Adaptive Case Management, rules, etc fields.
The list is at http://ruote.rubyforge.org/resources.html
I hope to list there resources that are sincere and passionate, and that challenge my point of view on workflow engines and enterprisey programming in general. I will try to avoid things that are press release like, that include words like "leading" or "fortune 500″, that …
Hanabi is a small presentation tool .
You load hanabi.js , you create an empty canvas with a given id, you point it to the image and give it a list of points : var source = 'path/to/my_image.png'; var points = [ { x: 504, y: 340, zoom: 0.5, r: Math.PI * 2 }, { x: 504, y: 340, zoom: 3.5, r: Math.PI * 2, stop: false }, { x: 641, y: 260, zoom: 2.0, r: Math.PI * 2 }, { x: 832, y: 191, zoom: 2.0, r: Math.PI * 2 }, { x: 977, y: 173, zoom: 2.0, r: …
As you probably know, rufus-tokyo is a Ruby FFI wrapper for Tokyo Cabinet | Tyrant , the fine pieces of software delivered by Hirabayashi Mikio .
Rufus-tokyo is 12 or 13 months old , but it's time to retire it (maintenance mode).
James Edward Gray II is building his Oklahoma Mixer which will, hopefully, completely overlap rufus-tokyo and simply be better, very soon. Once the mixer covers Ruby 1.9.x, JRuby and Tokyo Tyrant…
ruote 2.1.7 is out and it felt like it was time to update the CsvParticipant that could be found in ruote 0.9.
Ruote has been relying on rufus-decision for its decision table needs and ruote 0.9 was integrating a CsvParticipant directly. For ruote 2.1, the DecisionParticipant is left in the rufus-decision gem.
It's not the first time I write something about decision tables. But I noticed that I hadn't really written anything about how to mix ruote processes and decision tables.