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.