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

[Feature] Add bulletin board #1089

Closed
2 tasks done
wxyn opened this issue Jul 11, 2023 · 1 comment
Closed
2 tasks done

[Feature] Add bulletin board #1089

wxyn opened this issue Jul 11, 2023 · 1 comment

Comments

@wxyn
Copy link
Contributor

wxyn commented Jul 11, 2023

Search before asking

  • I had searched in the issues and found no similar feature requirement.

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?

  • Yes I am willing to submit a PR!
@wxyn wxyn added the enhancement New feature or request label Jul 11, 2023
@zqburde
Copy link
Contributor

zqburde commented Aug 9, 2023

Add it in DSS1.1.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants