nutella_framework 0.4.23 → 0.4.24

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/framework_components/monitoring-bot/monitoring-bot.rb +11 -2
  4. data/framework_components/monitoring-interface/.gitignore +2 -0
  5. data/framework_components/monitoring-interface/README.md +1 -0
  6. data/framework_components/monitoring-interface/bower.json +29 -0
  7. data/framework_components/monitoring-interface/bower_components/bower-mqttws/.bower.json +23 -0
  8. data/framework_components/monitoring-interface/bower_components/bower-mqttws/bower.json +14 -0
  9. data/framework_components/monitoring-interface/bower_components/bower-mqttws/mqttws31.js +2081 -0
  10. data/framework_components/monitoring-interface/bower_components/bower-mqttws/readme.md +4 -0
  11. data/framework_components/monitoring-interface/bower_components/nutella_lib/.bower.json +37 -0
  12. data/framework_components/monitoring-interface/bower_components/nutella_lib/LICENSE +21 -0
  13. data/framework_components/monitoring-interface/bower_components/nutella_lib/README.md +15 -0
  14. data/framework_components/monitoring-interface/bower_components/nutella_lib/bower.json +28 -0
  15. data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/browser/mqtt_client_hello_world.html +23 -0
  16. data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/browser/nutella_hello_world.html +52 -0
  17. data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/node/mqtt_client_hello_world.js +14 -0
  18. data/framework_components/monitoring-interface/bower_components/nutella_lib/examples/node/nutella_hello_world.js +38 -0
  19. data/framework_components/monitoring-interface/bower_components/nutella_lib/nutella_lib.js +789 -0
  20. data/framework_components/monitoring-interface/bower_components/nutella_lib/package.json +30 -0
  21. data/framework_components/monitoring-interface/css/Monitoring Interface.html +215 -0
  22. data/framework_components/monitoring-interface/css/Monitoring Interface_files/animations.js +27 -0
  23. data/framework_components/monitoring-interface/css/Monitoring Interface_files/application-view-controller.js +232 -0
  24. data/framework_components/monitoring-interface/css/Monitoring Interface_files/applications-model.js +61 -0
  25. data/framework_components/monitoring-interface/css/Monitoring Interface_files/bootstrap.min.js +7 -0
  26. data/framework_components/monitoring-interface/css/Monitoring Interface_files/cursor.css +7 -0
  27. data/framework_components/monitoring-interface/css/Monitoring Interface_files/d3.v3.min.js +5 -0
  28. data/framework_components/monitoring-interface/css/Monitoring Interface_files/graphics.js +156 -0
  29. data/framework_components/monitoring-interface/css/Monitoring Interface_files/grid-layout.js +103 -0
  30. data/framework_components/monitoring-interface/css/Monitoring Interface_files/highlight.min.js +2 -0
  31. data/framework_components/monitoring-interface/css/Monitoring Interface_files/instance-view-controller.js +104 -0
  32. data/framework_components/monitoring-interface/css/Monitoring Interface_files/jquery-1.10.0.min.js +6 -0
  33. data/framework_components/monitoring-interface/css/Monitoring Interface_files/notification-center.js +63 -0
  34. data/framework_components/monitoring-interface/css/Monitoring Interface_files/notifications.js +14 -0
  35. data/framework_components/monitoring-interface/css/Monitoring Interface_files/page.css +33 -0
  36. data/framework_components/monitoring-interface/css/Monitoring Interface_files/radial-layout.js +175 -0
  37. data/framework_components/monitoring-interface/css/Monitoring Interface_files/tab-table.js +8 -0
  38. data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-application.css +0 -0
  39. data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-application.js +320 -0
  40. data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-connection-view.css +10 -0
  41. data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-connection-view.js +426 -0
  42. data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-element.js +205 -0
  43. data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-notification.js +94 -0
  44. data/framework_components/monitoring-interface/css/Monitoring Interface_files/ui-tab.js +229 -0
  45. data/framework_components/monitoring-interface/css/Monitoring Interface_files/underscore-min.js +5 -0
  46. data/framework_components/monitoring-interface/css/Monitoring Interface_files/view-controller.js +68 -0
  47. data/framework_components/monitoring-interface/css/Monitoring Interface_files/window-view-controller.js +169 -0
  48. data/framework_components/monitoring-interface/css/alerts.css +3 -0
  49. data/framework_components/monitoring-interface/css/bootstrap.min.css +5 -0
  50. data/framework_components/monitoring-interface/css/cursor.css +7 -0
  51. data/framework_components/monitoring-interface/css/highlight.default.min.css +1 -0
  52. data/framework_components/monitoring-interface/css/page.css +41 -0
  53. data/framework_components/monitoring-interface/css/ui-application.css +0 -0
  54. data/framework_components/monitoring-interface/css/ui-connection-view.css +10 -0
  55. data/framework_components/monitoring-interface/css/ui-legend-view.css +7 -0
  56. data/framework_components/monitoring-interface/data/alert.json +8 -0
  57. data/framework_components/monitoring-interface/data/data.json +2118 -0
  58. data/framework_components/monitoring-interface/data/data2.json +814 -0
  59. data/framework_components/monitoring-interface/data/data3.json +823 -0
  60. data/framework_components/monitoring-interface/data/data4.json +848 -0
  61. data/framework_components/monitoring-interface/data/message.json +999 -0
  62. data/framework_components/monitoring-interface/gulpfile.js +29 -0
  63. data/framework_components/monitoring-interface/img/arrow_white.svg +120 -0
  64. data/framework_components/monitoring-interface/img/arrow_white_right.svg +104 -0
  65. data/framework_components/monitoring-interface/img/back.svg +164 -0
  66. data/framework_components/monitoring-interface/img/cross_red_border_white.svg +143 -0
  67. data/framework_components/monitoring-interface/img/cross_red_border_white_mouseover.svg +143 -0
  68. data/framework_components/monitoring-interface/img/email.svg +89 -0
  69. data/framework_components/monitoring-interface/img/email_highlighted.svg +89 -0
  70. data/framework_components/monitoring-interface/index.html +144 -0
  71. data/framework_components/monitoring-interface/js/d3/layout/grid-layout.js +103 -0
  72. data/framework_components/monitoring-interface/js/d3/layout/radial-layout.js +184 -0
  73. data/framework_components/monitoring-interface/js/d3/plugin/graphics.js +156 -0
  74. data/framework_components/monitoring-interface/js/d3/plugin/tab-table.js +8 -0
  75. data/framework_components/monitoring-interface/js/d3/ui/animations.js +27 -0
  76. data/framework_components/monitoring-interface/js/d3/ui/ui-application.js +471 -0
  77. data/framework_components/monitoring-interface/js/d3/ui/ui-connection-view.js +847 -0
  78. data/framework_components/monitoring-interface/js/d3/ui/ui-element.js +245 -0
  79. data/framework_components/monitoring-interface/js/d3/ui/ui-legend.js +174 -0
  80. data/framework_components/monitoring-interface/js/d3/ui/ui-notification.js +90 -0
  81. data/framework_components/monitoring-interface/js/d3/ui/ui-tab.js +309 -0
  82. data/framework_components/monitoring-interface/js/lib/JSXTransformer-0.12.2.js +15199 -0
  83. data/framework_components/monitoring-interface/js/lib/bootstrap.min.js +7 -0
  84. data/framework_components/monitoring-interface/js/lib/d3.v3.min.js +5 -0
  85. data/framework_components/monitoring-interface/js/lib/highlight.min.js +2 -0
  86. data/framework_components/monitoring-interface/js/lib/jquery-1.10.0.min.js +6 -0
  87. data/framework_components/monitoring-interface/js/lib/nutella_lib.js +5121 -0
  88. data/framework_components/monitoring-interface/js/lib/react-with-addons-0.12.2.js +19822 -0
  89. data/framework_components/monitoring-interface/js/lib/underscore-min.js +5 -0
  90. data/framework_components/monitoring-interface/js/model/alerts-model.js +74 -0
  91. data/framework_components/monitoring-interface/js/model/applications-model.js +78 -0
  92. data/framework_components/monitoring-interface/js/model/messages-model.js +112 -0
  93. data/framework_components/monitoring-interface/js/notification/notification-center.js +63 -0
  94. data/framework_components/monitoring-interface/js/notification/notifications.js +21 -0
  95. data/framework_components/monitoring-interface/js/react/dist/ui-alerts.js +178 -0
  96. data/framework_components/monitoring-interface/js/react/dist/ui-message-send.js +389 -0
  97. data/framework_components/monitoring-interface/js/react/dist/ui-messages.js +103 -0
  98. data/framework_components/monitoring-interface/js/react/src/ui-alerts.js +178 -0
  99. data/framework_components/monitoring-interface/js/react/src/ui-message-send.js +389 -0
  100. data/framework_components/monitoring-interface/js/react/src/ui-messages.js +103 -0
  101. data/framework_components/monitoring-interface/js/view-controller/application-view-controller.js +256 -0
  102. data/framework_components/monitoring-interface/js/view-controller/instance-view-controller.js +112 -0
  103. data/framework_components/monitoring-interface/js/view-controller/view-controller.js +74 -0
  104. data/framework_components/monitoring-interface/js/view-controller/window-view-controller.js +169 -0
  105. data/framework_components/monitoring-interface/nutella.json +6 -0
  106. data/framework_components/order.json +1 -0
  107. data/framework_components/roomcast-bot/roomcast_bot.rb +139 -117
  108. data/framework_components/roomcast-channel-creator/dist/app.js +9 -7
  109. data/framework_components/roomcast-channel-creator/index.html +1 -1
  110. data/framework_components/roomcast-channel-creator/src/app/components/main.js +8 -6
  111. data/framework_components/roomcast-package-creator/dist/app.js +4 -4
  112. data/framework_components/roomcast-package-creator/index.html +1 -1
  113. data/framework_components/roomcast-package-creator/package.json +3 -3
  114. data/framework_components/roomcast-package-creator/src/app/components/ConfigurationsPanel.js +2 -2
  115. data/framework_components/roomcast-package-creator/src/app/components/PoolRow.js +1 -1
  116. data/framework_components/roomcast-teacher-controls/.gitignore +2 -0
  117. data/framework_components/roomcast-teacher-controls/README.md +9 -0
  118. data/framework_components/roomcast-teacher-controls/dist/app.js +38327 -0
  119. data/framework_components/roomcast-teacher-controls/dist/main.css +3052 -0
  120. data/framework_components/roomcast-teacher-controls/dist/nutella_lib.js +5121 -0
  121. data/framework_components/roomcast-teacher-controls/gulp/config.js +51 -0
  122. data/framework_components/roomcast-teacher-controls/gulp/tasks/browserify.js +77 -0
  123. data/framework_components/roomcast-teacher-controls/gulp/tasks/build.js +3 -0
  124. data/framework_components/roomcast-teacher-controls/gulp/tasks/css.js +7 -0
  125. data/framework_components/roomcast-teacher-controls/gulp/tasks/default.js +3 -0
  126. data/framework_components/roomcast-teacher-controls/gulp/tasks/fonts.js +7 -0
  127. data/framework_components/roomcast-teacher-controls/gulp/tasks/less.js +16 -0
  128. data/framework_components/roomcast-teacher-controls/gulp/tasks/mui-fonts.js +7 -0
  129. data/framework_components/roomcast-teacher-controls/gulp/tasks/nutella.js +7 -0
  130. data/framework_components/roomcast-teacher-controls/gulp/tasks/setWatch.js +5 -0
  131. data/framework_components/roomcast-teacher-controls/gulp/tasks/svgs.js +7 -0
  132. data/framework_components/roomcast-teacher-controls/gulp/tasks/watch.js +12 -0
  133. data/framework_components/roomcast-teacher-controls/gulp/util/bundleLogger.js +21 -0
  134. data/framework_components/roomcast-teacher-controls/gulp/util/handleErrors.js +15 -0
  135. data/framework_components/roomcast-teacher-controls/gulpfile.js +16 -0
  136. data/framework_components/roomcast-teacher-controls/index.html +51 -0
  137. data/framework_components/roomcast-teacher-controls/nutella.json +6 -0
  138. data/framework_components/roomcast-teacher-controls/package.json +38 -0
  139. data/framework_components/roomcast-teacher-controls/src/app/app.js +22 -0
  140. data/framework_components/roomcast-teacher-controls/src/app/components/ActivitiesGrid.js +87 -0
  141. data/framework_components/roomcast-teacher-controls/src/app/components/ActivityCard.js +141 -0
  142. data/framework_components/roomcast-teacher-controls/src/app/components/Channel.js +70 -0
  143. data/framework_components/roomcast-teacher-controls/src/app/components/Footer.js +34 -0
  144. data/framework_components/roomcast-teacher-controls/src/app/components/main.js +74 -0
  145. data/framework_components/roomcast-teacher-controls/src/less/main.less +186 -0
  146. data/framework_components/roomcast-teacher-controls/src/less/my_overrides.less +14 -0
  147. data/lib/commands/meta/run_command.rb +11 -9
  148. metadata +135 -2
