time.js generate day log from draft metadate
entry.html can display day log as markdown.
This commit is contained in:
parent
0cf8015218
commit
74d3d8614c
|
@ -4,11 +4,28 @@
|
|||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>entry page</title>
|
||||
<script src="marked.min.js"></script>
|
||||
<script>
|
||||
location.href = "https://codeberg.org/hyg/blog/src/branch/master/release/time/d."+datestr()+".md";
|
||||
window.onload = function(){
|
||||
var daylogurl = "https://codeberg.org/hyg/blog/raw/master/release/time/d." + datestr() + ".md";
|
||||
getTextFileFromURL(daylogurl)
|
||||
}
|
||||
|
||||
function getTextFileFromURL(url) {
|
||||
var xmlhttp = new XMLHttpRequest();
|
||||
xmlhttp.onreadystatechange = function () {
|
||||
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
|
||||
var text = xmlhttp.responseText;
|
||||
alert(text);
|
||||
document.getElementById('daylog').innerHTML = marked.parse(text);
|
||||
}
|
||||
};
|
||||
xmlhttp.open("GET", url, true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
function datestr(diff = 0) {
|
||||
var theDate = new Date();
|
||||
//theDate.setDate(theDate.getDate() - 1);
|
||||
theDate.setDate(theDate.getDate() + diff);
|
||||
|
||||
var year = theDate.getFullYear();
|
||||
|
@ -16,15 +33,13 @@
|
|||
var day = theDate.getDate() < 10 ? "0" + theDate.getDate() : theDate.getDate();
|
||||
var dateStr = year + "" + month + "" + day;
|
||||
|
||||
//console.log("datestr retrun:"+dateStr);
|
||||
return dateStr;
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
<div id="daylog"></div>
|
||||
</body>
|
||||
|
||||
</html>
|
File diff suppressed because one or more lines are too long
223
release/time.js
223
release/time.js
|
@ -1,96 +1,129 @@
|
|||
var fs = require('fs');
|
||||
var yaml = require('js-yaml');
|
||||
|
||||
let rawrepopath = "../../raw/";
|
||||
let helpstr = `
|
||||
today plan: node time init 1
|
||||
day log mode: node time 20240414
|
||||
diff day log mode: node time -1
|
||||
today log mode: node time
|
||||
`;
|
||||
let today = datestr();
|
||||
|
||||
// read the arguments
|
||||
var arguments = process.argv.splice(2);
|
||||
if (arguments.length > 0) {
|
||||
if ((arguments.length == 2)&(arguments[0] == "init")){
|
||||
//today plan: node time init 1
|
||||
loadmetadata();
|
||||
makedayplan(today,arguments[1]);
|
||||
}else if ((arguments.length == 1)&(arguments[0].length == 8)) {
|
||||
//day log mode: node time 20240414
|
||||
startdate = arguments[0];
|
||||
enddate = arguments[0];
|
||||
loadmetadata();
|
||||
makedaylog(arguments[0]);
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}else if ((arguments.length == 1)&(arguments[0].length != 8)&(!isNaN(arguments[0]))) {
|
||||
// diff day log mode: node time -1
|
||||
var diff = parseInt(arguments[0]);
|
||||
//console.log("diff day mode. diff="+diff);
|
||||
|
||||
startdate = datestr(diff);
|
||||
enddate = datestr(diff);
|
||||
loadmetadata();
|
||||
makedaylog(datestr(diff));
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}else{
|
||||
console.log(helpstr);
|
||||
process.exit();
|
||||
}
|
||||
} else {
|
||||
// today log mode: node time
|
||||
startdate = datestr();
|
||||
enddate = datestr();
|
||||
loadmetadata();
|
||||
makedaylog(datestr());
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}
|
||||
|
||||
function makedayplan(date,plan){
|
||||
// read wake time from raw repo
|
||||
var rawhealthfilename = "health/d."+date+".yaml";
|
||||
var rawhealthfile = yaml.load(fs.readFileSync(rawrepopath + rawhealthfilename, 'utf8'));
|
||||
var waketime = rawhealthfile.wake.time;
|
||||
//console.log("wake time:"+waketime);
|
||||
|
||||
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
|
||||
var planstr = planobj.dayplan[plan].planstr
|
||||
|
||||
var dayplan = "# "+date+"\n\n计划\n\n根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版"+plan+"。\n\n"+ planstr;
|
||||
var dayplanfilename = "time/d."+date+".md";
|
||||
//console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:"+dayplan);
|
||||
fs.writeFileSync(dayplanfilename, dayplan);
|
||||
}
|
||||
|
||||
function loadmetadata(){
|
||||
|
||||
}
|
||||
|
||||
function makedaylog(date){
|
||||
|
||||
}
|
||||
|
||||
function showtables(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// utils
|
||||
function datestr(diff=0) {
|
||||
var theDate = new Date();
|
||||
//theDate.setDate(theDate.getDate() - 1);
|
||||
theDate.setDate(theDate.getDate()+diff);
|
||||
|
||||
var year = theDate.getFullYear();
|
||||
var month = theDate.getMonth() + 1 < 10 ? "0" + (theDate.getMonth() + 1) : theDate.getMonth() + 1;
|
||||
var day = theDate.getDate() < 10 ? "0" + theDate.getDate() : theDate.getDate();
|
||||
var dateStr = year + "" + month + "" + day;
|
||||
|
||||
//console.log("datestr retrun:"+dateStr);
|
||||
return dateStr;
|
||||
var fs = require('fs');
|
||||
var yaml = require('js-yaml');
|
||||
|
||||
let gitpath = "../../" ;
|
||||
let rawrepopath = "../../raw/";
|
||||
let draftrepopath = "../../draft/";
|
||||
|
||||
let helpstr = `
|
||||
today plan: node time init 1
|
||||
day log mode: node time 20240414
|
||||
diff day log mode: node time -1
|
||||
today log mode: node time
|
||||
`;
|
||||
let today = datestr();
|
||||
|
||||
// read the arguments
|
||||
var arguments = process.argv.splice(2);
|
||||
if (arguments.length > 0) {
|
||||
if ((arguments.length == 2)&(arguments[0] == "init")){
|
||||
//today plan: node time init 1
|
||||
loadmetadata();
|
||||
makedayplan(today,arguments[1]);
|
||||
}else if ((arguments.length == 1)&(arguments[0].length == 8)) {
|
||||
//day log mode: node time 20240414
|
||||
startdate = arguments[0];
|
||||
enddate = arguments[0];
|
||||
loadmetadata();
|
||||
makedaylog(arguments[0]);
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}else if ((arguments.length == 1)&(arguments[0].length != 8)&(!isNaN(arguments[0]))) {
|
||||
// diff day log mode: node time -1
|
||||
var diff = parseInt(arguments[0]);
|
||||
//console.log("diff day mode. diff="+diff);
|
||||
|
||||
startdate = datestr(diff);
|
||||
enddate = datestr(diff);
|
||||
loadmetadata();
|
||||
makedaylog(datestr(diff));
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}else{
|
||||
console.log(helpstr);
|
||||
process.exit();
|
||||
}
|
||||
} else {
|
||||
// today log mode: node time
|
||||
startdate = datestr();
|
||||
enddate = datestr();
|
||||
loadmetadata();
|
||||
makedaylog(datestr());
|
||||
showtables();
|
||||
//makeRfile();
|
||||
}
|
||||
|
||||
function makedayplan(date,plan){
|
||||
// read wake time from raw repo
|
||||
var rawhealthfilename = "health/d."+date+".yaml";
|
||||
var rawhealthfile = yaml.load(fs.readFileSync(rawrepopath + rawhealthfilename, 'utf8'));
|
||||
var waketime = rawhealthfile.wake.time;
|
||||
//console.log("wake time:"+waketime);
|
||||
|
||||
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
|
||||
var planstr = planobj.dayplan[plan].planstr
|
||||
|
||||
var dayplan = "# "+date+"\n\n计划\n\n根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版"+plan+"。\n\n"+ planstr;
|
||||
var dayplanfilename = "time/d."+date+".md";
|
||||
//console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:"+dayplan);
|
||||
fs.writeFileSync(dayplanfilename, dayplan);
|
||||
}
|
||||
|
||||
function loadmetadata(){
|
||||
|
||||
}
|
||||
|
||||
function makedaylog(date){
|
||||
var year = date.slice(0,4);
|
||||
var month = date.slice(4,6);
|
||||
var draftmetadatafilename = year+"/"+month+"/d."+date+".yaml";
|
||||
var draftmetadata = yaml.load(fs.readFileSync(draftrepopath + draftmetadatafilename, 'utf8'));
|
||||
|
||||
var plan = draftmetadata.plan ;
|
||||
var planobj = yaml.load(fs.readFileSync("plan.yaml", 'utf8'));
|
||||
var planstr = planobj.dayplan[plan].planstr ;
|
||||
|
||||
var daylog = "# "+date+"\n\n小结\n<a id=\"top\"></a>\n根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版"+plan+"。\n\n"+ planstr+"\n\n---\n";
|
||||
|
||||
var indexstr = "<a id=\"index\"></a>\n" ;
|
||||
var logstr = "" ;
|
||||
for(t in draftmetadata.time){
|
||||
var timelog = draftmetadata.time[t];
|
||||
//console.log(typeof(timelog.begin));
|
||||
var hour = timelog.begin.toString().slice(8,10);
|
||||
var minute = timelog.begin.toString().slice(10,12);
|
||||
indexstr = indexstr + "- " + hour + ":" + minute + "\t[" + timelog.name + "](#" + timelog.begin + ")\n";
|
||||
|
||||
var outputfilename = gitpath + timelog.output ;
|
||||
var outputstr = fs.readFileSync(outputfilename, 'utf8')
|
||||
logstr = logstr + "\n[top](#top) | [index](#index)\n<a id=\"" + timelog.begin + "\"></a>\n" + outputstr;
|
||||
}
|
||||
|
||||
var daylog = daylog + indexstr + "\n---\n" + logstr ;
|
||||
//console.log(daylog);
|
||||
|
||||
var daylogfilename = "time/d."+date+".md";
|
||||
//console.log("dayplan file name:\n"+dayplanfilename+"\ncontent:"+dayplan);
|
||||
fs.writeFileSync(daylogfilename, daylog);
|
||||
}
|
||||
|
||||
function showtables(){
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
// utils
|
||||
function datestr(diff=0) {
|
||||
var theDate = new Date();
|
||||
//theDate.setDate(theDate.getDate() - 1);
|
||||
theDate.setDate(theDate.getDate()+diff);
|
||||
|
||||
var year = theDate.getFullYear();
|
||||
var month = theDate.getMonth() + 1 < 10 ? "0" + (theDate.getMonth() + 1) : theDate.getMonth() + 1;
|
||||
var day = theDate.getDate() < 10 ? "0" + theDate.getDate() : theDate.getDate();
|
||||
var dateStr = year + "" + month + "" + day;
|
||||
|
||||
//console.log("datestr retrun:"+dateStr);
|
||||
return dateStr;
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
# 20240416
|
||||
|
||||
计划
|
||||
|
||||
小结
|
||||
<a id="top"></a>
|
||||
根据[ego模型时间接口](https://gitee.com/hyg/blog/blob/master/timeflow.md),今天绑定模版1。
|
||||
|
||||
| 时间片 | 时长 | 用途 |
|
||||
|
@ -11,16 +11,411 @@
|
|||
| 5:15~5:59 | 45 | 早餐 |
|
||||
| 6:00~6:44 | 45 | 会议、自习 |
|
||||
| 6:45~7:44 | 60 | 休整 |
|
||||
| 7:45~8:44 | 60 | [静默工作](http://simp.ly/p/xtgD4F) PSMD条款设计流程及手写范例|
|
||||
| 7:45~8:44 | 60 | [静默工作](http://simp.ly/p/xtgD4F) |
|
||||
| 8:45~9:29 | 45 | 休整 |
|
||||
| 9:30~10:59 | 90 | [静默工作](http://simp.ly/p/j1SspP) PSMD metadata to view 代码|
|
||||
| 9:30~10:59 | 90 | [静默工作](http://simp.ly/p/j1SspP) |
|
||||
| 11:00~13:59 | 180 | 备餐、午餐午休 |
|
||||
| 14:00~14:29 | 30 | [静默工作](http://simp.ly/p/8t3vlk) ego entry页面显示markdown |
|
||||
| 14:30~14:59 | 30 | [静默工作](http://simp.ly/p/5k9gJy) xuemen 整理表单种类|
|
||||
| 14:00~14:29 | 30 | [静默工作](http://simp.ly/p/8t3vlk) |
|
||||
| 14:30~14:59 | 30 | [静默工作](http://simp.ly/p/5k9gJy) |
|
||||
| 15:00~15:59 | 60 | 休整 |
|
||||
| 16:00~16:59 | 60 | [静默工作](http://simp.ly/p/4QDThK) ego draft to metadata 代码|
|
||||
| 16:00~16:59 | 60 | [静默工作](http://simp.ly/p/4QDThK) |
|
||||
| 17:00~18:59 | 120 | 晚餐 |
|
||||
| 19:00~19:59 | 60 | 讨论、整理提交 |
|
||||
|
||||
模版一采用静默工作方式。
|
||||
希望讨论的提纲发到 [huangyg@mars22.com](mailto:huangyg@mars22.com),通常安排在后面某天的早餐(5:15~5:59)或会议时间(6:00~6:45)。
|
||||
希望讨论的提纲发到 [huangyg@mars22.com](mailto:huangyg@mars22.com),通常安排在后面某天的早餐(5:15~5:59)或会议时间(6:00~6:45)。
|
||||
|
||||
---
|
||||
<a id="index"></a>
|
||||
- 07:45 [ego 任务管理的手写范例,metadata数据结构设计](#20240416074500)
|
||||
- 09:30 [PSMD 条款设计流程及手写范例,metadata to view 代码](#20240416093000)
|
||||
- 14:00 [ego entry页面显示markdown](#20240416140000)
|
||||
- 14:30 [xuemen 整理表单种类](#20240416143000)
|
||||
- 16:00 [ego draft to metadata 代码](#20240416160000)
|
||||
|
||||
---
|
||||
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240416074500"></a>
|
||||
## 7:45~8:44
|
||||
|
||||
ego 任务管理
|
||||
|
||||
### 流程
|
||||
|
||||
1. 手写draft的时间片md文件,以文字记载task metadata的变更提要。
|
||||
1. 手写更新task metadata文件,一级项目在ego,二级以下在一级项目内分配。
|
||||
1. 自动统计、生成图表,辅助后续分配,手工或自动调整metadata。
|
||||
1. 自动合并成当前的全局metadata文件。
|
||||
1. 自动根据全局metadata文件产生:
|
||||
- 各项目简介markdown、html文件;
|
||||
- GTD工具的可选菜单。
|
||||
|
||||
### 架构设计
|
||||
|
||||
1. 对外显示各项目简介markdown、html文件,并不断更新,它们的结构和内容是相对稳定的。
|
||||
1. 内部流程和文件是不断升级变化的:
|
||||
- 文件:draft md→task metadata→全局metadata、ego资源分配metadata
|
||||
- 代码:
|
||||
- task metadata → ego资源分配metadata
|
||||
- task metadata → 统计图表
|
||||
- task metadata → 全局metadata
|
||||
- 全局metadata → 各项目简介markdown、html文件、GTD工具的可选菜单
|
||||
|
||||
|
||||
### metadata数据结构
|
||||
|
||||
- task metadata
|
||||
~~~
|
||||
name:
|
||||
id:
|
||||
parent id:
|
||||
start:
|
||||
end:
|
||||
dependencies:
|
||||
- id:
|
||||
- id:
|
||||
path:
|
||||
- name:
|
||||
path:
|
||||
readme: |
|
||||
readme: |
|
||||
step:
|
||||
- time:
|
||||
name:
|
||||
status:
|
||||
readme: |
|
||||
log:
|
||||
- time:
|
||||
text: |
|
||||
~~~
|
||||
|
||||
- 全局metadata
|
||||
~~~
|
||||
time:
|
||||
task:
|
||||
id:
|
||||
name:
|
||||
id:
|
||||
...
|
||||
subtask:
|
||||
- name:
|
||||
id:
|
||||
~~~
|
||||
|
||||
### metadata范例
|
||||
|
||||
1. 在ego的git库中创建task文件夹。
|
||||
1. 创建几个task metadata文件。
|
||||
1. 创建task.js,从task metadata生成全局metadata。
|
||||
|
||||
下一步:追溯到一级任务的path文件夹。
|
||||
参考:
|
||||
- https://github.com/frappe/gantt 的甘特图json数据结构
|
||||
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240416093000"></a>
|
||||
## 9:30~10:59
|
||||
|
||||
PSMD条款库
|
||||
|
||||
### 流程及架构设计
|
||||
|
||||
1. 根据实践和讨论,编写偏差error metadata和条款设计修订tansk metada,由代码生成error markdown、html文件、allerror metadata文件。
|
||||
1. 在ego项目下,根据task统计界面分配时间到具体子任务。
|
||||
1. 在PSMD的设计、修订条款子任务中,通过PSMD项目的统计界面了解相关信息,然后撰写手稿存放在draft库中,并在当天的draft metadata文件中记录手稿的任务归属。
|
||||
1. 在条款设计完成时,手工编写PSMD项目的term metadata。由代码自动生成条款的markdown、html文件。
|
||||
1. 在使用时,手工编写条款集合termset的metadata,由代码生成termset的markdown、html文件。
|
||||
1. 建模时,手工编写共同体模型的COM metadata文件,由代码生成markdown、html文件。
|
||||
1. 部署时手工编写输入条件的deploy metadata文件(列明人员、资源等条件),由代码生成deploy markdown、html文件,以及全部表决通过后的COD metadata。
|
||||
1. 紧急部署时,手工编写部署方案的COD metadata文件。
|
||||
1. 由代码根据COD metadata生成markdown、html。
|
||||
1. term的placeholder有entity、asset、term三类(以后可以扩充),termset、COM解决term之间的关联关系,deploy解决entity、asset的关联关系。
|
||||
|
||||
- 内部可见:
|
||||
- error metadata
|
||||
- allerror metadata
|
||||
- draft手稿
|
||||
- draft metadata
|
||||
- error metadata
|
||||
- term metadata
|
||||
- termset metadata
|
||||
- allterm metadata
|
||||
- COM metadata
|
||||
- deploy metadata
|
||||
- COD metadata
|
||||
- 对外可见:
|
||||
- error markdown、html
|
||||
- term markdown、html
|
||||
- termset markdown、html
|
||||
- COM markdown、html
|
||||
- deploy markdown、html
|
||||
- COD markdown、html
|
||||
|
||||
### 数据结构
|
||||
|
||||
- error metadata
|
||||
~~~
|
||||
name:
|
||||
id:
|
||||
text:
|
||||
bind:
|
||||
- type: term、termset、COD
|
||||
- id:
|
||||
log: |
|
||||
~~~
|
||||
- allerror metadata
|
||||
~~~
|
||||
time:
|
||||
error:
|
||||
errorid:
|
||||
//error metadata文件全部内容
|
||||
effect: //解决方案,对应term、termset、COM的effect字段
|
||||
- type: term、termset、COM
|
||||
- id:
|
||||
errorid:
|
||||
~~~
|
||||
- draft metadata
|
||||
~~~
|
||||
date: 20240415
|
||||
time:
|
||||
- begin: 20240415074500
|
||||
amount: 60
|
||||
unit: minute
|
||||
type: work
|
||||
subject: ego
|
||||
subjecttype: task、error、term、termset、COM、COD
|
||||
output: draft/2024/04/2024041140745.md
|
||||
~~~
|
||||
- term metadata
|
||||
~~~
|
||||
name:
|
||||
id:
|
||||
interface:
|
||||
entity:
|
||||
- name:
|
||||
id:
|
||||
readme: |
|
||||
- name:
|
||||
id:
|
||||
readme: |
|
||||
asset:
|
||||
- name:
|
||||
id:
|
||||
readme: |
|
||||
term: // 引用其它条款,在termset、COM中根据联合使用情况绑定。
|
||||
- name:
|
||||
id:
|
||||
readme: |
|
||||
event:
|
||||
- name:
|
||||
id:
|
||||
readme: |
|
||||
text:
|
||||
readme:
|
||||
effect:
|
||||
error hashid:
|
||||
error hashid:
|
||||
log: |
|
||||
~~~
|
||||
- termset metadata
|
||||
~~~
|
||||
name:
|
||||
id:
|
||||
level:
|
||||
interface:
|
||||
entity:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
asset:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\assetid
|
||||
readme: |
|
||||
term: // 引用其它条款,在termset、COM中根据联合使用情况绑定。
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\termid
|
||||
readme: |
|
||||
event:
|
||||
- name:
|
||||
id:
|
||||
globalid:
|
||||
readme: |
|
||||
item:
|
||||
- type: term\termset
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\
|
||||
text:
|
||||
upgrade: \\ 修订程序的globalid
|
||||
path:
|
||||
item:
|
||||
- id:
|
||||
globalid: \\ termsetid\...\termid\
|
||||
text:
|
||||
upgrade: \\ 修订程序的globalid
|
||||
- id:
|
||||
readme: |
|
||||
log: |
|
||||
effect:
|
||||
error hashid:
|
||||
error hashid:
|
||||
~~~
|
||||
- allterm metadata
|
||||
~~~
|
||||
time:
|
||||
term:
|
||||
hash:
|
||||
//term metadata全部内容
|
||||
error: //对应error metadata的bind字段
|
||||
-id:
|
||||
-id:
|
||||
termset:
|
||||
hash:
|
||||
//termset metadata全部内容
|
||||
error: //对应error metadata的bind字段
|
||||
-id:
|
||||
-id:
|
||||
~~~
|
||||
- COM metadata
|
||||
~~~
|
||||
name:
|
||||
id:
|
||||
level:
|
||||
interface:
|
||||
entity:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
asset:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\assetid
|
||||
readme: |
|
||||
term: // 引用其它条款,COM主要是引用外部法规,比如公司法。
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\termid
|
||||
readme: |
|
||||
event:
|
||||
- name:
|
||||
id:
|
||||
globalid:
|
||||
readme: |
|
||||
item: \\ 似乎可以直接用一个termset
|
||||
- type: term\termset
|
||||
id:
|
||||
upgrade:
|
||||
readme: |
|
||||
log: |
|
||||
effect:
|
||||
error hashid:
|
||||
error hashid:
|
||||
~~~
|
||||
- deploy metadata
|
||||
~~~
|
||||
name:
|
||||
id:
|
||||
source:
|
||||
type: termset\COM
|
||||
id: termsetid or COM id
|
||||
interface:
|
||||
entity:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
asset:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\assetid
|
||||
readme: |
|
||||
term: // 引用其它条款,COM主要是引用外部法规,比如公司法。
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\termid
|
||||
readme: |
|
||||
event:
|
||||
- name:
|
||||
id:
|
||||
globalid:
|
||||
readme: |
|
||||
~~~
|
||||
- COD metadata
|
||||
~~~
|
||||
name:
|
||||
id:
|
||||
COMid:
|
||||
interface:
|
||||
entity:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\entityid
|
||||
readme: |
|
||||
asset:
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\assetid
|
||||
readme: |
|
||||
term: // 引用其它条款,COM主要是引用外部法规,比如公司法。
|
||||
- name:
|
||||
id:
|
||||
globalid: \\ termsetid\...\termid\termid
|
||||
readme: |
|
||||
event:
|
||||
- name:
|
||||
id:
|
||||
globalid:
|
||||
readme: |
|
||||
readme: |
|
||||
log: |
|
||||
~~~
|
||||
|
||||
### 自动化代码
|
||||
|
||||
- error metadata → error markdown、html、task metadata
|
||||
- draft metadata → 更新task metadata的time、log字段 (→ alltask metadata),更新
|
||||
- term metadata → allterm metadata
|
||||
- allterm metadata → 条款的markdown、html文件,要约、合同
|
||||
- COM metadata → COM markdown、COM html
|
||||
- deploy metadata → deploy markdown、deploy html、全部通过后的COD metdadata
|
||||
- COD metadata → COD markdown、COD html
|
||||
|
||||
下一步的工作:
|
||||
- 根据COM的讨论和COD的执行,产生修订error、term、termset的task metadata,在ego或COD分配资源时使用,从而形成闭环。
|
||||
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240416140000"></a>
|
||||
## 14:00~14:29
|
||||
|
||||
ego entry页面显示markdown
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240416143000"></a>
|
||||
## 14:30~14:59
|
||||
|
||||
xuemen 整理表单种类
|
||||
|
||||
[top](#top) | [index](#index)
|
||||
<a id="20240416160000"></a>
|
||||
## 16:00~16:59
|
||||
|
||||
ego draft to metadata 代码
|
Loading…
Reference in New Issue