Project

General

Profile

Rule Maker RFC » History » Version 2

Calvin Hutcheon, 05/09/2022 11:16 PM

1 1 Calvin Hutcheon
# Rule Maker RFC
2
3 2 Calvin Hutcheon
## Description
4
5
There's a need for a distributed, general-purpose method that enables any person to author, publish, discover, fetch, scrutinize, prioritize and optionally automate rules on digital networks at scale and with speed.  The Xalgorithms Foundation has created a general purpose free/libre/open method called [DWDS](https://gitlab.com/xalgorithms-alliance/dwds-documents/-/blob/master/current/DBA-Thesis_JPotvin_UQuebec-UQO.pdf). Rule Maker is an interface that enables users to construct rules in a way that is consistent with the Data with Direction specification. 
6
7
Rule Maker adopts a philosophy of iterative development...
8
9
Given the emergent nature of the interface, Rule Maker is being developed using a methodology of continuous testing
10
11
RM v0.4 is a webapp built in Svelte
12
13
14
## Features
15
16
Rule authoring is a complex process comprised of a number of activities. However, only some of these must be supported by RMv4. This diagram shows what is supported in the application and what takes place outside.
17
18
<iframe border="1px solid rgba(0, 0, 0, 0.1);" width="100%" height="450" src="https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FXz37GPQS5Zw5CRf1ljobHM%2FRM-Activity-Map%3Fnode-id%3D0%253A1" allowfullscreen></iframe>
19
20
This diagram defines all the actions that a user would need to accomplish in rule maker.
21
22
<iframe border="1px solid rgba(0, 0, 0, 0.1)" width="800" height="450" src="https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FDqjfZzcD8kYAHEKpMohY1f%2Frule-maker%3Fnode-id%3D0%253A1" allowfullscreen></iframe>
23
24
A required actions across the main areas of RM
25
26
- dev
27
	- manifest doc enabling dev to define:
28
		-  path to json doc defining custom metadata fields (aka a [rule template](https://communications.xalgorithms.org/rule-maker/rule-templates/))
29
		- path to css defining custom styling choices
30
31
- application
32
	- metadata
33
		- display fields as defined by json document
34
		- structure user input into well formatted json per DWDS
35
	- table editor
36
		- display table editor UI
37
		- structure user input into well formatted json per DWDS
38
	- output
39
		- display fields as defined by json document
40
		- structure user input into well formatted json per DWDS
41
	- publication
42
		- download json
43
		- publish to RR (??)
44
45
## Iterative  Development
46
47
What's been learned so far?
48
49
## Developer and User Experience