@@ -13,165 +13,187 @@ puts 'Initializing RoomCast...'
13
13
  #channelsData_db = nutella.persist.get_json_object_store('channels-data')
14
14
 
15
15
  nutella.f.net.subscribe_to_all_runs('configs/update', lambda do |message, app_id, run_id, from|
16
+ new_configs = message
16
17
 
17
- new_configs = message
18
-
19
- puts 'configs/update:'
20
- puts new_configs
21
-
22
- # Update
23
- configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
24
- if new_configs != nil
25
- configs_db['configs'] = new_configs
26
- end
27
-
28
- puts 'Updated DB'
29
-
30
- # Notify Update
31
-
32
- # Notify change of all configs
33
- publish_configs_update(app_id, run_id, new_configs)
34
-
35
- # Notify possible change of current config
36
- configs = configs_db['configs']
37
- id = '%d' % configs_db['currentConfig']
38
- config = configs[id]
39
- publish_mapping_update(app_id, run_id, config['mapping'])
40
-
41
- end)
18
+ # Update
19
+ configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
20
+ if new_configs != nil
21
+ configs_db['configs'] = new_configs
22
+ end
23
+
24
+ # Notify change of all configs
25
+ publish_configs_update(app_id, run_id, new_configs)
26
+
27
+ # Notify possible change of current config
28
+ configs = configs_db['configs']
29
+ id = '%d' % configs_db['currentConfig']
30
+ if id == nil
31
+ id = 1
32
+ end
33
+ config = configs[id]
34
+ publish_mapping_update(app_id, run_id, config['mapping'])
35
+ end)
42
36
 
