mirror of https://github.com/status-im/swarms.git
Added user story 4 (Advanced filtering with smart contracts)
This commit is contained in:
parent
fbacd8a513
commit
0c32dd74ae
|
@ -36,10 +36,10 @@ The MVP provides users with basic moderation tools so that they can block users,
|
|||
|
||||
### User Stories
|
||||
|
||||
- [US 1: Blocking a user](https://github.com/status-im/ideas/blob/progress/39-init-reqeng/active/39-chat-moderation/user-stories/us-1-blocking-a-user.md)
|
||||
- [US 2: Reducing SPAM](https://github.com/status-im/ideas/blob/progress/39-init-reqeng/active/39-chat-moderation/user-stories/us-2-reducing-spam.md)
|
||||
- [US 3: Filter unwanted content](https://github.com/status-im/ideas/blob/progress/39-init-reqeng/active/39-chat-moderation/user-stories/us-3-filter-unwanted-content.md)
|
||||
- US 4: Advanced filtering with smart contracts
|
||||
- [US 1: Blocking a user](./user-stories/us-1-blocking-a-user.md)
|
||||
- [US 2: Reducing SPAM](./user-stories/us-2-reducing-spam.md)
|
||||
- [US 3: Filter unwanted content](./user-stories/us-3-filter-unwanted-content.md)
|
||||
- [US 4: Advanced filtering with smart contracts](./user-stories/us-4-advanced-filtering-with-smart-contracts.md)
|
||||
|
||||
### Requirements
|
||||
|
||||
|
|
|
@ -5,5 +5,6 @@
|
|||
| Owner | Creator and owner of a chat. |
|
||||
| Moderator | User with rights to moderate a chat. |
|
||||
| User | Chat user without special rights. |
|
||||
| Power User | Chat user without special rights but ability to develop smart contracts. |
|
||||
| Contract Developer | Developer of contracts especially for chats. |
|
||||
| Contract Provider | Provider of contracts especially for chats. |
|
||||
|
|
|
@ -16,9 +16,8 @@ Wish of *User A* to reduce SPAM in a public group chat.
|
|||
|
||||
## Pre-Condition
|
||||
|
||||
A public chat room with traffic and *User A* as a user. *User A* decides that the
|
||||
quality of the feed doesn't match her quality requirements, the messages contain
|
||||
too much SPAM.
|
||||
A public chat room with traffic and *User A* as a user. Quality of the feed
|
||||
is too low for *User A*.
|
||||
|
||||
## Post-Condition
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Feeds of *User A* contain a phrase the user doesn't want to see.
|
|||
|
||||
## Pre-Condition
|
||||
|
||||
*User A* discovers phrases she dislikes and decides to ignore these messages.
|
||||
The disliked phrase is not inside the already added phrases of *User A*.
|
||||
|
||||
## Post-Condition
|
||||
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
# User Story 4: Advanced Filtering with Smart Contracts
|
||||
|
||||
## Description
|
||||
|
||||
*User A* is a power user. *User A* configures her moderation rules to include
|
||||
the address of a smart contract that implements a standard rules interface.
|
||||
The smart contract will be called to evaluate new messages as they are received.
|
||||
|
||||
## Trigger
|
||||
|
||||
*User A* want non-standard actions to be performed for each received message.
|
||||
|
||||
## Actors
|
||||
|
||||
- *User A*
|
||||
|
||||
## Pre-Condition
|
||||
|
||||
The actions perfomed on arriving messages do not contain the wanted action.
|
||||
|
||||
## Post-Condition
|
||||
|
||||
After adding the address of a smart contract implementing the standard rule
|
||||
interface this contract will be called for each received message.
|
||||
|
||||
## Flow
|
||||
|
||||
- *User A* opens a (global|chat room) menu and selects the menu point
|
||||
for adding smart contracts.
|
||||
- After entering the address of a smart contract and confirming the
|
||||
adding the smart contract will be checked for implementing the standard
|
||||
rule interface.
|
||||
- In case of a valid implementation the smart contract will be added.
|
||||
|
||||
## Remarks
|
||||
|
||||
- Question: Is the only one global list for all messages or also individual
|
||||
lists per chat room?
|
||||
- Question: Only one contract (global or per chat room) or multiple ones?
|
||||
- Question: In case of multiple contracts, can the order of their execution
|
||||
be defined?
|
||||
- Question: Can contracts filter messages or send new messages? And the latter
|
||||
to *User A* or also to other users?
|
||||
- Todo: Add user stories for the manipulation of the contract set.
|
Loading…
Reference in New Issue