December 25, 2021
Reporting section is always a part of any system, sometimes it plays a crucial part. We have learnt this through hundreds of projects we did for our customers. So what is KoolReport and why you should consider having it in your great php application.
What is KoolReport?
By definition, KoolReport is an intuitive and flexible open-source PHP Reporting Framework for faster and easier data report delivery. Just like any php framework like Laravel or CodeIgniter, KoolReport provides developers a frame to code, a list of ready-made functionalities to build things. While other frameworks focus on constructing web applications, KoolReport only focuses on one thing: using PHP to construct great data reports.
Koolreport was born from the fact that data reports appear very often in almost all web applications. It is understandable because we always need to know the status of applications such as number of visitors, number of registered users or number of item sales and so on. We have built several hundred applications for our customers and 90% have report sections. In some of them, the report section is actually the main part. This is the biggest motivation for us to construct KoolReport in the first place.
There are 5 reasons that you would like to have KoolReport in your projects:
Easy to install and easy to use. You can install KoolReport by either downloading a copy and putting it inside your application or by using composer with a single command line. The structure of a report is very simple, one php class for report’s definition and one view file for report’s visualization. That’s why you can start using KoolReport in almost no-time.
KoolReport only does one thing and only one thing: building a good data report. Nothing more. You will not see routing, authentication or whatsoever. Is it bad? It depends on each opinion but for us, doing one thing best is better. “Make a good report” is not a simple task in fact. It includes 3 things.
First is the ability to connect to various sources and bring in data in one place. A report could be combined results from different data sources, a little from MySQL, some in Postgresql and other from CSV.
Second is the power of data processing. Data is gathered but how to fastly combine and transform them into meaningful information is the question. KoolReport contains over 30 built-in data processes which you can use with your data.
Last is data visualization capability. We have all meaningful data but without a good representation, the story could not be told. KoolReport is integrated with rich charts and graphs that come from well known libraries such as Google Chart, D3 or ChartJs for you to convey your data in the most impressive and interactive way.
Work with different environments
KoolReport can be integrated into Laravel or CodeIgniter or any MVC frameworks out and utilize their functionalities not existing in KoolReport. So KoolReport wants to be part of ecosystems, does one good thing and corporate with others, all heading to a final purpose: A great application.
Inherit experience of data report maker
Our deep experience of making data reports has been put into KoolReport. Moreover, the comments, recommendations and error report from users helps us to perfect KoolReport through many years. So using KoolReport, you are using a proven framework made by experts and growing from real use cases.
Free and open-source
Cost is always a part of the decision as always. KoolReport is released as a free and open-source library under MIT license which virtually gives you full right to use, to access and modify source-code as your own need.
So above are the top 5 reasons that you should use KoolReport inside your project. Of course, any solution has drawbacks and KoolReport will not be an exception. The reasons we give could be biased and the best way is your own experience with the framework.
October 8, 2019
We would like to inform that we have released new version KoolReport 4.3.0 ready for your upgrade. This is a worth upgrading version containing many improvements and important bug fixes.
For further details of the changes in this new version, please follow these links:
This upgrade is backward compatible so feel free to upgrade now!
Some more good news
KoolReport Pro 4.3.1 has been released as well with new core and the upgrades of 14 packages including Pivot, DataGrid, Export and more.. If you have KoolReport Pro license, you may upgrade now via manual download or composer installation. If you have not owned a license yet, please consider to get one now. You will love it!
P.S: KoolReport team wish you have a great day and do not forget to support us. We are and will work hard to bring you to best product saving you time & effort. That's our promise.
June 7, 2019
LET PARTY! We are very happy to let you know that KoolReport 4.0.0 has been released. There are many enhancements in this version that worth your upgrade.
Now all our packages both free and paid can be installed through
Composer. The free packages are hosted with famous Packagist and the commercial packages are hosted with our self-built private repository.
Since we moved our GitHub repository from
koolreport/core, we have adjusted our folder structure a little bit for unity between manual installation and composer installation.
The core itself has been improved so much from datasources to data processes and the visualization. Those existed bugs from version 3.x has been solved completely in this version.
We added a new widget added called
Card to the core. The
Card allows us to show the important KPI value in our report. If you aim at constructing a dashboard, Card widget is very useful.
KoolReport 4.0.0 is extended capability to work with other template engines rather than just default and boring
.view file. To support this feature, we have released 3 new template engine packages:
- Blade: You are in love with Blade in Laravel? Now you can use blade for your report view
- PlatesPHP: You just want to use native PHP template? PlatesPHP is your best choice.
- Twig: Another famous and proven template engine. Fast and secure.
All of them are free. You can download those packages via our website or install them with composer.
Planning to release in previous version but we are only able to perfect and release our
Amazing theme package now. The
Amazing theme allows us to make our report look new and modern. Built on top of Bootstrap 4, the amazing theme inherits all cool features of Bootstrap 4 together with new look and feel. We also added some cool widgets for this theme package as well. Say no more, you can have a look at this new package here
Amazing Theme Introduction - Amazing's ChartCard
Other Packages' Enhancements
- Pivot: New
Pivot2D has been added. Algorithm change for better and faster data summarization.
- Excel: Able to create Excel charts using template, more widgets are added.
- Cube: Improve efficiency.
- CloudExport: Update ChromeHeadlessio service
- DataGrid: Improve security for server processing feature.
- ..and many others.
If you have owned KoolReport Pro license, you can upgrade via
composer with package name
koolreport/pro. You may login to our website, heading to My Licenses page and generate token key to upgrade. If you have not, please consider getting KoolReport Pro as it is the most valuable package that we offered.
KoolReport 4.0.0 is a must-upgraded version as it contains many important improvements and bug fixes. We are working hard to make KoolReport better and better day by day.
<3 koolreport team
July 16, 2018
LET PARTY to celebrate the new version of KoolReport 2.78.0. We are very proud because we thought everything was just perfect in the previous version but still this new one comes with a lot of improvements. We have been working hard to find every enhancement point even tiny. So here come the new version, all are backward compatible so you need not to worry. Please upgrade!
In this version, we have reviewed all datasource classes once more time to assure they are totally safe from any security threats. Furthermore, we have improved datasources for MySQL, Postgre, SQLSRV and Oracle to reduce their response time and memory usage by enabling the connection sharing. It means that, if you have multiple queries to the same database, connection will be shared between them thus reducing the unneccessary of re-connecting time. This technique has been implemented for PdoDataSource but have not done for others.
We have improved the
src($name) function as well. Previously, this method requires us to specify the name of datasource. However we found that 80% of the cases, we have only ONE datasource. So we thought that it would be nicer to just write
src() without any parameter, KoolReport will automatically get the first datasource to use. A tiny improvement but it can free our mind and reduce the typo of datasource name which resulted in error.
We have also enhanced the SubReport feature. In the previous version, we use HTML comment tags to mark subreport section but we found that some web servers remove the HTML comment tags for the purpose of optimization which will cause big issue for SubReport so we change to use HTML element. As a result, SubReport now works perfectly.
In previous version of KoolReport, we may need to remove the resources folder when upgrade to new version. It is quite troublesome and easy to forget. In this version, we use KoolReport's version and widget's version as a factor to generate widget's url. It helps us to reduce the unneccessary work when upgrade library, KoolReport will make sure all generated resources files stay updated.
Last, we have improved the event of
Google Chart and
Table. Now in those events like rowClick or itemSelect, we will receive selectedRow with associate data beside the array one. For example, you can access the row id by
selectedRow or by
selectedRow['id']. This will add convenience to get data cell value for further processing.
Above are highlights, you may view the full release note.
Together with the new core, we have release below new package version:
- DataGrid 1.5.0: Adding formatValue for footer and enable data-search and and data-order feature.
- Pivot 4.1.0: Add count percentage and sum percentage to pivot process
- Cube 2.1.0: New
- Excel 3.0.0: Change to advanced
PHPOffice/PHPSpeadsheet library and discard the deprecated
- ChartJS 1.2.0: Return associative array on event
- SparkLines 1.20: Add ability to write js in widget creation.
- Inputs 3.5.0: Add ability to write js in widget creation.
- Morris Chart 2.0.0: Use advanced jsonEncode() function.
- DrillDown 2.0.0: Ability to work with
Beside the new version of above packages, we have add two brand new packages
- Codeigniter 1.0.0
- Laravel 1.0.0
Those two packages are free and born to make KoolReport work seamlessly in CodeIgniter and Laravel environment. In the future, we will add more packages like those two to support KoolReport working in other PHP Frameworks like Symfony, Yii2 and etc.
And not to forget, we released KoolReport Pro 2.78.0 containing all above released packages. If you own KoolReport Pro, you may upgrade now.
Have thought that the previous version was perfect, we are proved to be wrong by this new releases with a lot of enhancements. Listening to users is the key point and we will continue to do so. We thank you so much for all of your suggestions, bug reports, your case of usages that you shared with us. That's priceless! Thank you!
If you have any questions or comments, please post on this forum topic.
<3 koolreport team
January 16, 2018
Drill down and drill through are two extremely powerful features in business intelligence. They both give the user the ability to see data and information in more detail–although they do so in different fashions.
Drill down is a capability that takes the user from a more general view of the data to a more specific one at the click of a mouse. For example, a report that shows sales revenue by state can allow the user to select a state, click on it and see sales revenue by county or city within that state. It is called “drill down” because it is a feature that allows the user to go deeper into more specific layers of the data or information being analyzed.
Further levels of drill down can be set up within the report–practically as many as supported by the data. In our example, the drill-down can go from country to state to city to zip code to specific location of stores or individual sales reps. Typically, the look and feel of each level of the report is similar–what changes is the granularity of the data.
- Example 1: Sale By Time
- Example 2: Sale By Location
Drill Through (MultiView)
Instead of taking the user to a more granular level of the data, drill through takes him to a report that is relevant to the data being analyzed, also at the click of a mouse. For example, a tabular report that shows sales revenue by state can allow the user to click on it and reveal an analysis grid of the same data, or a heat map representing the data in visual form. It is called “drill through” because it is a feature that allows the user to pass from one report to another while still analyzing the same set of data.
- Example: Sale By Month With Different Views
Benefits of Drill Down and Drill Through
Gain instant knowledge of different depths of the data – Drill down gives the user a deeper insight of the data by letting him see what makes up the figures he’s analyzing. For example, in mere seconds, drill-down answers questions such as: of my National sales figure, which states are performing better? Which states are underperforming? And within each state, which territories are driving revenue?
See data from different points of view – Drill through allows users to analyze the same data through different reports, analyze it with different features and even display it through different visualization methods. This greatly enhances the users’ understanding of the data and of the reasons behind the figures.
Keep reporting load light and enhance reporting performance – By only presenting one layer of data at a time, features like drill down lighten the load on the server at query time and greatly enhance reporting performance–while offering great value to the end-user.
<3 koolreport team