关于DAOSpace扩展点的思考【WIP】
我理解的好的插件系统,应该通过扩展点来扩展。那当前DAOSpace需要哪些扩展点
来满足不同大小DAO组织的需求。
扩展点:
actions:
插件通过向DAO注册新的Action,来扩展DAO的Action能力。
接口:
trait Action<DaoT> {
fun name():vector<u8>;
fun schema():vector<u8>;
fun execute(dao:DaoT, params:vector<vector<u8>>);
}
Action JSON schema:
{
"params": [
{
"name": "vision",
"type": "vector<u8>",
"describe":"The vision of this DAO",
"required": true,
},
...
]
}
注册Action:
let action = SetVisionAction {
...
}
DAOSpace::register_action<DaoT, ActionT>(&add_action_cap, action:ActionT);
移除Action:
DAOSpace::remove_action<DaoT, ActionT>(&remove_action_cap, action_name:vector<u8>);
相关提案界面:
, multiple selections available,
Related content
DAOSpace用例图【WIP】
DAOSpace用例图【WIP】
Read with this
DAOSpace前端插件方案【WIP】
DAOSpace前端插件方案【WIP】
Read with this
DAOSpace实体关系图
DAOSpace实体关系图
Read with this
DAOSpace领域类图
DAOSpace领域类图
Read with this
DAOSpace前端
DAOSpace前端
Read with this
STARCOIN: DAOSpace的设想
STARCOIN: DAOSpace的设想
Read with this