WeBankFinTech / DataSphereStudio

DataSphereStudio is a one stop data application development& management portal, covering scenarios including data exchange, desensitization/cleansing, analysis/mining, quality measurement, visualization, and task scheduling.
https://github.com/WeBankFinTech/DataSphereStudio-Doc
Apache License 2.0
3.04k stars 999 forks source link

[Feature] Add bulletin board #1089

Closed wxyn closed 1 year ago

wxyn commented 1 year ago

Search before asking

Problem Description

When updating the current version and upgrading the system, it mainly relies on sending upgrade notifications within the user group to let users know the information. However, the scope of group message notifications is limited, and some users cannot obtain information about system upgrades. Therefore, it is necessary to add channels for announcement notifications within the product website, so that users can quickly obtain information.

Description

  1. Developers should write a notice that includes three elements: the effective time, the end time, and the content of the notice, and write a change SQL to synchronize with the production environment.
  2. The operation and maintenance personnel execute the SQL for announcement publishing to achieve announcement publishing.
  3. On the DSS homepage, prominently display the announcement content.

Use case

No response

solutions

This function involves the configuration, display, effectiveness, and expiration of announcements, both on the scriptis homepage and the dss homepage. In terms of functional structure, there is no difference between scriptis and dss, so starting from the secondary module, their functional structure is identical. Announcement Configuration The announcement configuration is completed by the operation and maintenance personnel. Every time an announcement needs to be published, the developers will write the SQL for the announcement, and the operation and maintenance personnel will execute the changes to complete the announcement. Announcement takes effect By comparing the startTime configured for the announcement with the current time, if the startTime is earlier than or equal to the current time, the announcement will take effect; otherwise, the announcement will not take effect. Announcement Invalidation By comparing the endTime configured for the announcement with the current time, if the startTime is earlier than or equal to the current time, the announcement will take effect; otherwise, the announcement will not take effect. Announcement display Extract the content of the announcement from the database and determine its effectiveness and expiration status. If the announcement is within the effective period and has expired, the announcement will be displayed. Otherwise, it will not be displayed.

Database design

CREATE TABLE `dss_notice`
(
    `id`          int(11) NOT NULL AUTO_INCREMENT COMMENT 'Primary key ID',
    `content`   text DEFAULT NULL COMMENT 'Announcement content',
    `start_time` datetime    DEFAULT CURRENT_TIMESTAMP COMMENT 'Effective time',
    `end_time`  datetime    DEFAULT CURRENT_TIMESTAMP COMMENT 'Failure time',
    PRIMARY KEY (`id`)
) ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4 COMMENT ='Home Announcement Content';

interface design DSS obtains homepage notification announcement,Interface path:/api/rest_j/v1/dss/framework/workspace/getNotice Return data image Scriptis obtains the homepage notification announcement interface ,Interface path:/api/rest_j/v1/dss/scriptis/getNotice Return data image

Anything else

No response

Are you willing to submit a PR?

zqburde commented 1 year ago

Add it in DSS1.1.2