giblish 0.8.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/unit_tests.yml +30 -0
- data/.gitignore +7 -3
- data/.ruby-version +1 -1
- data/Changelog.adoc +59 -0
- data/README.adoc +261 -0
- data/docs/concepts/text_search.adoc +213 -0
- data/docs/concepts/text_search_im/cgi-search_request.puml +35 -0
- data/docs/concepts/text_search_im/cgi-search_request.svg +397 -0
- data/docs/concepts/text_search_im/search_request.puml +40 -0
- data/docs/concepts/text_search_im/search_request.svg +408 -0
- data/docs/howtos/trigger_generation.adoc +180 -0
- data/docs/{setup_server_assets → howtos/trigger_generation_im}/Render Documents.png +0 -0
- data/docs/{setup_server_assets → howtos/trigger_generation_im}/View Documents.png +0 -0
- data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_hooks.graphml +0 -0
- data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_hooks.svg +0 -0
- data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_jenkins.graphml +0 -0
- data/docs/{setup_server_assets → howtos/trigger_generation_im}/deploy_with_jenkins.svg +0 -0
- data/docs/howtos/trigger_generation_im/docgen_github.puml +51 -0
- data/docs/{setup_server_assets → howtos/trigger_generation_im}/giblish_deployment.graphml +0 -0
- data/docs/howtos/trigger_generation_im/post-receive-example.sh +50 -0
- data/docs/reference/box_flow_spec.adoc +22 -0
- data/docs/reference/search_spec.adoc +185 -0
- data/giblish.gemspec +50 -29
- data/lib/giblish/adocsrc_providers.rb +23 -0
- data/lib/giblish/application.rb +214 -41
- data/lib/giblish/cmdline.rb +273 -259
- data/lib/giblish/config_utils.rb +41 -0
- data/lib/giblish/configurator.rb +163 -0
- data/lib/giblish/conversion_info.rb +120 -0
- data/lib/giblish/docattr_providers.rb +125 -0
- data/lib/giblish/docid/docid.rb +181 -0
- data/lib/giblish/github_trigger/webhook_manager.rb +64 -0
- data/lib/giblish/gitrepos/checkoutmanager.rb +124 -0
- data/lib/giblish/{gititf.rb → gitrepos/gititf.rb} +30 -4
- data/lib/giblish/gitrepos/gitsummary.erb +61 -0
- data/lib/giblish/gitrepos/gitsummaryprovider.rb +78 -0
- data/lib/giblish/gitrepos/history_pb.rb +41 -0
- data/lib/giblish/indexbuilders/d3treegraph.rb +88 -0
- data/lib/giblish/indexbuilders/depgraphbuilder.rb +109 -0
- data/lib/giblish/indexbuilders/dotdigraphadoc.rb +174 -0
- data/lib/giblish/indexbuilders/standard_index.erb +10 -0
- data/lib/giblish/indexbuilders/subtree_indices.rb +132 -0
- data/lib/giblish/indexbuilders/templates/circles.html.erb +111 -0
- data/lib/giblish/indexbuilders/templates/flame.html.erb +61 -0
- data/lib/giblish/indexbuilders/templates/tree.html.erb +366 -0
- data/lib/giblish/indexbuilders/templates/treemap.html.erb +127 -0
- data/lib/giblish/indexbuilders/verbatimtree.rb +94 -0
- data/lib/giblish/pathtree.rb +473 -74
- data/lib/giblish/resourcepaths.rb +150 -0
- data/lib/giblish/search/expand_adoc.rb +55 -0
- data/lib/giblish/search/headingindexer.rb +312 -0
- data/lib/giblish/search/request_manager.rb +110 -0
- data/lib/giblish/search/searchquery.rb +68 -0
- data/lib/giblish/search/textsearcher.rb +349 -0
- data/lib/giblish/subtreeinfobuilder.rb +77 -0
- data/lib/giblish/treeconverter.rb +272 -0
- data/lib/giblish/utils.rb +142 -294
- data/lib/giblish/version.rb +1 -1
- data/lib/giblish.rb +10 -7
- data/scripts/hooks/post-receive.example +66 -0
- data/{docgen/scripts/githook_examples → scripts/hooks}/post-update.example +0 -0
- data/{docgen → scripts}/resources/css/adoc-colony.css +0 -0
- data/scripts/resources/css/giblish-serif.css +419 -0
- data/scripts/resources/css/giblish.css +1979 -419
- data/{docgen → scripts}/resources/fonts/Ubuntu-B.ttf +0 -0
- data/{docgen → scripts}/resources/fonts/Ubuntu-BI.ttf +0 -0
- data/{docgen → scripts}/resources/fonts/Ubuntu-R.ttf +0 -0
- data/{docgen → scripts}/resources/fonts/Ubuntu-RI.ttf +0 -0
- data/{docgen → scripts}/resources/fonts/mplus1p-regular-fallback.ttf +0 -0
- data/{docgen → scripts}/resources/images/giblish_logo.png +0 -0
- data/{docgen → scripts}/resources/images/giblish_logo.svg +0 -0
- data/{docgen → scripts}/resources/themes/giblish.yml +0 -0
- data/scripts/wserv_development.rb +32 -0
- data/web_apps/cgi_search/gibsearch.rb +43 -0
- data/web_apps/gh_webhook_trigger/config.ru +2 -0
- data/web_apps/gh_webhook_trigger/gh_webhook_trigger.rb +73 -0
- data/web_apps/gh_webhook_trigger/public/dummy.txt +3 -0
- data/web_apps/sinatra_search/config.ru +2 -0
- data/web_apps/sinatra_search/public/dummy.txt +3 -0
- data/web_apps/sinatra_search/sinatra_search.rb +34 -0
- data/web_apps/sinatra_search/tmp/restart.txt +0 -0
- metadata +180 -71
- data/.rubocop.yml +0 -7
- data/.travis.yml +0 -3
- data/Changelog +0 -16
- data/Gemfile +0 -4
- data/README.adoc +0 -1
- data/Rakefile +0 -41
- data/bin/console +0 -14
- data/bin/setup +0 -8
- data/data/testdocs/malformed/no_header.adoc +0 -5
- data/data/testdocs/toplevel.adoc +0 -19
- data/data/testdocs/wellformed/adorned_purpose.adoc +0 -17
- data/data/testdocs/wellformed/docidtest/docid_1.adoc +0 -24
- data/data/testdocs/wellformed/docidtest/docid_2.adoc +0 -8
- data/data/testdocs/wellformed/simple.adoc +0 -14
- data/data/testdocs/wellformed/source_highlighting/highlight_source.adoc +0 -38
- data/docgen/resources/css/giblish.css +0 -1979
- data/docgen/scripts/Jenkinsfile +0 -18
- data/docgen/scripts/gen_adoc_org.sh +0 -58
- data/docs/README.adoc +0 -387
- data/docs/setup_server.adoc +0 -202
- data/lib/giblish/buildgraph.rb +0 -216
- data/lib/giblish/buildindex.rb +0 -459
- data/lib/giblish/core.rb +0 -451
- data/lib/giblish/docconverter.rb +0 -308
- data/lib/giblish/docid.rb +0 -180
- data/lib/giblish/docinfo.rb +0 -75
- data/lib/giblish/indexheadings.rb +0 -251
- data/lib/giblish-search.cgi +0 -459
- data/scripts/hooks/post-receive +0 -57
- data/scripts/publish_html.sh +0 -99
@@ -0,0 +1,397 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="581.25px" preserveAspectRatio="none" style="width:657px;height:581px;background:#00000000;" version="1.1" viewBox="0 0 657 581" width="657.2917px" zoomAndPan="magnify"><defs/><g><rect height="45.0846" rx="4.1667" ry="4.1667" style="stroke:#BABDBF;stroke-width:1.0416666666666667;fill:none;" width="335.4167" x="165.1042" y="14.5833"/><text fill="#2FA4E7" font-family="Verdana" font-size="20.8333" lengthAdjust="spacing" textLength="308.3333" x="178.6458" y="44.338">Using CGI for search requests</text><rect fill="#EEEEEE" height="497.3633" rx="4.1667" ry="4.1667" style="stroke:#868E96;stroke-width:1.0416666666666667;" width="511.4583" x="112.5" y="71.1263"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="218.75" x="258.8542" y="87.9374">The Document Hosting Server</text><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="34.375" x2="34.375" y1="173.1445" y2="574.7396"/><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="207.2917" x2="207.2917" y1="173.1445" y2="574.7396"/><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="408.3333" x2="408.3333" y1="173.1445" y2="574.7396"/><line style="stroke:#BABDBF;stroke-width:2.0833333333333335;stroke-dasharray:5.0,5.0;" x1="568.75" x2="568.75" y1="173.1445" y2="574.7396"/><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="42.7083" x="10.4167" y="164.9882">Viewer</text><ellipse cx="34.8958" cy="92.9688" rx="8.3333" ry="8.3333" style="stroke:#2FA4E7;stroke-width:2.0833333333333335;fill:none;"/><path d="M34.8958,101.3021 L34.8958,129.4271 M21.3542,109.6354 L48.4375,109.6354 M34.8958,129.4271 L21.3542,145.0521 M34.8958,129.4271 L48.4375,145.0521 " fill="none" style="stroke:#2FA4E7;stroke-width:2.0833333333333335;"/><rect height="39.5508" rx="4.1667" ry="4.1667" style="stroke:#2FA4E7;stroke-width:1.5625;fill:none;" width="98.9583" x="158.3333" y="132.5521"/><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="73.9583" x="170.8333" y="156.6549">Web Server</text><rect height="68.6523" rx="4.1667" ry="4.1667" style="stroke:#2FA4E7;stroke-width:1.5625;fill:none;" width="115.625" x="351.0417" y="103.4505"/><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="90.625" x="363.5417" y="127.5533">Search Result</text><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="66.6667" x="375.5208" y="142.1041">Generator</text><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="31.25" x="393.2292" y="156.6549">(CGI)</text><text fill="#2FA4E7" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="84.375" x="523.9583" y="164.9882">Search index</text><path d="M550.5208,110.6771 C550.5208,100.2604 569.2708,100.2604 569.2708,100.2604 C569.2708,100.2604 588.0208,100.2604 588.0208,110.6771 L588.0208,137.7604 C588.0208,148.1771 569.2708,148.1771 569.2708,148.1771 C569.2708,148.1771 550.5208,148.1771 550.5208,137.7604 L550.5208,110.6771 " style="stroke:#2FA4E7;stroke-width:1.5625;fill:none;"/><path d="M550.5208,110.6771 C550.5208,121.0938 569.2708,121.0938 569.2708,121.0938 C569.2708,121.0938 588.0208,121.0938 588.0208,110.6771 " fill="none" style="stroke:#2FA4E7;stroke-width:1.5625;"/><path d="M297.9167,192.9362 L297.9167,248.1445 A4.1667,4.1667 0 0 0 302.0833,252.3112 L515.625,252.3112 A4.1667,4.1667 0 0 0 519.7917,248.1445 L519.7917,199.1862 L509.375,188.7695 L302.0833,188.7695 A4.1667,4.1667 0 0 0 297.9167,192.9362 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><path d="M509.375,188.7695 L509.375,197.1029 A2.0833,2.0833 0 0 0 511.4583,199.1862 L519.7917,199.1862 L509.375,188.7695 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="183.3333" x="309.375" y="210.789">The CGI script could use the</text><text fill="#033C73" font-family="monospace" font-size="12.5" lengthAdjust="spacing" textLength="167.7083" x="309.375" y="225.3398">Giblish::RequestManager</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="189.5833" x="309.375" y="239.8905">class to do most of the work.</text><polygon fill="#2FA4E7" points="195.3125,300.0651,205.7292,304.2318,195.3125,308.3984,199.4792,304.2318" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="34.8958" x2="201.5625" y1="304.2318" y2="304.2318"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="47.3958" y="286.7167">1</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="87.5" x="70.3125" y="279.4413">Search Query</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="76.0417" x="70.3125" y="293.9921">(html POST)</text><polygon fill="#2FA4E7" points="396.3542,354.1667,406.7708,358.3333,396.3542,362.5,400.5208,358.3333" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="207.8125" x2="402.6042" y1="358.3333" y2="358.3333"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="220.3125" y="340.8183">2</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="66.6667" x="243.2292" y="333.5429">Invoke CGI</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="36.4583" x="243.2292" y="348.0937">script</text><polygon fill="#2FA4E7" points="556.7708,408.2682,567.1875,412.4349,556.7708,416.6016,560.9375,412.4349" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="408.8542" x2="563.0208" y1="412.4349" y2="412.4349"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="421.3542" y="394.9198">3</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="71.875" x="444.2708" y="387.6444">Search the</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="34.375" x="444.2708" y="402.1952">index</text><polygon fill="#2FA4E7" points="219.2708,480.0456,208.8542,484.2122,219.2708,488.3789,215.1042,484.2122" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="213.0208" x2="407.8125" y1="484.2122" y2="484.2122"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="230.7292" y="466.6972">4</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="84.375" x="253.6458" y="459.4218">Return serch</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="80.2083" x="253.6458" y="473.9726">result (html)</text><path d="M413.5417,430.1432 L413.5417,499.9349 A4.1667,4.1667 0 0 0 417.7083,504.1016 L645.8333,504.1016 A4.1667,4.1667 0 0 0 650,499.9349 L650,436.3932 L639.5833,425.9766 L417.7083,425.9766 A4.1667,4.1667 0 0 0 413.5417,430.1432 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><path d="M639.5833,425.9766 L639.5833,434.3099 A2.0833,2.0833 0 0 0 641.6667,436.3932 L650,436.3932 L639.5833,425.9766 " style="stroke:#033C73;stroke-width:1.0416666666666667;fill:none;"/><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="188.5417" x="425" y="447.996">Giblish contains help classes</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="200" x="425" y="462.5468">that provide most of the heavy</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="152.0833" x="425" y="477.0976">lifting for retrieving and</text><text fill="#033C73" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="188.5417" x="425" y="491.6484">formatting the search result.</text><polygon fill="#2FA4E7" points="46.3542,551.8229,35.9375,555.9896,46.3542,560.1563,42.1875,555.9896" style="stroke:#2FA4E7;stroke-width:1.0416666666666667;"/><line style="stroke:#2FA4E7;stroke-width:3.125;" x1="40.1042" x2="206.7708" y1="555.9896" y2="555.9896"/><text fill="#343A40" font-family="Verdana" font-size="12.5" font-weight="bold" lengthAdjust="spacing" textLength="8.3333" x="57.8125" y="538.4745">5</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="93.75" x="80.7292" y="531.1991">return search</text><text fill="#343A40" font-family="Verdana" font-size="12.5" lengthAdjust="spacing" textLength="37.5" x="80.7292" y="545.7499">result</text><!--MD5=[d106587639b2b6f3746ea7123ebb446d]
|
2
|
+
@startuml
|
3
|
+
!theme cerulean-outline
|
4
|
+
' !theme spacelab
|
5
|
+
hide footbox
|
6
|
+
autonumber
|
7
|
+
|
8
|
+
title "Using CGI for search requests"
|
9
|
+
|
10
|
+
actor Viewer as Vi
|
11
|
+
|
12
|
+
box "The Document Hosting Server" #EEEEEE
|
13
|
+
participant "Web Server" as Webserv
|
14
|
+
participant "Search Result\nGenerator\n(CGI)" as Searcher
|
15
|
+
note over of Searcher
|
16
|
+
The CGI script could use the
|
17
|
+
""Giblish::RequestManager""
|
18
|
+
class to do most of the work.
|
19
|
+
end note
|
20
|
+
database "Search index" as Index
|
21
|
+
end box
|
22
|
+
|
23
|
+
Vi -> Webserv : Search Query\n(html POST)
|
24
|
+
Webserv -> Searcher : Invoke CGI\nscript
|
25
|
+
Searcher -> Index : Search the\nindex
|
26
|
+
Searcher -> Webserv : Return serch\nresult (html)
|
27
|
+
note right
|
28
|
+
Giblish contains help classes
|
29
|
+
that provide most of the heavy
|
30
|
+
lifting for retrieving and
|
31
|
+
formatting the search result.
|
32
|
+
end note
|
33
|
+
Webserv -> Vi : return search\nresult
|
34
|
+
@enduml
|
35
|
+
|
36
|
+
@startuml
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
skinparam backgroundColor transparent
|
41
|
+
skinparam useBetaStyle false
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
|
49
|
+
skinparam defaultFontName "Verdana"
|
50
|
+
skinparam defaultFontSize 12
|
51
|
+
skinparam dpi 100
|
52
|
+
skinparam shadowing false
|
53
|
+
skinparam roundcorner 8
|
54
|
+
skinparam ParticipantPadding 40
|
55
|
+
skinparam BoxPadding 40
|
56
|
+
skinparam Padding 5
|
57
|
+
skinparam ArrowColor #868E96
|
58
|
+
skinparam stereotype {
|
59
|
+
CBackgroundColor #EDF0F2
|
60
|
+
CBorderColor #BABDBF
|
61
|
+
ABackgroundColor #8FB961
|
62
|
+
ABorderColor $SUCCESS_DARK
|
63
|
+
IBackgroundColor #D2494E
|
64
|
+
IBorderColor $DANGER_DARK
|
65
|
+
EBackgroundColor #E47833
|
66
|
+
EBorderColor $WARNING_DARK
|
67
|
+
NBackgroundColor #35638F
|
68
|
+
NBorderColor $INFO_DARK
|
69
|
+
}
|
70
|
+
skinparam title {
|
71
|
+
FontColor #2FA4E7
|
72
|
+
BorderColor #BABDBF
|
73
|
+
FontSize 20
|
74
|
+
BorderRoundCorner 8
|
75
|
+
BorderThickness 1
|
76
|
+
BackgroundColor transparent
|
77
|
+
}
|
78
|
+
|
79
|
+
skinparam legend {
|
80
|
+
BackgroundColor transparent
|
81
|
+
BorderColor #BABDBF
|
82
|
+
FontColor #343A40
|
83
|
+
}
|
84
|
+
|
85
|
+
skinparam swimlane {
|
86
|
+
BorderColor #033C73
|
87
|
+
BorderThickness 2
|
88
|
+
TitleBackgroundColor #EDF0F2-#E9ECEF
|
89
|
+
TitleFontColor #2FA4E7
|
90
|
+
}
|
91
|
+
|
92
|
+
|
93
|
+
skinparam activity {
|
94
|
+
FontColor #2FA4E7
|
95
|
+
BorderColor #2FA4E7
|
96
|
+
BackgroundColor transparent
|
97
|
+
BarColor #73A839
|
98
|
+
StartColor #033C73
|
99
|
+
EndColor #033C73
|
100
|
+
DiamondBackgroundColor transparent
|
101
|
+
DiamondBorderColor #BABDBF
|
102
|
+
DiamondFontColor #BABDBF
|
103
|
+
}
|
104
|
+
|
105
|
+
|
106
|
+
skinparam participant {
|
107
|
+
FontColor #2FA4E7
|
108
|
+
BorderColor #2FA4E7
|
109
|
+
BackgroundColor transparent
|
110
|
+
ParticipantBorderThickness 2
|
111
|
+
}
|
112
|
+
|
113
|
+
|
114
|
+
skinparam actor {
|
115
|
+
FontColor #2FA4E7
|
116
|
+
BorderColor #2FA4E7
|
117
|
+
BackgroundColor transparent
|
118
|
+
}
|
119
|
+
|
120
|
+
|
121
|
+
skinparam arrow {
|
122
|
+
Thickness 3
|
123
|
+
Color #2FA4E7
|
124
|
+
FontColor #343A40
|
125
|
+
}
|
126
|
+
|
127
|
+
|
128
|
+
skinparam sequence {
|
129
|
+
BorderColor #2FA4E7
|
130
|
+
TitleFontColor #2FA4E7
|
131
|
+
BackgroundColor transparent
|
132
|
+
StartColor #2FA4E7
|
133
|
+
EndColor #2FA4E7
|
134
|
+
BoxBackgroundColor transparent
|
135
|
+
BoxBorderColor #868E96
|
136
|
+
BoxFontColor #343A40
|
137
|
+
LifeLineBorderColor #BABDBF
|
138
|
+
LifeLineBorderThickness 2
|
139
|
+
LifeLineBackgroundColor transparent
|
140
|
+
GroupBorderColor #868E96
|
141
|
+
GroupFontColor #343A40
|
142
|
+
GroupHeaderFontColor #033C73
|
143
|
+
DividerBackgroundColor transparent
|
144
|
+
DividerBorderColor #868E96
|
145
|
+
DividerBorderThickness 2
|
146
|
+
DividerFontColor #343A40
|
147
|
+
ReferenceBackgroundColor transparent
|
148
|
+
ReferenceBorderColor #868E96
|
149
|
+
ReferenceFontColor #343A40
|
150
|
+
ReferenceHeaderFontColor #033C73
|
151
|
+
}
|
152
|
+
|
153
|
+
|
154
|
+
skinparam partition {
|
155
|
+
BorderColor #2FA4E7
|
156
|
+
FontColor #2FA4E7
|
157
|
+
BackgroundColor transparent
|
158
|
+
}
|
159
|
+
|
160
|
+
|
161
|
+
skinparam collections {
|
162
|
+
FontColor #2FA4E7
|
163
|
+
BorderColor #2FA4E7
|
164
|
+
BackgroundColor transparent
|
165
|
+
}
|
166
|
+
|
167
|
+
|
168
|
+
skinparam control {
|
169
|
+
FontColor #2FA4E7
|
170
|
+
BorderColor #2FA4E7
|
171
|
+
BackgroundColor transparent
|
172
|
+
}
|
173
|
+
|
174
|
+
|
175
|
+
skinparam entity {
|
176
|
+
FontColor #2FA4E7
|
177
|
+
BorderColor #2FA4E7
|
178
|
+
BackgroundColor transparent
|
179
|
+
}
|
180
|
+
|
181
|
+
|
182
|
+
skinparam boundary {
|
183
|
+
FontColor #2FA4E7
|
184
|
+
BorderColor #2FA4E7
|
185
|
+
BackgroundColor transparent
|
186
|
+
}
|
187
|
+
|
188
|
+
|
189
|
+
skinparam agent {
|
190
|
+
BackgroundColor transparent
|
191
|
+
BorderColor #999999
|
192
|
+
FontColor #333333
|
193
|
+
}
|
194
|
+
|
195
|
+
|
196
|
+
skinparam note {
|
197
|
+
BorderThickness 1
|
198
|
+
BackgroundColor transparent
|
199
|
+
BorderColor #033C73
|
200
|
+
FontColor #033C73
|
201
|
+
}
|
202
|
+
|
203
|
+
|
204
|
+
skinparam artifact {
|
205
|
+
BackgroundColor transparent
|
206
|
+
BorderColor #868E96
|
207
|
+
FontColor #868E96
|
208
|
+
}
|
209
|
+
|
210
|
+
|
211
|
+
skinparam component {
|
212
|
+
FontColor #2FA4E7
|
213
|
+
BorderColor #2FA4E7
|
214
|
+
BackgroundColor transparent
|
215
|
+
}
|
216
|
+
|
217
|
+
|
218
|
+
skinparam interface {
|
219
|
+
BackgroundColor transparent
|
220
|
+
BorderColor #C71C22
|
221
|
+
FontColor #343A40
|
222
|
+
}
|
223
|
+
|
224
|
+
|
225
|
+
skinparam storage {
|
226
|
+
BackgroundColor transparent
|
227
|
+
BorderColor #DD5600
|
228
|
+
FontColor #DD5600
|
229
|
+
}
|
230
|
+
|
231
|
+
|
232
|
+
skinparam node {
|
233
|
+
BackgroundColor transparent
|
234
|
+
BorderColor #343A40
|
235
|
+
FontColor #343A40
|
236
|
+
}
|
237
|
+
|
238
|
+
|
239
|
+
skinparam cloud {
|
240
|
+
BackgroundColor #F2FCFE-#eeeeee
|
241
|
+
BorderColor #F2FCFE
|
242
|
+
FontColor #343A40
|
243
|
+
}
|
244
|
+
|
245
|
+
|
246
|
+
skinparam database {
|
247
|
+
FontColor #2FA4E7
|
248
|
+
BorderColor #2FA4E7
|
249
|
+
BackgroundColor transparent
|
250
|
+
}
|
251
|
+
|
252
|
+
|
253
|
+
skinparam class {
|
254
|
+
FontColor #2FA4E7
|
255
|
+
BorderColor #2FA4E7
|
256
|
+
BackgroundColor transparent
|
257
|
+
FontColor #F8F9FA
|
258
|
+
HeaderBackgroundColor #2FA4E7-#2683B9
|
259
|
+
StereotypeFontColor #343A40
|
260
|
+
BorderThickness 1
|
261
|
+
AttributeFontColor #343A40
|
262
|
+
AttributeFontSize 11
|
263
|
+
}
|
264
|
+
|
265
|
+
|
266
|
+
skinparam object {
|
267
|
+
FontColor #2FA4E7
|
268
|
+
BorderColor #2FA4E7
|
269
|
+
BackgroundColor transparent
|
270
|
+
StereotypeFontColor #343A40
|
271
|
+
BorderThickness 1
|
272
|
+
AttributeFontColor #BABDBF
|
273
|
+
AttributeFontSize 11
|
274
|
+
}
|
275
|
+
|
276
|
+
|
277
|
+
skinparam usecase {
|
278
|
+
FontColor #2FA4E7
|
279
|
+
BorderColor #2FA4E7
|
280
|
+
BackgroundColor transparent
|
281
|
+
BorderThickness 2
|
282
|
+
StereotypeFontColor #2FA4E7
|
283
|
+
}
|
284
|
+
|
285
|
+
|
286
|
+
skinparam rectangle {
|
287
|
+
FontColor #2FA4E7
|
288
|
+
BorderColor #2FA4E7
|
289
|
+
BackgroundColor transparent
|
290
|
+
BorderThickness 2
|
291
|
+
StereotypeFontColor #2FA4E7
|
292
|
+
}
|
293
|
+
|
294
|
+
|
295
|
+
skinparam package {
|
296
|
+
BackgroundColor transparent
|
297
|
+
BorderColor #2FA4E7
|
298
|
+
FontColor #2FA4E7
|
299
|
+
BorderThickness 2
|
300
|
+
}
|
301
|
+
|
302
|
+
|
303
|
+
skinparam folder {
|
304
|
+
BackgroundColor transparent
|
305
|
+
BorderColor #DD5600
|
306
|
+
FontColor #DD5600
|
307
|
+
BorderThickness 2
|
308
|
+
}
|
309
|
+
|
310
|
+
|
311
|
+
skinparam frame {
|
312
|
+
BackgroundColor transparent
|
313
|
+
BorderColor #033C73
|
314
|
+
FontColor #033C73
|
315
|
+
BorderThickness 2
|
316
|
+
}
|
317
|
+
|
318
|
+
|
319
|
+
skinparam state {
|
320
|
+
FontColor #2FA4E7
|
321
|
+
BorderColor #2FA4E7
|
322
|
+
BackgroundColor transparent
|
323
|
+
StartColor #033C73
|
324
|
+
EndColor #033C73
|
325
|
+
AttributeFontColor #BABDBF
|
326
|
+
AttributeFontSize 11
|
327
|
+
}
|
328
|
+
|
329
|
+
|
330
|
+
skinparam queue {
|
331
|
+
FontColor #2FA4E7
|
332
|
+
BorderColor #2FA4E7
|
333
|
+
BackgroundColor transparent
|
334
|
+
}
|
335
|
+
|
336
|
+
|
337
|
+
skinparam card {
|
338
|
+
BackgroundColor transparent
|
339
|
+
BorderColor #033C73
|
340
|
+
FontColor #033C73
|
341
|
+
}
|
342
|
+
|
343
|
+
|
344
|
+
skinparam file {
|
345
|
+
BackgroundColor transparent
|
346
|
+
BorderColor #868E96
|
347
|
+
FontColor #868E96
|
348
|
+
}
|
349
|
+
|
350
|
+
|
351
|
+
skinparam stack {
|
352
|
+
FontColor #2FA4E7
|
353
|
+
BorderColor #2FA4E7
|
354
|
+
BackgroundColor transparent
|
355
|
+
}
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
hide footbox
|
360
|
+
autonumber
|
361
|
+
|
362
|
+
title "Using CGI for search requests"
|
363
|
+
|
364
|
+
actor Viewer as Vi
|
365
|
+
|
366
|
+
box "The Document Hosting Server" #EEEEEE
|
367
|
+
participant "Web Server" as Webserv
|
368
|
+
participant "Search Result\nGenerator\n(CGI)" as Searcher
|
369
|
+
note over of Searcher
|
370
|
+
The CGI script could use the
|
371
|
+
""Giblish::RequestManager""
|
372
|
+
class to do most of the work.
|
373
|
+
end note
|
374
|
+
database "Search index" as Index
|
375
|
+
end box
|
376
|
+
|
377
|
+
Vi -> Webserv : Search Query\n(html POST)
|
378
|
+
Webserv -> Searcher : Invoke CGI\nscript
|
379
|
+
Searcher -> Index : Search the\nindex
|
380
|
+
Searcher -> Webserv : Return serch\nresult (html)
|
381
|
+
note right
|
382
|
+
Giblish contains help classes
|
383
|
+
that provide most of the heavy
|
384
|
+
lifting for retrieving and
|
385
|
+
formatting the search result.
|
386
|
+
end note
|
387
|
+
Webserv -> Vi : return search\nresult
|
388
|
+
@enduml
|
389
|
+
|
390
|
+
PlantUML version 1.2021.7(Sun May 23 14:40:07 CEST 2021)
|
391
|
+
(GPL source distribution)
|
392
|
+
Java Runtime: OpenJDK Runtime Environment
|
393
|
+
JVM: OpenJDK 64-Bit Server VM
|
394
|
+
Default Encoding: UTF-8
|
395
|
+
Language: en
|
396
|
+
Country: US
|
397
|
+
--></g></svg>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
@startuml
|
2
|
+
!theme cerulean-outline
|
3
|
+
hide footbox
|
4
|
+
autonumber
|
5
|
+
|
6
|
+
title "Using a Passenger web-app for search requests"
|
7
|
+
|
8
|
+
actor Viewer as Vi
|
9
|
+
|
10
|
+
box "Document-hosting Server" #EEEEEE
|
11
|
+
participant "Web Server" as Webserv
|
12
|
+
participant "Passenger" as Pass
|
13
|
+
participant "Search script\n(Web app)" as Searcher
|
14
|
+
note over of Searcher
|
15
|
+
This could eg be a
|
16
|
+
sinatra-based application
|
17
|
+
that use the
|
18
|
+
""Giblish::RequestManager""
|
19
|
+
class.
|
20
|
+
end note
|
21
|
+
database "Search index" as Index
|
22
|
+
end box
|
23
|
+
|
24
|
+
Vi -> Webserv : Search Query\n(html POST)
|
25
|
+
Webserv -> Pass : hand over\nPOST request
|
26
|
+
Pass -> Searcher : hand over\nPOST request
|
27
|
+
Searcher -> Index : Search the\nindex
|
28
|
+
Searcher -> Pass : Return search\nresult (html)
|
29
|
+
note right
|
30
|
+
Giblish contains help
|
31
|
+
classes fthat provide
|
32
|
+
most of the heavy lifting
|
33
|
+
for retrieving and formatting
|
34
|
+
the search result.
|
35
|
+
end note
|
36
|
+
Pass -> Webserv : Return search\nresult (html)
|
37
|
+
Webserv -> Vi : Return search\nresult (html)
|
38
|
+
@enduml
|
39
|
+
|
40
|
+
|