KoolReport's Forum

Official Support Area, Q&As, Discussions, Suggestions and Bug reports.
Forum's Guidelines

Dashboard excessive complexity and limitness #2774

Closed GHSix opened this topic on on Jul 28, 2022 - 3 comments

GHSix commented on Jul 28, 2022

I'm starting with Dashboard product. You will see that I have added a bunch of questions in the forums. But now I'm thinking about it and I'm not sure the Dashboard deservers my time anymore.

It looks like it have a bunch of classes extending classes from Koolreport and adding complexity at the same time it remove some functionality from it.

Before to start looking at it, I was planning in use some reports from Dashboard inside another product, to facilitate the report info exchange. If it was pure Koolreport it would be a peace of cake to archive it, But now, I'm seeing that reports inside dashboard are created with its own classes that only exist inside of it, thus removing the reusability of the generated reports outside of Dashboard world.

After my thoughts above, a very simple question follows...

Is it possible to use the Dashboard as a layout only app and use pure Koolreport reports and charts under it?

Ie, instead of a MyTable like:

use \koolreport\dashboard\widgets\Table;

class MyTable extends Table
{
    protected function dataSource()
    {
        ...

do something more like a MyTable.php and MyTable.view.php:

class MyReport extends \koolreport\KoolReport
{
    function settings()
    {
        return array(
            "dataSources"=>array(
                "automaker"=>array(
use \koolreport\widgets\koolphp\Table;

Table::create(array(
        "dataSource"=>$this->dataStore("users"),
        "showFooter"=>true,
        "columns"=>array(
            ...

And still be able to use it inside MyBoard.php layout and do things like connect a chart selection to a table filter, for example?

class MyBoard extends Dashboard
{
    protected function widgets()
    {
        return [ MyTable::create() ]

Effectively having the 3 pure files index.php, MyTable.php and MyTable.view.php and call it inside MyBoard somehow.

As I see, if it is possible without too much of trouble, I could keep using Dashboard cool layout widgets without losing Koolreport DataTable, Export and all the easy and cool of pure Koolreport.

Thank you in advance.

KoolReport commented on Jul 29, 2022

First of all, thank you very much for your comment. It is very valuable to us to improve our product. The issue lies in the purpose of KoolReport and Dashboard. While KoolReport aims at maximizing flexibility (can do all things in all environments but more complex to use), Dashboard aims at speed and less code (easier to complete 80% of purpose with less complex but a little limited in dashboard environment).

However, Dashboard is quite open for pro mode, you can use KoolReport's widget inside Dashboard. There are two ways:

  1. Use KWidget to wrap any KoolReport widget.
  2. Use CustomBoard in which any KoolReport widget, any html can be used inside.

Let me know if you need further information on above solutions.

GHSix commented on Jul 29, 2022

I realise that I may have sounded harsh than I meant to be (language barrier). I just felt the other way around, that Koolreport was easier to get along than Dashboard, but I understand what kind of easy you are talking about.

I guess that what I saw as complexibility was all the abstraction that Dashboard is doing so we can write less code, and what I saw as limitation was, basically, the Table lack of CSV export, I see now.

I guess I gonna try a little with KWidget now. I just hope that KWidget don't bring any negative side effect or limitation to Dashboard as a hole.

Thank you.

KoolReport commented on Jul 29, 2022

No worries, I will help you. Additionally: You can export Table to CSV (actually even charts, graphs can also be exported to csv), I have provided the information in another topic of your. Let us know if you need further information.

Build Your Excellent Data Report

Let KoolReport help you to make great reports. It's free & open-source released under MIT license.

Download KoolReport View demo
help needed
testimonial

Dashboard