43
37
  nutella.f.net.handle_requests_on_all_runs('configs/retrieve', lambda do |request, app_id, run_id, from|
44
- puts 'request: ' + request
45
- reply = {}
46
- if request == {}
47
- reply
48
- elsif request == 'all'
49
- configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
50
- reply = configs_db['configs']
51
- puts reply
52
- reply
53
- end
54
- end)
38
+ reply = {}
39
+ if request == {}
40
+ reply
41
+ elsif request == 'all'
42
+ configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
43
+ reply = configs_db['configs']
44
+ if reply == nil
45
+ reply = {
46
+ "1"=> {
47
+ "name"=> "Default activity",
48
+ "mapping"=> [{
49
+ "family"=> "iPad",
50
+ "items"=> [{
51
+ "name"=> "",
52
+ "channels"=> []
53
+ }]
54
+ }, {
55
+ "family"=> "Mac",
56
+ "items"=> [{
57
+ "name"=> "",
58
+ "channels"=> []
59
+ }]
60
+ }]
61
+ }
62
+ }
63
+ configs_db['currentConfig'] = 1
64
+ end
65
+ reply
66
+ end
67
+ end)
55
68
 
56
69
  # 'mapping' is the current running configuration
57
70
  nutella.f.net.handle_requests_on_all_runs('mapping/retrieve', lambda do |request, app_id, run_id, from|
58
- puts 'request: ' + request
59
- reply = {}
60
- if request == {}
61
- reply
62
- elsif request == 'all'
63
- configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
64
- configs = configs_db['configs']
65
- id = '%d' % configs_db['currentConfig']
66
- config = configs[id]
67
- reply = config['mapping']
68
- puts reply
69
- reply
70
- end
71
- end)
71
+ reply = {}
72
+ if request == {}
73
+ reply
74
+ elsif request == 'all'
75
+ configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
76
+ if configs_db == nil
77
+ reply = []
78
+ else
79
+ configs = configs_db['configs']
80
+ id = '%d' % configs_db['currentConfig']
81
+ config = configs[id]
82
+ reply = config['mapping']
83
+ end
84
+ reply
85
+ end
86
+ end)
72
87
 
