omf_web 0.9.6 → 0.9.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +168 -13
- data/bin/omf-web-basic +3 -3
- data/doc/index.md +205 -0
- data/example/NOT_WORKING/brooklyn/brooklyn_server.rb +2 -2
- data/example/NOT_WORKING/frisbee/data_sources/parse_log.rb +1 -1
- data/example/NOT_WORKING/frisbee/viz_server.rb +1 -1
- data/example/NOT_WORKING/gec12/gec12_demo_server.rb +1 -1
- data/example/NOT_WORKING/gec12/visualization.rb +2 -2
- data/example/NOT_WORKING/network/network_server.rb +2 -2
- data/example/NOT_WORKING/wimax/test.rb +2 -2
- data/example/NOT_WORKING/wimax/viz_server.rb +2 -2
- data/example/bridge/auth_basic.rb +75 -0
- data/example/bridge/config.ru +101 -0
- data/example/bridge/configure/configure_widget.rb +32 -0
- data/example/bridge/data_sources/sensor-sqlite.rb +28 -6
- data/example/bridge/data_sources/test31.sq3 +0 -0
- data/example/bridge/htdocs/{js/graph → graph/js}/bridge.js +2 -2
- data/example/bridge/htdocs/{js/graph → graph/js}/event_line_chart.js +7 -6
- data/example/bridge/htdocs/{js/graph → graph/js}/event_table.js +13 -5
- data/example/bridge/htdocs/template/login.html +23 -0
- data/example/bridge/viz_server.rb +3 -5
- data/example/bridge/widgets/configure.yaml +12 -0
- data/example/bridge/widgets/login.yaml +16 -0
- data/example/bridge/{overview.yaml → widgets/overview.yaml} +7 -4
- data/example/demo/data_sources/animals.rb +1 -1
- data/example/demo/data_sources/downloads.rb +1 -1
- data/example/demo/data_sources/generator.rb +1 -1
- data/example/demo/data_sources/histogram.rb +1 -1
- data/example/demo/data_sources/mobile_network.rb +4 -3
- data/example/demo/data_sources/movies.rb +1 -1
- data/example/demo/data_sources/network.rb +4 -3
- data/example/demo/data_sources/returns.rb +1 -1
- data/example/demo/data_sources/static_network.rb +4 -3
- data/example/demo/data_sources/walk.rb +1 -1
- data/example/demo/demo_viz_server.rb +1 -1
- data/example/demo/widgets/linked_graphs_tab.yaml +1 -1
- data/example/openflow-gec15/README.md +21 -0
- data/example/openflow-gec15/code_tab.yaml +36 -0
- data/example/openflow-gec15/dashboard_tab.yaml +72 -0
- data/example/openflow-gec15/doc/screenshot.png +0 -0
- data/example/openflow-gec15/exp_source.rb +104 -0
- data/example/openflow-gec15/of_viz_server.rb +63 -0
- data/example/openflow-gec15/openflow-demo.sq3 +0 -0
- data/example/openflow-gec15/raw_tab.yaml +37 -0
- data/example/openflow-gec15/repository/of-exp.rb +12 -0
- data/example/openflow-gec15/repository/sample.md +52 -0
- data/example/openflow-gec15/repository/trema-ctl6.rb +148 -0
- data/example/simple/README.md +2 -0
- data/example/simple/data_sources/gimi31.sq3 +0 -0
- data/example/simple/data_sources/ping_source.rb +56 -0
- data/example/simple/simple_viz_server.rb +39 -0
- data/example/simple/widgets/charts_tab.yaml +38 -0
- data/lib/omf-web/config.ru +31 -3
- data/lib/omf-web/data_source_proxy.rb +29 -26
- data/lib/omf-web/rack/session_authenticator.rb +93 -0
- data/lib/omf-web/rack/tab_mapper.rb +10 -5
- data/lib/omf-web/rack/websocket_handler.rb +17 -6
- data/lib/omf-web/theme/abstract_page.rb +1 -1
- data/lib/omf-web/theme/bright/flow_renderer.rb +2 -2
- data/lib/omf-web/theme/bright/layout_renderer.rb +15 -0
- data/lib/omf-web/theme/bright/mustache_renderer.rb +29 -0
- data/lib/omf-web/theme/bright/one_column_renderer.rb +2 -2
- data/lib/omf-web/theme/bright/page.rb +33 -8
- data/lib/omf-web/theme/bright/tabbed_renderer.rb +2 -3
- data/lib/omf-web/theme/bright/two_columns_renderer.rb +3 -4
- data/lib/omf-web/version.rb +1 -1
- data/lib/omf-web/widget/code_widget.rb +0 -7
- data/lib/omf-web/widget/layout/two_columns_layout.rb +3 -2
- data/lib/omf-web/widget/mustache_widget.rb +44 -0
- data/lib/omf-web/widget.rb +14 -1
- data/lib/omf_common/lobject.rb +6 -3
- data/omf_web.gemspec +3 -1
- data/share/htdocs/graph/js/abstract_nv_chart.js +14 -4
- data/share/htdocs/graph/js/abstract_widget.js +5 -4
- data/share/htdocs/graph/js/line_chart3.js +2 -0
- data/share/htdocs/graph/js/map2.js +3 -3
- data/share/htdocs/graph/js/network2.js +51 -19
- data/share/htdocs/graph/js/scatter_plot.js +6 -2
- data/share/htdocs/graph/js/table2.js +5 -2
- data/share/htdocs/js/data_source2.js +40 -8
- data/share/htdocs/js/mustache.js +29 -0
- data/share/htdocs/theme/abstract/abstract.js +10 -3
- data/share/htdocs/vendor/mustache-0.7.0/CHANGES +21 -0
- data/share/htdocs/vendor/mustache-0.7.0/LICENSE +10 -0
- data/share/htdocs/vendor/mustache-0.7.0/README.md +374 -0
- data/share/htdocs/vendor/mustache-0.7.0/jquery.mustache.js +635 -0
- data/share/htdocs/vendor/mustache-0.7.0/mustache.js +612 -0
- data/share/htdocs/vendor/nv_d3/js/nv.d3.js +9 -1
- data/share/htdocs/vendor/raphael-2.1.0/raphael.js +5815 -0
- metadata +74 -9
- data/DESIGN_NOTES.txt +0 -56
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omf_web
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,10 +9,10 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: omf_oml
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
@@ -203,6 +203,38 @@ dependencies:
|
|
203
203
|
- - ~>
|
204
204
|
- !ruby/object:Gem::Version
|
205
205
|
version: 1.3.6
|
206
|
+
- !ruby/object:Gem::Dependency
|
207
|
+
name: postgres-pr
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
209
|
+
none: false
|
210
|
+
requirements:
|
211
|
+
- - ~>
|
212
|
+
- !ruby/object:Gem::Version
|
213
|
+
version: 0.6.3
|
214
|
+
type: :runtime
|
215
|
+
prerelease: false
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
217
|
+
none: false
|
218
|
+
requirements:
|
219
|
+
- - ~>
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: 0.6.3
|
222
|
+
- !ruby/object:Gem::Dependency
|
223
|
+
name: websocket-rack
|
224
|
+
requirement: !ruby/object:Gem::Requirement
|
225
|
+
none: false
|
226
|
+
requirements:
|
227
|
+
- - ~>
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: 0.4.0
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
none: false
|
234
|
+
requirements:
|
235
|
+
- - ~>
|
236
|
+
- !ruby/object:Gem::Version
|
237
|
+
version: 0.4.0
|
206
238
|
description: OMF's Web based control and visualization framework.
|
207
239
|
email:
|
208
240
|
- omf-user@lists.nicta.com.au
|
@@ -213,7 +245,6 @@ extensions: []
|
|
213
245
|
extra_rdoc_files: []
|
214
246
|
files:
|
215
247
|
- .gitignore
|
216
|
-
- DESIGN_NOTES.txt
|
217
248
|
- Gemfile
|
218
249
|
- README.md
|
219
250
|
- Rakefile
|
@@ -240,6 +271,7 @@ files:
|
|
240
271
|
- debug/test.html
|
241
272
|
- debug/test_private.pem
|
242
273
|
- debug/test_server.rb
|
274
|
+
- doc/index.md
|
243
275
|
- doc/screenshot.png
|
244
276
|
- etc/omf-web/omf_web.yml
|
245
277
|
- example/NOT_WORKING/basic/hello-world-wired.rb
|
@@ -274,19 +306,26 @@ files:
|
|
274
306
|
- example/NOT_WORKING/wimax/test.rb
|
275
307
|
- example/NOT_WORKING/wimax/uplink.yaml
|
276
308
|
- example/NOT_WORKING/wimax/viz_server.rb
|
309
|
+
- example/bridge/auth_basic.rb
|
277
310
|
- example/bridge/bridge_ctl.sh
|
278
311
|
- example/bridge/bridge_log4r.yaml
|
312
|
+
- example/bridge/config.ru
|
313
|
+
- example/bridge/configure/configure_widget.rb
|
279
314
|
- example/bridge/data_sources/sensor-sqlite.rb
|
280
315
|
- example/bridge/data_sources/test2.oml
|
281
316
|
- example/bridge/data_sources/test2.sq3
|
282
317
|
- example/bridge/data_sources/test3.sq3
|
318
|
+
- example/bridge/data_sources/test31.sq3
|
283
319
|
- example/bridge/htdocs/css/bridge.css
|
320
|
+
- example/bridge/htdocs/graph/js/bridge.js
|
321
|
+
- example/bridge/htdocs/graph/js/event_line_chart.js
|
322
|
+
- example/bridge/htdocs/graph/js/event_table.js
|
284
323
|
- example/bridge/htdocs/image/imagined_by_nicta.jpeg
|
285
|
-
- example/bridge/htdocs/
|
286
|
-
- example/bridge/htdocs/js/graph/event_line_chart.js
|
287
|
-
- example/bridge/htdocs/js/graph/event_table.js
|
288
|
-
- example/bridge/overview.yaml
|
324
|
+
- example/bridge/htdocs/template/login.html
|
289
325
|
- example/bridge/viz_server.rb
|
326
|
+
- example/bridge/widgets/configure.yaml
|
327
|
+
- example/bridge/widgets/login.yaml
|
328
|
+
- example/bridge/widgets/overview.yaml
|
290
329
|
- example/demo/data_sources/animals.rb
|
291
330
|
- example/demo/data_sources/downloads.csv
|
292
331
|
- example/demo/data_sources/downloads.rb
|
@@ -316,6 +355,22 @@ files:
|
|
316
355
|
- example/demo/widgets/stacked_widget.yaml
|
317
356
|
- example/demo/widgets/table_widget.yaml
|
318
357
|
- example/demo/widgets/text_widget.yaml
|
358
|
+
- example/openflow-gec15/README.md
|
359
|
+
- example/openflow-gec15/code_tab.yaml
|
360
|
+
- example/openflow-gec15/dashboard_tab.yaml
|
361
|
+
- example/openflow-gec15/doc/screenshot.png
|
362
|
+
- example/openflow-gec15/exp_source.rb
|
363
|
+
- example/openflow-gec15/of_viz_server.rb
|
364
|
+
- example/openflow-gec15/openflow-demo.sq3
|
365
|
+
- example/openflow-gec15/raw_tab.yaml
|
366
|
+
- example/openflow-gec15/repository/of-exp.rb
|
367
|
+
- example/openflow-gec15/repository/sample.md
|
368
|
+
- example/openflow-gec15/repository/trema-ctl6.rb
|
369
|
+
- example/simple/README.md
|
370
|
+
- example/simple/data_sources/gimi31.sq3
|
371
|
+
- example/simple/data_sources/ping_source.rb
|
372
|
+
- example/simple/simple_viz_server.rb
|
373
|
+
- example/simple/widgets/charts_tab.yaml
|
319
374
|
- lib/omf-web/UNUSED/tab.rb
|
320
375
|
- lib/omf-web/UNUSED/tab/abstract_service.rb
|
321
376
|
- lib/omf-web/UNUSED/tab/code/code_service.rb
|
@@ -337,6 +392,7 @@ files:
|
|
337
392
|
- lib/omf-web/rack/content_handler.rb
|
338
393
|
- lib/omf-web/rack/multi_file.rb
|
339
394
|
- lib/omf-web/rack/rack_exceptions.rb
|
395
|
+
- lib/omf-web/rack/session_authenticator.rb
|
340
396
|
- lib/omf-web/rack/tab_mapper.rb
|
341
397
|
- lib/omf-web/rack/update_handler.rb
|
342
398
|
- lib/omf-web/rack/websocket_handler.rb
|
@@ -349,6 +405,8 @@ files:
|
|
349
405
|
- lib/omf-web/theme/bright/data_renderer.rb
|
350
406
|
- lib/omf-web/theme/bright/flow_renderer.rb
|
351
407
|
- lib/omf-web/theme/bright/init.rb
|
408
|
+
- lib/omf-web/theme/bright/layout_renderer.rb
|
409
|
+
- lib/omf-web/theme/bright/mustache_renderer.rb
|
352
410
|
- lib/omf-web/theme/bright/one_column_renderer.rb
|
353
411
|
- lib/omf-web/theme/bright/page.rb
|
354
412
|
- lib/omf-web/theme/bright/stacked_renderer.rb
|
@@ -376,6 +434,7 @@ files:
|
|
376
434
|
- lib/omf-web/widget/layout/stacked_layout.rb
|
377
435
|
- lib/omf-web/widget/layout/tabbed_layout.rb
|
378
436
|
- lib/omf-web/widget/layout/two_columns_layout.rb
|
437
|
+
- lib/omf-web/widget/mustache_widget.rb
|
379
438
|
- lib/omf-web/widget/text/maruku.rb
|
380
439
|
- lib/omf-web/widget/text/maruku/MARUKU-LICENSE
|
381
440
|
- lib/omf-web/widget/text/maruku/helpers.rb
|
@@ -423,6 +482,7 @@ files:
|
|
423
482
|
- share/htdocs/graph/js/table2.js
|
424
483
|
- share/htdocs/js/data_source.js
|
425
484
|
- share/htdocs/js/data_source2.js
|
485
|
+
- share/htdocs/js/mustache.js
|
426
486
|
- share/htdocs/js/require3.js
|
427
487
|
- share/htdocs/js/stacktrace.js
|
428
488
|
- share/htdocs/theme/abstract/abstract.js
|
@@ -1054,6 +1114,11 @@ files:
|
|
1054
1114
|
- share/htdocs/vendor/must_have_icon_set/Zoom Out/Zoom Out_32x32.png
|
1055
1115
|
- share/htdocs/vendor/must_have_icon_set/Zoom Out/Zoom Out_48x48.png
|
1056
1116
|
- share/htdocs/vendor/must_have_icon_set/to_customize_desktop_icons.txt
|
1117
|
+
- share/htdocs/vendor/mustache-0.7.0/CHANGES
|
1118
|
+
- share/htdocs/vendor/mustache-0.7.0/LICENSE
|
1119
|
+
- share/htdocs/vendor/mustache-0.7.0/README.md
|
1120
|
+
- share/htdocs/vendor/mustache-0.7.0/jquery.mustache.js
|
1121
|
+
- share/htdocs/vendor/mustache-0.7.0/mustache.js
|
1057
1122
|
- share/htdocs/vendor/nv_d3/css/nv.d3.css
|
1058
1123
|
- share/htdocs/vendor/nv_d3/js/models/line.js
|
1059
1124
|
- share/htdocs/vendor/nv_d3/js/models/lineChart.js
|
@@ -1138,6 +1203,7 @@ files:
|
|
1138
1203
|
- share/htdocs/vendor/raphael-1.5.2/raphael.path.methods.js
|
1139
1204
|
- share/htdocs/vendor/raphael-1.5.2/raphael.primitives.js
|
1140
1205
|
- share/htdocs/vendor/raphael-1.5.2/raphael.shadow.js
|
1206
|
+
- share/htdocs/vendor/raphael-2.1.0/raphael.js
|
1141
1207
|
- share/htdocs/vendor/silk_icons_v013/icons/accept.png
|
1142
1208
|
- share/htdocs/vendor/silk_icons_v013/icons/add.png
|
1143
1209
|
- share/htdocs/vendor/silk_icons_v013/icons/anchor.png
|
@@ -2347,4 +2413,3 @@ signing_key:
|
|
2347
2413
|
specification_version: 3
|
2348
2414
|
summary: OMF's web frontend.
|
2349
2415
|
test_files: []
|
2350
|
-
has_rdoc:
|
data/DESIGN_NOTES.txt
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
|
2
|
-
This module is used to define and run a web server which allows a user to explore and
|
3
|
-
intereact with various experiments. It is a stand-alone unit communicating through
|
4
|
-
the OMF messaging framework with other entities.
|
5
|
-
|
6
|
-
The content of such a web site consists of
|
7
|
-
|
8
|
-
* A +Page+ which is essentially representing a context, most likely that of a
|
9
|
-
a single experiment.
|
10
|
-
|
11
|
-
* Pages can contain multiple +Cards+. The containing Page will contain
|
12
|
-
navigational elements to switch between those cards
|
13
|
-
|
14
|
-
* Each card contains one or more +Widgets+ which are arranged by an
|
15
|
-
associated +Formatter+ implementing a certain layout.
|
16
|
-
|
17
|
-
* A +Session+ represents the context of a specific user of the server. Users
|
18
|
-
may be associated with different privileges (not implemented) which determine
|
19
|
-
what pages they can see (and interact) and also what cards and widgets
|
20
|
-
|
21
|
-
* Theme ... explain
|
22
|
-
|
23
|
-
The actual session state is kept in the widgets. The card description (defCard)
|
24
|
-
defines the formatter to use and the type of widgets to populate it with. The
|
25
|
-
respective widgets are initialised the first time such a card is rendered
|
26
|
-
within a user session and kept in the session to be reused the next time
|
27
|
-
the user requests the card. The primary decision for this design is the fact
|
28
|
-
that many widgets visualize dynamic state and any updates to that should be
|
29
|
-
propagated to the user's web browser if that widget instance is visisble there.
|
30
|
-
Therefore, many widgets either establish web sockets back to the server or
|
31
|
-
issue periodic AJAX calls. Maintaining interal widget state will also speed
|
32
|
-
up the rendering of a specific card. The drawback of this design is that it
|
33
|
-
can create substantial state for each user session. Given the envisioned use
|
34
|
-
case this is not really a concern as the number of active sessions will be small.
|
35
|
-
However, we do envision use cases where the server will run for a long time, which
|
36
|
-
in term will require pruning of 'dead' sessions and the associated freeing of
|
37
|
-
state.
|
38
|
-
|
39
|
-
With such a desing the main extension point will be around widgets and to a lesser
|
40
|
-
extend around formaters and themes.
|
41
|
-
|
42
|
-
As the primary objective of this package is to visualize and interact with dynamic
|
43
|
-
system state we introduce a few more concepts.
|
44
|
-
|
45
|
-
* An +Event+ is a time-stamped tuple (hash) which describes the properties of a
|
46
|
-
specific event whch occured at a certain time (timestamp).
|
47
|
-
|
48
|
-
* An +EventList+ which holds an (ordered ?) list of Events with every event belonging
|
49
|
-
to the same schema. It will be the primary source of information for widgets.
|
50
|
-
|
51
|
-
It provides means for other objects to subscribe to receive notification when the
|
52
|
-
list changes. There is also an associated policy on how to maintain the list
|
53
|
-
(e.g. keep only the last N recent events). In addition, an event list may subscribe
|
54
|
-
to the OMF messaging framework to receive events created by system and other
|
55
|
-
experiment services.
|
56
|
-
|