Include dashboard in base module

Rational

The first impression of Tryton is a blank slate. This is bad as discussed in Blank state improvements. The user on login should see the important information according to his role (groups). This information should also be an entry point to navigation.
E.g.: a salesmen should see how much draft or quoted sales are pending and open them directly to act.

The dashboard module was a way to have this feature but it did not work because it is an optional module and so modules does not fill it with data (actions).

Proposal

We deprecate the dashboard module and include it in res module.
We add on the user a dashboard field (similar to the menu) but restricted to board view. This screen is displayed only when there is no tab opened (so on login). The view is refreshed each time it is display again (when last tab is closed).

We define in res module a default board view that each module will fill with its data.
The clients must call a dedicated method to retrieve the boad view. This method will be in charge to remove any action that the user may not have access to (and optionally add cache).

The layout of the board is divided in two parts.
The first part is composed of a group of relate buttons.
The second part is composed of graph and list. They are limited to a fixed height.

Content

  • Party: link to parties
  • Product: links to products and variants
  • Accounting:
    • links to invoices, lines to pay, payments, statements, non-reconciled lines, dunnings
    • list: journal cash
  • Stock:
    • links to shipments, inventories
  • Purchase:
    • links to purchases, requests, requisitions, amendments
  • Sale:
    • links to sales, opportunities, complaints, amendments
    • graph: opportunities per months
  • Timesheets:
    • graph: employee timesheet per day for current week
  • Productions:
    • links to productions, works

Implementation

I have several doubts here:

  • What if the user has default actions to be launched? The dashboard will be also launched?
  • I’m wondering if using a single board view is enought. There may be some users that are responsible of two areas (for example purchase and sale) and it will be better to have separate dashboard for each area. Another reason for having more that one dashboard is that in case the user case a lot of permisions will see a dashboard with a lot of information which is normally hard to manage.

If those actions opens tab, the user will not see the dashboard until he close all the tabs.

That is a design detail. Notebook are group can be used in the board.

Well that’s not very good practice to have a user with a lot of permissions.
Any way, with a good board design and a sparse usage of the board this should not be a real problem.
For example we could not show some actions even if the user has access to it because he belongs to another group.
But I do not want to already fix such problem of abundance before having really the problem. For now, we have no dashboard so we should not care about having too much.

I don’t think this is a good solution. I think this dashboard should be something that can be accessed at any time with a single click.

For me, the blank state situation after login can be solved by a some nice tips. Something like this telling the user where she can act in the menu, and where she can access a dashboard or how she can set some defaults.

Like Sergi, I see it quite dificult to be able to fit all the information a user needs in one screen, specially considering that most Tryton users will be in relatively small businesses where a single person has lots of permissions.

Adding tabs may be a solution but I’m not sure without seeing it myself. After all, tabs will have similar entries to the menu (Sales, Purchases, etc) so mayb we should consider showing the menu as a grid like other aplications do.

I’ve just found this dashboard example from ERPNext:

On the first row, i see the revenue and expenses amount per period. On the second row I see the cumulated receivable and payable amount per period.

For me this will be a good example of a dashboard for the account module as it gives a good view of the accounting values in the company and also its generic enougth to be used on all countries.

1 Like

It’s very nice. IMHO One of most important thinks missing on the actual dashboard module is the aggregated data. I use it, for example, to see all the last 30 days sales and there I can analize them all but also I would like to see the daily total of sales for example. That info could be showed in graphs as in the photo and also in a “table” as BaBI does.
Just my two cents.
Cheers