73
88
  nutella.f.net.subscribe_to_all_runs('currentConfig/update', lambda do |message, app_id, run_id, from|
89
+ new_config = message
74
90
 
75
- new_config = message
76
-
77
- puts 'currentConfig/update:'
78
- puts new_config
91
+ # Update
92
+ if new_config != nil
93
+ configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
94
+ configs_db['currentConfig'] = new_config
95
+ end
79
96
 
80
- # Update
81
- if new_config != nil
82
- configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
83
- configs_db['currentConfig'] = new_config
84
- end
85
-
86
- puts 'Updated DB'
87
-
88
- # Notify Update
89
- publish_current_config_update(app_id, run_id, new_config)
90
-
91
- end)
97
+ # Notify Update
98
+ publish_current_config_update(app_id, run_id, new_config)
99
+ end)
92
100
 
93
101
  # Reacts to updates to config id by publishing the updated mapping
94
- nutella.f.net.subscribe_to_all_runs('currentConfig/updated', lambda do |message, app_id, run_id, from|
95
-
96
- begin
97
- configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
98
- configs = configs_db['configs']
99
- id = '%d' % configs_db['currentConfig']
100
- config = configs[id]
101
- publish_switch_config(app_id, run_id, config['mapping'])
102
- rescue => exception
103
- puts exception
104
- puts exception.backtrace
105
- raise exception
106
- end
107
-
108
- end)
102
+ nutella.f.net.subscribe_to_all_runs('currentConfig/ack_updated', lambda do |message, app_id, run_id, from|
103
+ configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
104
+ configs = configs_db['configs']
105
+ id = '%d' % configs_db['currentConfig']
106
+ config = configs[id]
107
+ publish_switch_config(app_id, run_id, config['mapping'])
108
+
109
+ # Publish activity name on RoomCast API
110
+ activity_name = config['name']
111
+ publish_activity_update(app_id, run_id, activity_name)
112
+ end)
109
113
 
