Friday, December 27, 2013

Moqui Mini-Conf Jan 2014 Las Vegas

I now have some space in Las Vegas sufficient to host around 10 people for a conference, so planning to do some mini conference and training meetings here more regularly. The place is about 3 miles west of the LAS airport near highway 215. It has a good sized conference table and a connected room with projector setup that is a sort of lounge.

The first of these will be in late January 2014. I am open to feedback on dates and thinking of the 23-25 (Thu-Sat). The first day I'll offer general framework training and diving into more details based on questions and feedback during the training. The training can go into Mantle and HiveMind based on interest, but will be focused on Moqui Framework. The other two days will be general discussions and dev sessions in an un-conference format, in other words we'll start the conference with a huddle about what the rest of the conference will look like.

Some ideas for conference sessions and dev playing include the Mantle data model and services, playing with Drools rules (now used in Mantle for pricing, order shipping charges, and working on the tax calc side of it now) and jBPM workflows. The HiveMind project management and wiki functionality, ideas for improving it, and discussion about real-world use is another good topic right now.

Other fun topics might include ElasticSearch and a follow-up on the results of some ideas that came out of the last conference (the DataDocument, DataFeed, and DataSearch tools, and the Notification framework). For the notification framework a good topic of discussion would be using that with WebSocket, which I haven't done yet due to trouble finding a good library for WebSocket that is independent of the servlet container.

Given the legacy of Moqui/Mantle/etc in the Apache OFBiz project discussions around the two projects (differences, similarities, ideas for using them together, ideas for changing each to be more like the other, etc, etc) is another good topic for discussion.

The last conference was free, and the thanks goes to Hotwax Media for hosting the event. This conference will have a small charge of $50 for basic supplies and snacks and such, and $200 for the training day on Thursday for those interested.

