forked from TaiBIF/camera-trap-tk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
upload-status-flow.dot
93 lines (84 loc) · 2.75 KB
/
upload-status-flow.dot
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
digraph G {
subgraph cluster_0 {
style=filled;
color=mediumseagreen;
node [style=filled,color=lightgoldenrod1];
label = "Import Folder & Editing";
a1 -> a2 -> a3;
}
subgraph cluster_1 {
color=gray;
node [style=filled, color=cornsilk2];
label = "Upload Folder's Annotations & Media";
b1a -> b1 [label="clicked upload button"];
b1-> b2 [style=dashed];
b2 -> b3 [label="create threading\n(Singlaton)"];
b3 -> b2c [style=dashed];
b2c -> b1;
b1 -> c1 [color=orange, label="1. re-upload (modify annotation)", style=dashed];
c1 -> c2 [color=orange, style=dashed];
c1 -> c1a [color=orange, style=dashed];
b3a -> b1 [label="re-upload"];
}
subgraph cluster_2 {
color=royalblue4;
label = "CameraTrap Server";
serv_anno;
}
subgraph cluster_3 {
color=royalblue4;
label = "AWS S3 Service";
serv_s3;
serv_media;
}
start -> a1;
a3 -> b1 [label="clicked upload button"];
a2 -> b1;
b1 -> serv_anno [label="post annotation"];
serv_anno -> b1a;
b1 -> b1a [style=dashed, label="failed"];
serv_anno -> b2 [label="succeed"];
b3 -> serv_s3 -> b2c [label="succeed"];
serv_s3 -> b3a [label="failed"];
serv_anno -> c1a [color=orange];
b1 -> serv_anno [color=orange];
b3 -> serv_media -> b2c;
serv_anno -> c2 [color=orange];
c2 -> end;
b2c -> end;
b2c -> d -> end;
c2 -> d;
/*
b1 -> serv_anno -> b2 -> b1 [color=orange, style=dashed, label="2. re-upload annotation"];
b3c -> end;
a2 -> b1;
b3b -> serv_s3 -> b3b;
serv_s3 -> b5;
b2c -> end;
b2c -> c;
b2c -> a3;
a3 -> b1 [label="1. re-upload (modify annotation)", color=orange];
b5 -> end;
b2c -> a3 [label="update annotation, upload last failed files"];
b5 -> c -> end;
serv_anno -> b5 [color=orange, style=dashed];
*/
serv_anno [shape=diamond, color=plum2, label="save annotation\nto database"];
serv_s3 [shape=diamond, color=plum2, label="upload to AWS S3"];
serv_media [shape=diamond, color=plum2, label="transcode\nmovie files"];
d [label="archive folder\n(d)"];
c2 [label="override upload\n(c2) 覆寫完成", color=tan, style=filled];
c1a [label="override upload failed\n(c1a) 上傳失敗", color=tan, style=filled];
c1 [label="start override upload\n(c1)", color=tan, style=filled];
b2c [label="upload done\n(b2c) 完成"];
b3a [label="upload media failed\n (b3a) 上傳失敗 (檔案不完全)"];
b3 [label="uploading media files\n(b3) 上傳覆寫"];
b2 [label="pending upload media files\n(b2) 上傳中"];
b1a [label="upload annotation failed\n(b1a) 上傳失敗"];
b1 [label="start upload\n(b1)"];
a3 [label="start annotate\n(a3) 編輯中"];
a2 [label="done import\n(a2) 未編輯"];
a1 [label="start import\n(a1)"];
start [shape=Mdiamond];
end [shape=Msquare];
}