TJ Reports - Universal Reporting Engine for Joomla
TJ Reports is a horizontal/Infrastructure extension for Joomla that allows developers to develop reporting plugins with ease along with providing extensive reporting capabilities in their extensions.
Features of TJ Reports
A reporting plugin is the ‘code’ behind the report. It defines the context as well as the superset of data and query parameters that the report can retrieve.
Extension developers can write their own reporting plugins as required for their extensions. Agencies and developers providing customisation services to clients can also use TJ Reports plugins to create extension specific of multi extension custom reports and deliver them in a consistent, easy to use interface.
Reports via Configuration
While the plugin provides the code behind a report, the report configuration is what makes it available as per your choice to users as an effective ‘Report’. You can thus create multiple reports from a single reporting plugin. The configuration allows you to choose which part of the superset of data you want to make available in that particular report, who you want to allow access to, do you want to allow user specific customisation etc.
This is only needed if you are a developer or power user. Techjoomla as well as other extension developers will install default reports along with their extensions so normal everyday use needs no special configuration.
Access Control and context based access
Every report via configuration supports Group based access control. You can choose which Joomla User groups should be given access to the report. In addition TJ Reports also understands context of ownership. By default in a multi vendor scenario, a vendor would have access to View reports for content he or she owns. But you can grant a View all access for groups that need it.
Manager Reports with Hierarchy integration
In addition to access control and context of ownership, TJ reports supports the hierarchical context via integration with our infrastructure extension for Hierarchy management. By virtue of this Mentors or managers can see reports related to users who report to them as defined in the com_hierarchy database. Developers need to ensure that they support these contexts in the reporting plugins they write.
Just like other infrastructure extensions, you can pass the client context to show reports related to your extension. For instance ‘ index.php?option=com_tjreports&client= tjlms’ would give reports contextual to Shika LMS. A Plugin will also have a context defined. For Plugins that have cross extension reports, an ‘All’ Client can be passed.
Fork it on Github
You can find the sourcecode for TJ Reports in our GitHub repository.
Documentation & Plugin Creation Guides
You can find the documentation & plugin creation guide here.