From 0c32dd74aeed2b47fffa12758a85a197e59030be Mon Sep 17 00:00:00 2001 From: Frank Mueller Date: Tue, 5 Dec 2017 21:54:54 +0100 Subject: [PATCH] Added user story 4 (Advanced filtering with smart contracts) --- active/39-chat-moderation/README.md | 8 ++-- active/39-chat-moderation/roles.md | 1 + .../user-stories/us-2-reducing-spam.md | 5 +-- .../us-3-filter-unwanted-content.md | 2 +- ...advanced-filtering-with-smart-contracts.md | 44 +++++++++++++++++++ 5 files changed, 52 insertions(+), 8 deletions(-) create mode 100644 active/39-chat-moderation/user-stories/us-4-advanced-filtering-with-smart-contracts.md diff --git a/active/39-chat-moderation/README.md b/active/39-chat-moderation/README.md index f4a9c20..a3e07bd 100644 --- a/active/39-chat-moderation/README.md +++ b/active/39-chat-moderation/README.md @@ -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 diff --git a/active/39-chat-moderation/roles.md b/active/39-chat-moderation/roles.md index f5b0972..5d59f6b 100644 --- a/active/39-chat-moderation/roles.md +++ b/active/39-chat-moderation/roles.md @@ -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. | diff --git a/active/39-chat-moderation/user-stories/us-2-reducing-spam.md b/active/39-chat-moderation/user-stories/us-2-reducing-spam.md index bb9cab6..c8eed04 100644 --- a/active/39-chat-moderation/user-stories/us-2-reducing-spam.md +++ b/active/39-chat-moderation/user-stories/us-2-reducing-spam.md @@ -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 diff --git a/active/39-chat-moderation/user-stories/us-3-filter-unwanted-content.md b/active/39-chat-moderation/user-stories/us-3-filter-unwanted-content.md index f1ab0c7..87bfb30 100644 --- a/active/39-chat-moderation/user-stories/us-3-filter-unwanted-content.md +++ b/active/39-chat-moderation/user-stories/us-3-filter-unwanted-content.md @@ -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 diff --git a/active/39-chat-moderation/user-stories/us-4-advanced-filtering-with-smart-contracts.md b/active/39-chat-moderation/user-stories/us-4-advanced-filtering-with-smart-contracts.md new file mode 100644 index 0000000..f35c314 --- /dev/null +++ b/active/39-chat-moderation/user-stories/us-4-advanced-filtering-with-smart-contracts.md @@ -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. \ No newline at end of file