110
114
  nutella.f.net.handle_requests_on_all_runs('currentConfig/retrieve', lambda do |request, app_id, run_id, from|
111
- puts 'request: ' + request
112
- reply = {}
113
- configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
114
- reply = configs_db['currentConfig']
115
- puts reply
116
- reply
117
- end)
115
+ configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
116
+ reply = configs_db['currentConfig']
117
+ if reply == nil
118
+ reply = 1
119
+ end
120
+ reply
121
+ end)
118
122
 
119
123
  nutella.f.net.subscribe_to_all_runs('channels/update', lambda do |message, app_id, run_id, from|
124
+ new_channels = message
120
125
 
121
- new_channels = message
126
+ # Update
127
+ if new_channels != nil
128
+ channels_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'channels')
129
+ channels_db['channels'] = new_channels
130
+ end
122
131
 
123
- # Update
124
- if new_channels != nil
125
- channels_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'channels')
126
- channels_db['channels'] = new_channels
127
- end
128
-
129
- # Notify Update
130
- publish_channels_update(app_id, run_id, new_channels)
131
-
132
- end)
132
+ # Notify Update
133
+ publish_channels_update(app_id, run_id, new_channels)
134
+ end)
133
135
 
134
136
  nutella.f.net.handle_requests_on_all_runs('channels/retrieve', lambda do |request, app_id, run_id, from|
135
- reply = {}
136
- if request == {}
137
- reply
138
- elsif request == 'all'
139
- puts 'requesting channels'
140
- channels_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'channels')
141
- reply = channels_db['channels']
142
- puts reply
143
- reply
144
- end
145
- end)
137
+ reply = {}
138
+ if request == {}
139
+ reply
140
+ elsif request == 'all'
141
+ channels_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'channels')
142
+ reply = channels_db['channels']
143
+ if reply == nil
144
+ reply = {}
145
+ end
146
+ reply
147
+ end
148
+ end)
146
149
 
