Hide last authors
Richard Kreissig 39.1 1 == Project Overview ==
Richard Kreissig 40.1 2
uru 3.1 3 Responsible:
4
uru 17.1 5 * {{mention reference="XWiki.uru" style="FULL_NAME" anchor="XWiki-uru-XJiwu"/}}
uru 4.1 6
7 Demo Videos:
8
9 * [[Browsing a models repository with KlighDning>>url:http://rtsys.informatik.uni-kiel.de/~~kieler/videos/klighdning/||shape="rect"]]
10 * [[Collaboratively browsing model diagrams>>url:http://rtsys.informatik.uni-kiel.de/~~kieler/videos/klighdning_sync/||shape="rect"]]
uru 3.1 11
Alexander Schulz-Rosengarten 35.1 12 The **KLighDning** project aims at providing a flexible infrastructure to browse arbitrary models. It combines the [[KlighD >>doc:KIELER.Lightweight Diagrams (KLighD).WebHome]]technology with web technologies, such as websockets and SVG, to present transiently synthesized diagrams of the models within a webbrowser. KLighDnings focus is //browsing// model diagrams for documentation purposes, not //editing// of the models. As part of the documentation idea, basic collaboration facilities are included. Users can join so-called //rooms// in which the browsing process is synchronized for all participants, for instance, panning, zooming, and expanding of compound nodes.
uru 5.1 13
uru 17.1 14 {{info}}
15 Play around with our prototype at [[http:~~/~~/layout.rtsys.informatik.uni-kiel.de:20443>>url:http://layout.rtsys.informatik.uni-kiel.de:20443||shape="rect"]]
16 {{/info}}
17
uru 7.1 18 == Details ==
19
20 === Supported Models ===
21
Alexander Schulz-Rosengarten 35.1 22 KLighDning leverages the transient views approach to synthesize diagrams for (purely textual) models. Our implementation [[KLighD >>doc:KIELER.Lightweight Diagrams (KLighD).WebHome]]employs the notion of //diagram// //syntheses//, which basically are model transformations from an arbitrary source model format to the [[KGraph >>doc:KIELER.Discontinued Projects.Infrastructure for Meta Layout (KIML).KGraph Meta Model.WebHome]]format (structural description), where each graph element can be equipped with [[KRendering >>doc:KIELER.Lightweight Diagrams (KLighD).The KRendering Notation Model.WebHome]]elements for styling. See the corresponding wiki pages for further information.
uru 7.1 23
24 As part of the KIELER Project we currently support following diagram sytheses.
25
26 |=(((
27 Diagram Type
28 )))|=(((
29 Short ID
30 )))|=(((
31 Feature ID
32 )))
33 |(((
Alexander Schulz-Rosengarten 33.1 34 [[KGraph Text Format>>doc:KIELER.KIELER Pragmatics.KGraph Text (KGT).WebHome]]
uru 7.1 35 )))|(((
36 {{{kgraph}}}
37 )))|(((
38 {{{de.cau.cs.kieler.kgraph.feature.feature.group}}}
39 )))
40 |(((
Alexander Schulz-Rosengarten 32.1 41 [[Ptolemy's MoML>>doc:KIELER.Discontinued Projects.Ptolemy Browser.WebHome]]
uru 7.1 42 )))|(((
uru 8.1 43 {{{ptolemy}}}
uru 7.1 44 )))|(((
uru 8.1 45 {{{de.cau.cs.kieler.ptview.feature.feature.group}}}
uru 7.1 46 )))
uru 8.1 47 |(% colspan="1" %)(% colspan="1" %)
48 (((
49 Ecore Class Diagram
50 )))|(% colspan="1" %)(% colspan="1" %)
51 (((
52 {{{klighd.examples}}}
53 )))|(% colspan="1" %)(% colspan="1" %)
54 (((
55 {{{de.cau.cs.kieler.klighd.examples.feature.feature.group}}}
56 )))
uru 7.1 57
uru 13.1 58 === Transient Static Links ===
uru 7.1 59
uru 13.1 60 **Permanent links** are another facet of the documentation purpose. A user can browse a model to a point where he potentially finds a bug. In order to supplement the bug report a //PermaLink// can be retrieved that holds the current viewport and expansion status of the user. The link can be attached to the report and upon opening the link, the diagram is opened as specified by the link.
uru 7.1 61
Richard Kreissig 39.1 62 {{code language="bash" title="PermaLink"}}
uru 7.1 63 http://[SERVER]/[MODEL_PATH]?perma=[EXPANSION]&transform=[VIEWPORT_MATRIX]
64 {{/code}}
65
uru 13.1 66 === Collaboration ===
67
68 **Rooms** serve as a basis for collaboratively browsing a model. Users can join a common room in which all browsing activity, i.e., zooming, panning, expanding, is synchronized. One user can explain the model to another, or ask questions about certain details.
69
70
uru 15.1 71 = Videos =
72
uru 16.1 73 == Basic Functionality ==
uru 15.1 74
75
Richard Kreissig 40.1 76 [[KlighDning_new.mp4>>attach:KlighDning_new.mp4]]
uru 15.1 77
uru 16.1 78 == Collaboration ==
uru 15.1 79
80
Richard Kreissig 40.1 81 [[KlighDning_sync.mp4>>attach:KlighDning_sync.mp4]]
uru 15.1 82
uru 5.1 83 == Examples ==
84
uru 6.1 85 === Desktop Webbrowser ===
uru 3.1 86
uru 6.1 87 [[image:attach:ptolemy.png]]
88
89 === Smartphone ===
90
91 [[image:attach:mobile.png]]
92
uru 3.1 93
uru 5.1 94 == Quick Start ==
95
uru 13.1 96 * Download a release or nightly build of the KLighDning product.
97 * Use the {{code language="none"}}install_kieler_features.sh{{/code}} or {{code language="none"}}install_features.sh{{/code}} script to add the desired diagram syntheses.
98 * Start the server using the {{code language="none"}}start.sh{{/code}} script.
uru 11.1 99
uru 13.1 100 Following a small exemplary deploy script for KLighDning is shown that downloads the current nightly build, extracts it, installs the {{code language="none"}}kgraph{{/code}} and {{code language="none"}}klighd.examples{{/code}} diagram syntheses, and starts the server.
uru 11.1 101
Richard Kreissig 39.1 102 {{code linenumbers="true" language="bash" title="Exemplary Deploy Script for KLighDning"}}
uru 13.1 103 #!/bin/bash
uru 11.1 104 #
105 # Deploy the KLighDning product and install some features
106 #
107
uru 12.1 108 # location of the klighdning product
109 HOST="http://rtsys.informatik.uni-kiel.de"
110 SERVER_PATH="/~kieler/files/nightly/klighdning/"
111 PLATFORM="linux.gtk.x86_64"
112 FILE="klighdning_nightly_*-${PLATFORM}.zip"
uru 11.1 113
uru 12.1 114 # features to be installed into the klighdning instance
115 FEATURES="kgraph,klighd.examples"
116
117 # local models repository
118 MODELS_REPO="/home/layout/models"
119
120
121 echo "##################################"
122 echo "###### Deploying KLighDning ######"
123 echo ""
124 echo "Downloading ... "
125 echo " archive: ${FILE}"
126 echo " host: ${HOST}${SERVER_PATH}"
127
128 wget -r -nd -P tmp -A "$FILE" -I $SERVER_PATH "${HOST}${SERVER_PATH}" 2>/dev/null
129
130 echo "Unzipping ..."
131 cd tmp
132 unzip -q *.zip
133 cd ..
134 mv tmp/klighdning .
135 rm -rf tmp
136
137 echo "Make the scripts executable ..."
138 chmod u+x klighdning/*.sh
139
140 echo "Installing features ..."
141 cd klighdning
142 ./install_kieler_features.sh "$FEATURES"
143
144 echo "Starting KLighDning ..."
145 ./start.sh "$MODELS_REPO"
146
147 cd ..
148
149  
uru 11.1 150 {{/code}}
151
152
153 === Example ===