Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MVP scheduled reports use case #288

Open
3 of 9 tasks
Tracked by #164
asteriscos opened this issue Sep 4, 2024 · 1 comment · May be fixed by wazuh/wazuh-dashboards-reporting#2
Open
3 of 9 tasks
Tracked by #164

MVP scheduled reports use case #288

asteriscos opened this issue Sep 4, 2024 · 1 comment · May be fixed by wazuh/wazuh-dashboards-reporting#2
Assignees
Labels
level/task Task issue type/enhancement New feature or request

Comments

@asteriscos
Copy link
Member

asteriscos commented Sep 4, 2024

Description

As part of the MVP of the reporting revamp objective, we need to implement a use case for the Reporting plugin. This involves forking the OpenSearch reporting plugin and integrating it into our package-building process and development environment.
Once we have control over the source code we have to apply the customizations to the reporting plugin and generate a user case with a dashboard by reference.

Objective

Functional requirements

  • Use the fork of OpenSearch reporting plugin
  • The use case must be automatically configured in the initial deployment
  • The configured report must send a scheduled report by email

Tasks

@yenienserrano
Copy link
Member

Proposed HTML template

image

HTML
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <title>Email template</title>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <style>
        body {
            background-color: #f6f6f6;
            font-family: "Open Sans", "Segoe UI", Tahoma, sans-serif;
            -webkit-font-smoothing: antialiased;
            font-size: 14px;
            line-height: 1.4;
            margin: 0;
            padding: 0;
            -ms-text-size-adjust: 100%;
            -webkit-text-size-adjust: 100%; 
        }
        .wz-container {
            margin: 20px;
            padding-bottom: 20px;
            border-radius: 10px;
            display: flex;
            flex-direction: column;
            align-items: center;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        .wz-container .header {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content:  space-around;
            margin-bottom: 20px;
            border-radius: 10px 10px 0 0;
            width: 100%;
            background-color: #006BB4;
        }
        .wz-container .header img {
            width: 100px;
            margin-left: 20px;
        }
        .wz-container .header h1 {
            color: white;        }
        .footer {
            margin-top: 10px;
            display: flex;
            flex-direction: column;
            align-items: center; 
        }
        .footer-text {
            color: #999999;
            font-size: 12px;
            text-align: center; 
        }
        .wz-container .btn {
            box-sizing: border-box;
            width: auto; 
            display: inline-block;
            margin-right:1em;
        }
        .wz-container .btn {
            background-color: #ffffff;
            background-color: #005EB8;
            border-color: #005EB8 #00488c #00488c;
            background-image: linear-gradient(180deg,#005EB8 0,#004381  );
            border: 1px solid;
            border-color: #005EB8 #00488c #00488c;
            border-radius: 5px;
            box-sizing: border-box;
            color: #FFFFFF;
            cursor: pointer;
            display: inline-block;
            font-size: 14px;
            font-weight: bold;
            margin: 0;
            padding: 12px 25px;
            text-decoration: none;
            text-transform: capitalize; 
            text-shadow: rgba(0,0,0,.05) 0 1px 0;
        }
        .wz-container .kpi {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            margin-bottom: 20px;
            padding: 20px;
            border-radius: 10px;
            background-color: #ffffff;
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        }
        @media all {
            .wz-container .btn:hover {
                background-color: #0a2694 !important;
                background-image: linear-gradient(180deg,#137CC1 0,#00529E) !important;
            } 
        } 
    </style>
</head>
<body>
    <div class="wz-container">
        <div class="header">
            <h1>Wazuh dashboard reports</h1>
            <img src="<img>" alt="Wazuh logo">
        </div>
        <div class="kpi">
            <h2>{{hits}}</h2>
            <div>Alerts in the last 24 hours.</div>
        </div>
        <div>
            <p>New report available in Wazuh dashboards.</p>
            <a class="btn btn-primary" href='{{urlDefinition}}'>Open in Wazuh dashboards reports</a>
        </div>
    </div>
    <div class="footer">
        <p class="footer-text">Powered by <a class="footer-text" href="https://wazuh.com/">Wazuh</a>.</p>
    </div>
</body>
</html>

There is a problem that when sending it by mail some styles work and others do not.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
level/task Task issue type/enhancement New feature or request
Projects
Status: In progress
Development

Successfully merging a pull request may close this issue.

3 participants