Please comment on the Moqui Ecosystem LinkedIn group on general timing and interest, and contact me directly ( if you would like to attend.

Wednesday, November 27, 2013

Initial Releases of Mantle Business Artifacts and HiveMind Project Manager

Mantle Business Artifacts 0.5.0 is now available for download through GitHub here:

HiveMind PM (Project Manager) 1.0.0 is now available here:

It is exciting to release these first versions of these two projects. They represent the first significant body of business functionality based on Moqui Framework and make Moqui and Mantle an excellent alternative to Apache OFBiz and other open source ERP, CRM, and eCommerce open source projects and commercial products.

Mantle Business Artifacts 0.5.0

This is the initial release of Mantle Business Artifacts (version 0.5.0). It is based on Moqui Framework 1.3.2. This version covers procure to pay, order to cash, and work plan to cash processes including:

Purchase and Sales Orders (for goods, services, materials, etc; POs for inventory and equipment/supplies/etc)
Project, Task, and Request management with time and expense recording, billable/payable rates by project/task/client/worker/etc
Incoming and Outgoing Invoices with a wide variety of item types and an XSL:FO template for print or email
Automatic invoice generation for purchase orders (AP), sales orders (AR), project client time and expenses (AR), project vendor/worker time and expenses (AP)
Payments, both manually recorded and automatic through payment processing interfaces; applying payments to invoices
Fulfillment of sales orders (including basic picking and packing) and receiving of purchase orders
Inventory management including issuance and receipt, and inventory reservation for sales orders
Automated GL account posting of incoming and outgoing invoices, outgoing and incoming payments, payment application, and inventory receipt and issuance
General GL functionality for time periods, validation of transactions to post, time period closing
Balance Sheet and Income Statement reports (and basic posted amounts and account balance by time period summaries)

The automated tests are a great example of functionality and a good reference for where data ends up. They include complete flows with service calls and data validation for purchase orders (procure to pay), sales orders (order to cash), and billable projects with client and vendor/worker invoice/payment (work plan to cash).

HiveMind PM 1.0.0

HiveMind PM version 1.0.0 is the first official release. It is based on Moqui Framework 1.3.2 and Mantle Business Artifacts 0.5.0. This initial version of HiveMind Project Manager includes:

Vendor, Internal Org, Client, Worker, and other User administration
Rate setup for client billing and vendor/worker payout by project, worker, etc.
Project management
Milestone management and planning
Task management (hierarchical, associated with project and optionally milestone)
Flexible task searching and all-in-one task summary
Request management, including creating tasks to address the request
Time entry by task
Expense entry by project
Invoices and payments to pay vendor/worker for time and expenses
Invoices and payments to bill clients and receive payment
Invoice PDF
GL posting for invoices and payments
Balance Sheet, Income Statement, and posted balance/summary reports
Wiki with attachments for requirements and designs, linked to tasks and requests
Consolidated searching across projects, tasks, requests, and wiki
Simple email notifications for task, wiki, etc updates

The and include Moqui Framework and Mantle Business Artifacts and are ready to go. The file is built and has a Derby database preloaded with demo data, so just run it (gradle run, ant run, or java -jar moqui-1.3.2.war) and in your browser go to:


Latest Moqui Framework Release

Recent Releases Summary

It has been a while since I post about the latest in Moqui Framework, so here is a summary of major things in the last few releases (1.2.0, 1.3.0, 1.3.1, 1.3.2):

Moqui Framework 1.2.0 is a minor new feature release and a major quality improvement release. This release has undergone significantly more testing than previous releases because of a wider variety of functionality that has now been built and tested using the framework, and because of a unit testing effort (framework unit tests built using Spock).

The new features include popup menus (using the new jQueryUI menu widget), dynamic-options in XML Form drop-downs with dependency on other fields, automatic optimization of queries on view-entities to old select member entities necessary, support for UUID generated primary keys, expanded JCR support and an Example Content screen, and a number of small improvements that generally make the framework easier to use and more reliable.

Moqui Framework 1.3.0 is a major new feature and bug fix release. The major new features include the EntityFacade Data Document, Data Feed, and Data Search (based on ElasticSearch) features, the User Notification Message feature, and various improvements to XML Screens and Forms. This release is backward compatible with Moqui Framework release 1.2.0 with the exception that the StatusValidChange entity is deprecated by the new StatusFlowTransition entity.

Moqui Framework 1.3.2 is a minor new feature and bug fix release. The main new feature is a write-through per-transaction cache that effectively simulates the database for the scope of the transaction and does all DB updates with a single connection just before commit. This transaction cache is enabled on service definitions using the cache and force-cache options for the service.@transaction attribute. With this in place various Mantle services now run 2-3 times as fast with results validated by extensive automated tests.

Another set of new features covers internal profiling for artifact execution (entities, services, screens, transitions, etc). There are various forms of output available including a full artifact call tree with times, a consolidated tree to see own and total for artifacts in context, and a hot spot list by own or total time. This is similar to Java-level profiling tools but focuses on business level artifacts and with a low overhead gathers data always but only generates reports when needed.

OrientDB is now included in the framework by default instead of only in an addon component as before. This is useful as a general graph and document database and as an alternative through the Entity Facade for high-write entities like ArtifactHit.

Moqui Progress Commentary

While there are quite a few new features and bug fixes in Moqui Framework over the last few months, most of the work in the Moqui Ecosystem has gone into Mantle Business Artifacts and HiveMind Project Manager which are built on Moqui and are the main large scale projects based on it so far. I'll post separately about Mantle and HiveMind as both were released with a versioned release for the first time a few days ago.

The Moqui user community is expanding and the LinkedIn forum is starting to see more traffic. I am also starting to get more frequent calls and emails about new projects using them, and contracting and employment opportunities for projects based on Moqui (and often Mantle, and sometimes HiveMind).

Are you interested in getting more involved? The main thing Moqui and Mantle need now are applications built with them. These could be open source or commercial. The application should be something that benefits you, the better it is for you the better it will be for Moqui and Mantle as projects and products grow around them. Moqui and Mantle benefit from increased exposure, but also from feedback, bug reports, feature requests, patches, and so much more than existing efforts based on the projects have significantly helped with already (for around 2 years now).

What is coming next for Moqui Framework? This is often on my mind and is mostly driven by what is needed in applications that I am working on (Mantle, HiveMind, and PopCommerce now and then), technologies or features that people ask about and things that are just really cool or have huge potential to improve the flexibility and capability of enterprise automation systems.

One of these I have been researching more recently is the huge potential for rule and workflow tools in ERP apps. My interest in these goes back to the very early years of OFBiz, though neither the rule or workflow engines really worked out well and ended up being useful. Today there are extensive and very capable open source rule and workflow packages, and one (RedHat JBoss Drools and jBPM) where rules and workflow work together and share a knowledge base and such.

A couple of weeks ago I attended to Building Business Capability conference in Las Vegas and was inspired by how much progress has been made and all the great examples and case studies of applying these tools. This conference covers rules and workflow, and also requirements analysis and such that is another of my favorite topics in the enterprise software world.

I don't know when these things will show up in Moqui, but it will only be when there are real-world uses in place for them. Some early features in Mantle that I'd like to base on such tools include price calculation rules and order promotions rules (replacing the simple condition/action tables concept in OFBiz), order and invoice processing and approvals, and a more elaborate integration with HiveMind for managing the manual activities in workflow along with project tasks and such. There is potential for a lot more, but these would be good proof-of-concept sorts of features.

Wednesday, July 3, 2013

HEMP Book Now Available

A few years ago I started working on a refined approach to business analysis and system design to use with Apache OFBiz and other custom enterprise system development projects. This is based on my years of experience doing this work, starting as a developer often frustrated by inadequate and frequently changing designs, and non-existent or ineffective requirements, and later taking on consulting and active management for dozens of such projects.

The material I originally wrote was cobbled together and never cleaned up, but now I have written a book on the topic and it is available on

Here is a blurb about the book: "HEMP is an agile approach to business analysis and system design for end users, project managers, business analysts, application designers, software architects, application developers, and quality assurance professionals. HEMP complements agile software development methodologies with an equally agile approach for gathering and documenting business requirements and producing system designs to drive application development that will meet the needs of end-user organizations. The practices and artifacts in HEMP are applicable for building new systems as well as customizing existing ones. HEMP is agnostic to programming languages and application frameworks so can be applied regardless of technology preference. This book includes case studies and numerous examples to help you understand the context of recommendations and how to apply them."