wp-rocket icon indicating copy to clipboard operation
wp-rocket copied to clipboard

As a support team member, I want a dedicated interface to have an overview of SaaS usage status from a website

Open MathieuLamiot opened this issue 1 year ago • 4 comments

Context As part of building a RUCSS Debug tool, some information must be stored while in WP Rocket Debug mode so that it can be monitored easily by the support team. More details here: https://www.notion.so/wpmedia/RUCSS-Issues-7adc4ed750fd4dc7902bb6881ed1204b?pvs=4#38398060400d4fcf97f27aa563483d68 The following Github issues have been implemented to enable the construction of the front-end described here:

https://github.com/wp-media/wp-rocket/issues/6372 https://github.com/wp-media/wp-rocket/issues/6373 https://github.com/wp-media/wp-rocket/issues/6374 https://github.com/wp-media/saas-director/issues/42 https://github.com/wp-media/nodejs-treeshaker/issues/584

Expected behavior The front-end must display:

  • Current time on the server
  • The following timestamps from the DB (see linked issues), the expected delay and display a warning if the timestamps is further away than the associated treshold:

image

  • If the debug mode is enabled or not (and would be nice to be able to toggle it)
  • The number of jobs in the RUCSS DB, per status
  • The expected number of jobs in status pending + in-progress vs. $rows = apply_filters( 'rocket_rucss_pending_jobs_cron_rows_count', 100 );
  • The number of failed job per error_code/error_message, in descending number order.
  • A button to trigger the connectivity check and retriving the results (send the job, then fetch results every 5 seconds?)
  • An array to display the number of servers that answered successfully the connectivity check, number of servers still processing and a list of servers that failed.

Directives from Product team

To avoid any misuse by noisy customers, and since it can be managed outside of core, it's best to have it as a helper plugin + password protected.

MathieuLamiot avatar Jan 19 '24 12:01 MathieuLamiot

This might be a large task, and there are some "sub-tasks" possible to have incermental steps. During the grooming, feel free to suggest those sub-tasks so that we can separate the steps.

MathieuLamiot avatar Jan 19 '24 12:01 MathieuLamiot

To whoever does this grooming, please reach out to @alfonso100 to discuss where to implement this front-end based on the information in his comments here: https://www.notion.so/RUCSS-Issues-7adc4ed750fd4dc7902bb6881ed1204b?d=d034fb1ebfa044a48081da5aa2c83cad&pvs=4#38398060400d4fcf97f27aa563483d68

The support team tools might have some overlapping features, etc. The expected behavior of this issue is not set in stone, but we should make sure what we provide is useful and integrated well with what they do.

@piotr, maybe you can help on this too?

MathieuLamiot avatar Jan 19 '24 21:01 MathieuLamiot

As an whole this issue gonna take a while to develop that why it would be better to cut it into small ones:

  • An issue for the plugin creation and the creation of the page where results will be displayed.
  • An issue to handle the connectivity issue.
  • An issue to handle the need for a password to prevent users outside WP Media support from accessing the plugin.
  • An issue concerning the timeout from certain jobs and fetch the server time.
  • An issue concerning jobs details and errors.

CrochetFeve0251 avatar Feb 13 '24 13:02 CrochetFeve0251

@mostafa-hisham is adding a better layout to the plugin

CrochetFeve0251 avatar Feb 20 '24 11:02 CrochetFeve0251