147
150
  def publish_configs_update(app_id, run_id, configs)
148
151
  nutella.f.net.publish_to_run(app_id, run_id, 'configs/updated', configs)
149
- puts 'Sent configs/updated'
150
152
  end
151
153
 
152
- # Sends the update config id
154
+ # Sends the updated config id
153
155
  def publish_current_config_update(app_id, run_id, config_id)
154
- nutella.f.net.publish_to_run(app_id, run_id, 'currentConfig/updated', config_id)
155
- puts 'Sent currentConfig/updated'
156
+ nutella.f.net.publish_to_run(app_id, run_id, 'currentConfig/ack_updated', config_id)
156
157
  end
157
158
 
158
159
  # Sends the whole new current configuration
159
160
  def publish_switch_config(app_id, run_id, mapping)
160
161
  nutella.f.net.publish_to_run(app_id, run_id, 'currentConfig/switched', mapping)
161
- puts 'Sent currentConfig/switched'
162
162
  end
163
163
 
164
164
  # Sends the current config (mapping), which might have been updated
165
165
  def publish_mapping_update(app_id, run_id, mapping)
166
166
  nutella.f.net.publish_to_run(app_id, run_id, 'mapping/updated', mapping)
167
- puts 'Sent mapping/updated'
168
167
  end
169
168
 
170
169
  def publish_channels_update(app_id, run_id, channels)
171
170
  nutella.f.net.publish_to_run(app_id, run_id, 'channels/updated', channels)
172
- puts 'Sent channels/updated'
173
171
  end
174
172
 
173
+ ################ RoomCast API ################
174
+
175
+ # Returns the name of the current running activity
176
+ nutella.f.net.handle_requests_on_all_runs('roomcast/activity', lambda do |request, app_id, run_id, from|
177
+ reply = {}
178
+ configs_db = nutella.f.persist.get_run_json_object_store(app_id, run_id, 'configs')
179
+ id = '%d' % configs_db['currentConfig']
180
+ if id != nil
181
+ configs = configs_db['configs']
182
+ if configs != nil
183
+ config = configs[id]
184
+ reply = config['name']
185
+ end
186
+ end
187
+ reply
188
+ end)
189
+
190
+ # Notifies a change of current running activity
191
+ def publish_activity_update(app_id, run_id, activity_name)
192
+ nutella.f.net.publish_to_run(app_id, run_id, 'roomcast/new_activity', activity_name)
193
+ end
194
+
195
+ ##############################################
196
+
175
197
  puts 'Initialization complete.'
176
198
 
177
199
  # Just sit there waiting for messages to come