Anoman report frame work virtually builds a SQL SELECT statement based on user inputs. Anoman conceptualized and continually evolved by customer requirements and use cases. In one of our software implementation, we have a task to implement almost 70 pre-defined reports on one table. A team of few, we don’t have much hands to develop it. Our organization principles are highly influenced by Lean Methods & TQM. In that direction we thought to have only one interface to fetch the data as the way they user need it. We highly looked the possibility of reuse in future needs to attain long time benefit.
The custom report implemented with the options to SELECT information fields, WHERE filters, GROUP BY values, BETWEEN date filters and ORDER BY fields as the way the user need it. It has given an unlimited freedom to pick & analysis the data in different dimensions. The system incrementally improved with new features in each installation. Features like, bookmark the report selection, aggregate results, graphical display, etc added in further versions.
The report configuration implemented in simple Hashes of Hashes structure. It’s helped to implement the system with semi skilled resources through a Standard Operation Procedure. Hash based configuration came handy in transforming real time tweaks with ease. The user selection finally transformed to a SQL query like
SELECT a as A, b as B, c as C FROM d WHERE e IN (1,2) AND f=’g’ AND h BETWEEN i AND j GROUP BY k ORDER BY l,m.
Anoman implemented in different domains like project management, whole sale trading and few other information systems in a short span. The system highly coupled with our legacy internal environment that implemented in CGI::Ajax. The HTML output also purely generated as string. After some years of usage, we faced challenges in generating the output in multiple formats and integrating it with other PHP based systems. Now we are improving it to an independent system, capable to support multiple output formats and smooth integration to external systems. With these improvements, we planned to make it open.
In this talk, I will share the tools inner components, existing use case and a short hands-on implementation.
HoH Configuration Detail
Aircraft Part System
Project Task Informaton
An Independent System
Multiple Output formas
Interface based configuration