rsence-pre 2.1.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (313) hide show
  1. data/.yardopts +10 -0
  2. data/INSTALL.rdoc +330 -0
  3. data/LICENSE.txt +622 -0
  4. data/README.rdoc +98 -0
  5. data/VERSION +1 -0
  6. data/bin/rsence +25 -0
  7. data/bin/rsence-pre +25 -0
  8. data/conf/default_conf.yaml +346 -0
  9. data/conf/default_strings.yaml +76 -0
  10. data/conf/rsence_command_strings.yaml +444 -0
  11. data/docs/ExampleGuiPlugin.rdoc +193 -0
  12. data/docs/JavascriptBundles.rdoc +0 -0
  13. data/docs/PluginBundleInfo.rdoc +173 -0
  14. data/docs/PluginBundles.rdoc +96 -0
  15. data/docs/Values.rdoc +163 -0
  16. data/js/comm/autosync/autosync.js +17 -0
  17. data/js/comm/autosync/js.inc +0 -0
  18. data/js/comm/comm.js +203 -0
  19. data/js/comm/js.inc +0 -0
  20. data/js/comm/jsloader/js.inc +0 -0
  21. data/js/comm/jsloader/jsloader.js +112 -0
  22. data/js/comm/queue/js.inc +0 -0
  23. data/js/comm/queue/queue.js +184 -0
  24. data/js/comm/session/js.inc +0 -0
  25. data/js/comm/session/session.js +52 -0
  26. data/js/comm/sessionwatcher/js.inc +0 -0
  27. data/js/comm/sessionwatcher/sessionwatcher.js +44 -0
  28. data/js/comm/transporter/js.inc +0 -0
  29. data/js/comm/transporter/transporter.js +261 -0
  30. data/js/comm/urlresponder/js.inc +0 -0
  31. data/js/comm/urlresponder/urlresponder.js +149 -0
  32. data/js/comm/values/js.inc +0 -0
  33. data/js/comm/values/values.js +433 -0
  34. data/js/controls/button/button.js +72 -0
  35. data/js/controls/button/js.inc +0 -0
  36. data/js/controls/button/themes/bright/button.css +89 -0
  37. data/js/controls/button/themes/bright/button.html +7 -0
  38. data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
  39. data/js/controls/button/themes/bright/button_parts1.png +0 -0
  40. data/js/controls/button/themes/default/button.css +89 -0
  41. data/js/controls/button/themes/default/button.html +7 -0
  42. data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
  43. data/js/controls/button/themes/default/button_parts1.png +0 -0
  44. data/js/controls/checkbox/checkbox.js +49 -0
  45. data/js/controls/checkbox/js.inc +0 -0
  46. data/js/controls/checkbox/themes/default/checkbox.css +69 -0
  47. data/js/controls/checkbox/themes/default/checkbox.html +5 -0
  48. data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
  49. data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
  50. data/js/controls/dialogs/alert_sheet/alert_sheet.js +63 -0
  51. data/js/controls/dialogs/alert_sheet/js.inc +0 -0
  52. data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +37 -0
  53. data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
  54. data/js/controls/dialogs/sheet/js.inc +0 -0
  55. data/js/controls/dialogs/sheet/sheet.js +84 -0
  56. data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
  57. data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
  58. data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
  59. data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
  60. data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
  61. data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
  62. data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
  63. data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
  64. data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
  65. data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
  66. data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
  67. data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
  68. data/js/controls/imageview/imageview.js +109 -0
  69. data/js/controls/imageview/js.inc +0 -0
  70. data/js/controls/imageview/themes/default/blank.gif +0 -0
  71. data/js/controls/passwordcontrol/js.inc +0 -0
  72. data/js/controls/passwordcontrol/passwordcontrol.js +23 -0
  73. data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
  74. data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
  75. data/js/controls/progress/progressbar/js.inc +0 -0
  76. data/js/controls/progress/progressbar/progressbar.js +40 -0
  77. data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
  78. data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
  79. data/js/controls/progress/progressindicator/js.inc +0 -0
  80. data/js/controls/progress/progressindicator/progressindicator.js +44 -0
  81. data/js/controls/radiobutton/js.inc +0 -0
  82. data/js/controls/radiobutton/radiobutton.js +43 -0
  83. data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
  84. data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
  85. data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
  86. data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
  87. data/js/controls/sliders/slider/js.inc +0 -0
  88. data/js/controls/sliders/slider/slider.js +357 -0
  89. data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
  90. data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
  91. data/js/controls/sliders/slider/themes/default/slider.css +108 -0
  92. data/js/controls/sliders/slider/themes/default/slider.html +5 -0
  93. data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
  94. data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
  95. data/js/controls/sliders/vslider/js.inc +0 -0
  96. data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
  97. data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
  98. data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
  99. data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
  100. data/js/controls/sliders/vslider/vslider.js +41 -0
  101. data/js/controls/stepper/js.inc +0 -0
  102. data/js/controls/stepper/stepper.js +213 -0
  103. data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
  104. data/js/controls/stepper/themes/default/stepper.css +14 -0
  105. data/js/controls/stepper/themes/default/stepper.html +2 -0
  106. data/js/controls/stepper/themes/default/stepper.png +0 -0
  107. data/js/controls/stringview/js.inc +0 -0
  108. data/js/controls/stringview/stringview.js +49 -0
  109. data/js/controls/stringview/themes/default/stringview.css +8 -0
  110. data/js/controls/stringview/themes/default/stringview.html +1 -0
  111. data/js/controls/tab/js.inc +0 -0
  112. data/js/controls/tab/tab.js +280 -0
  113. data/js/controls/tab/themes/bright/tab.css +76 -0
  114. data/js/controls/tab/themes/bright/tab.html +6 -0
  115. data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
  116. data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
  117. data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
  118. data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
  119. data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
  120. data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
  121. data/js/controls/tab/themes/default/tab.css +77 -0
  122. data/js/controls/tab/themes/default/tab.html +6 -0
  123. data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
  124. data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
  125. data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
  126. data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
  127. data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
  128. data/js/controls/tab/themes/default/tab_parts1.png +0 -0
  129. data/js/controls/textarea/js.inc +0 -0
  130. data/js/controls/textarea/textarea.js +24 -0
  131. data/js/controls/textarea/themes/default/textarea.css +21 -0
  132. data/js/controls/textarea/themes/default/textarea.html +18 -0
  133. data/js/controls/textcontrol/js.inc +0 -0
  134. data/js/controls/textcontrol/textcontrol.js +374 -0
  135. data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
  136. data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
  137. data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
  138. data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
  139. data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
  140. data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
  141. data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
  142. data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
  143. data/js/controls/uploader/js.inc +0 -0
  144. data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
  145. data/js/controls/uploader/themes/default/uploader.css +108 -0
  146. data/js/controls/uploader/themes/default/uploader.html +27 -0
  147. data/js/controls/uploader/uploader.js +154 -0
  148. data/js/controls/validatorview/js.inc +0 -0
  149. data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
  150. data/js/controls/validatorview/themes/default/validator.png +0 -0
  151. data/js/controls/validatorview/themes/default/validatorview.css +0 -0
  152. data/js/controls/validatorview/themes/default/validatorview.html +0 -0
  153. data/js/controls/validatorview/validatorview.js +62 -0
  154. data/js/controls/window/js.inc +0 -0
  155. data/js/controls/window/themes/default/window.css +219 -0
  156. data/js/controls/window/themes/default/window.html +17 -0
  157. data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
  158. data/js/controls/window/themes/default/window_bg_active.png +0 -0
  159. data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
  160. data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
  161. data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
  162. data/js/controls/window/themes/default/window_buttons.png +0 -0
  163. data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
  164. data/js/controls/window/themes/default/window_parts1.png +0 -0
  165. data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
  166. data/js/controls/window/themes/default/window_parts2.png +0 -0
  167. data/js/controls/window/window.js +286 -0
  168. data/js/core/class/class.js +318 -0
  169. data/js/core/class/js.inc +0 -0
  170. data/js/core/elem/elem.js +1383 -0
  171. data/js/core/elem/js.inc +0 -0
  172. data/js/core/event/event.js +153 -0
  173. data/js/core/event/js.inc +0 -0
  174. data/js/core/iefix/ie_css_element.htc +5 -0
  175. data/js/core/iefix/ie_css_style.htc +5 -0
  176. data/js/core/iefix/iefix.js +359 -0
  177. data/js/core/iefix/js.inc +0 -0
  178. data/js/core/rsence_ns/js.inc +0 -0
  179. data/js/core/rsence_ns/rsence_ns.js +21 -0
  180. data/js/datetime/calendar/calendar.js +198 -0
  181. data/js/datetime/calendar/js.inc +0 -0
  182. data/js/datetime/calendar/themes/default/calendar.css +108 -0
  183. data/js/datetime/calendar/themes/default/calendar.html +9 -0
  184. data/js/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
  185. data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
  186. data/js/datetime/datetimevalue/datetimevalue.js +247 -0
  187. data/js/datetime/datetimevalue/js.inc +0 -0
  188. data/js/datetime/timesheet/js.inc +0 -0
  189. data/js/datetime/timesheet/themes/default/timesheet.css +30 -0
  190. data/js/datetime/timesheet/themes/default/timesheet.html +2 -0
  191. data/js/datetime/timesheet/timesheet.js +183 -0
  192. data/js/datetime/timesheet_item/js.inc +0 -0
  193. data/js/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
  194. data/js/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
  195. data/js/datetime/timesheet_item/timesheet_item.js +248 -0
  196. data/js/datetime/timesheet_item_edit/js.inc +0 -0
  197. data/js/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
  198. data/js/foundation/application/application.js +208 -0
  199. data/js/foundation/application/js.inc +0 -0
  200. data/js/foundation/control/control.js +339 -0
  201. data/js/foundation/control/controldefaults/controldefaults.js +56 -0
  202. data/js/foundation/control/controldefaults/js.inc +0 -0
  203. data/js/foundation/control/dummyvalue/dummyvalue.js +51 -0
  204. data/js/foundation/control/dummyvalue/js.inc +0 -0
  205. data/js/foundation/control/dyncontrol/dyncontrol.js +500 -0
  206. data/js/foundation/control/dyncontrol/js.inc +0 -0
  207. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
  208. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
  209. data/js/foundation/control/eventresponder/eventresponder.js +750 -0
  210. data/js/foundation/control/eventresponder/js.inc +0 -0
  211. data/js/foundation/control/js.inc +0 -0
  212. data/js/foundation/control/valuematrix/js.inc +0 -0
  213. data/js/foundation/control/valuematrix/valuematrix.js +135 -0
  214. data/js/foundation/control/valueresponder/js.inc +0 -0
  215. data/js/foundation/control/valueresponder/valueresponder.js +79 -0
  216. data/js/foundation/eventmanager/eventmanager.js +991 -0
  217. data/js/foundation/eventmanager/js.inc +0 -0
  218. data/js/foundation/geom/point/js.inc +0 -0
  219. data/js/foundation/geom/point/point.js +202 -0
  220. data/js/foundation/geom/rect/js.inc +0 -0
  221. data/js/foundation/geom/rect/rect.js +651 -0
  222. data/js/foundation/json_renderer/js.inc +0 -0
  223. data/js/foundation/json_renderer/json_renderer.js +246 -0
  224. data/js/foundation/system/js.inc +0 -0
  225. data/js/foundation/system/system.js +381 -0
  226. data/js/foundation/thememanager/js.inc +0 -0
  227. data/js/foundation/thememanager/thememanager.js +393 -0
  228. data/js/foundation/value/js.inc +0 -0
  229. data/js/foundation/value/value.js +183 -0
  230. data/js/foundation/view/js.inc +0 -0
  231. data/js/foundation/view/markupview/js.inc +0 -0
  232. data/js/foundation/view/markupview/markupview.js +114 -0
  233. data/js/foundation/view/morphanimation/js.inc +0 -0
  234. data/js/foundation/view/morphanimation/morphanimation.js +237 -0
  235. data/js/foundation/view/view.js +1812 -0
  236. data/js/foundation/view/viewdefaults/js.inc +0 -0
  237. data/js/foundation/view/viewdefaults/viewdefaults.js +26 -0
  238. data/js/lists/checkboxlist/checkboxlist.js +171 -0
  239. data/js/lists/checkboxlist/js.inc +0 -0
  240. data/js/lists/listitems/js.inc +0 -0
  241. data/js/lists/listitems/listitems.js +88 -0
  242. data/js/lists/propertylist/js.inc +0 -0
  243. data/js/lists/propertylist/propertylist.js +326 -0
  244. data/js/lists/radiobuttonlist/js.inc +0 -0
  245. data/js/lists/radiobuttonlist/radiobuttonlist.js +116 -0
  246. data/js/util/reloadapp/js.inc +0 -0
  247. data/js/util/reloadapp/reloadapp.js +152 -0
  248. data/js/util/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
  249. data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
  250. data/js/util/sha/js.inc +0 -0
  251. data/js/util/sha/sha.js +426 -0
  252. data/js/views/centerview/centerview.js +75 -0
  253. data/js/views/centerview/js.inc +0 -0
  254. data/js/views/inlineview/inlineview.js +15 -0
  255. data/js/views/inlineview/js.inc +0 -0
  256. data/js/views/scrollview/js.inc +0 -0
  257. data/js/views/scrollview/scrollview.js +40 -0
  258. data/lib/conf/argv.rb +850 -0
  259. data/lib/conf/default.rb +219 -0
  260. data/lib/daemon/daemon.rb +387 -0
  261. data/lib/daemon/sigcomm.rb +64 -0
  262. data/lib/http/broker.rb +150 -0
  263. data/lib/http/rackup.rb +91 -0
  264. data/lib/http/request.rb +66 -0
  265. data/lib/http/response.rb +65 -0
  266. data/lib/plugins/dependencies.rb +285 -0
  267. data/lib/plugins/gui_plugin.rb +160 -0
  268. data/lib/plugins/guiparser.rb +123 -0
  269. data/lib/plugins/plugin.rb +438 -0
  270. data/lib/plugins/plugin_base.rb +162 -0
  271. data/lib/plugins/plugin_plugins.rb +81 -0
  272. data/lib/plugins/plugin_sqlite_db.rb +98 -0
  273. data/lib/plugins/pluginmanager.rb +635 -0
  274. data/lib/plugins/plugins.rb +169 -0
  275. data/lib/plugins/servlet.rb +108 -0
  276. data/lib/rsence.rb +32 -0
  277. data/lib/session/msg.rb +327 -0
  278. data/lib/session/sessionmanager.rb +522 -0
  279. data/lib/session/sessionstorage.rb +340 -0
  280. data/lib/transporter/transporter.rb +263 -0
  281. data/lib/util/gzstring.rb +9 -0
  282. data/lib/util/ruby19_fixes.rb +18 -0
  283. data/lib/values/hvalue.rb +378 -0
  284. data/lib/values/valuemanager.rb +172 -0
  285. data/plugins/client_pkg/client_pkg.rb +157 -0
  286. data/plugins/client_pkg/info.yaml +25 -0
  287. data/plugins/client_pkg/lib/client_pkg_build.rb +561 -0
  288. data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
  289. data/plugins/client_pkg/lib/client_pkg_serve.rb +218 -0
  290. data/plugins/index_html/img/loading.gif +0 -0
  291. data/plugins/index_html/img/riassence.gif +0 -0
  292. data/plugins/index_html/index_html.rb +120 -0
  293. data/plugins/index_html/info.yaml +18 -0
  294. data/plugins/index_html/tmpl/index.html +15 -0
  295. data/plugins/main/info.yaml +18 -0
  296. data/plugins/main/js/main.js +84 -0
  297. data/plugins/main/main.rb +255 -0
  298. data/plugins/main/values.yaml +8 -0
  299. data/plugins/ticket/info.yaml +21 -0
  300. data/plugins/ticket/lib/common.rb +392 -0
  301. data/plugins/ticket/lib/favicon.rb +39 -0
  302. data/plugins/ticket/lib/file.rb +58 -0
  303. data/plugins/ticket/lib/img.rb +50 -0
  304. data/plugins/ticket/lib/objblob.rb +66 -0
  305. data/plugins/ticket/lib/rsrc.rb +34 -0
  306. data/plugins/ticket/lib/upload.rb +236 -0
  307. data/plugins/ticket/ticket.rb +333 -0
  308. data/setup/welcome/gui/welcome.yaml +92 -0
  309. data/setup/welcome/info.yaml +13 -0
  310. data/setup/welcome/text/welcome.html +9 -0
  311. data/setup/welcome/values.yaml +9 -0
  312. data/setup/welcome/welcome.rb +54 -0
  313. metadata +407 -0
data/README.rdoc ADDED
@@ -0,0 +1,98 @@
1
+
2
+ = RSence-2.0.0[http://rsence.org/]
3
+
4
+ == Introduction
5
+
6
+ RSence is a RIA framework designed for responsive GUI applications on the web; it's implemented as a hybrid Ruby - Javascript system. The server is written in Ruby and C. Applications are installed as plugin bundles. The GUI framework is written in Javascript; it doesn't strictly require the server, but has extensive transport support with automatic data synchronization with the server. User interfaces are usually described in structured view trees represented by YAML data structures, which are automatically converted for rendering in the client.
7
+
8
+ Javascript knowledge is required only when creating custom client-driven functionality; basic understanding of the YAML GUITree structures is enough in most cases. Likewise, no Ruby knowledge is needed if you want to create stand-alone Javascript applitations. Javascript component themes are easily created with just basic web designer skills. Data API's are easy to link no matter what language is used to create them. Skills in your organization are easily combined for various parts of larger applications.
9
+
10
+ RSence is not primarily targeted as an engine for plain old html web sites, there are plenty of other tools for that purpose and RSence is easily integrated with them in various ways.
11
+
12
+
13
+ == Installing
14
+ Just run this command in the shell, if you have ruby installed. Otherwise, read the {file:INSTALL Install Guide} for full installation instructions.
15
+ gem install rsence
16
+
17
+
18
+ == Initializing a new project
19
+
20
+ The +initenv+ command will cretate a directory called `env_dir` in this example. It asks a few questions about the environment. Use a path and project name that matches your purposes.
21
+ rsence initenv /home/me/rsence_projects/env_dir
22
+
23
+
24
+ == Project environment structure
25
+
26
+ ==== The basic structure of a project environment (where `env_dir` is the directory of your project) is:
27
+
28
+ *dir* :: +env_dir/+ :: The environment directory of your project.
29
+ *file* :: +env_dir/conf/config.yaml+ :: The configuration file to load by default. It extends the {file:default_conf default configuration}.
30
+ *dir* :: +env_dir/run/+ :: This default directory for runtime files, like the PID file of the running rsence instance.
31
+ *dir* :: +env_dir/log/+ :: The default directory for log files. +rsence.stderr+ contains error output of the RSence server daemon and installed plugins, including warnings. +rsence.stdout+ contains the standard output of the RSence server daemon and installed plugins.
32
+ *dir* :: +env_dir/db/+ :: The default directory for database files. +ses.db+ is the standard SQLite session database, if enabled.
33
+ *dir* :: +env_dir/plugins/+ :: The default directory for installed plugin bundles. A newly initialized environment includes the +welcome+ plugin. Feel free to remove it.
34
+ *file* :: +env_dir/VERSION+ :: The version of RSence used to initialize the environment. Reserved for future upgrade usage.
35
+ *file* :: +env_dir/README+ :: A README file template. Describes what the `env_dir` is about. Edit it to match your project.
36
+
37
+ === Configuration file loading order
38
+ The configuration files are loaded and applied in this order:
39
+ 1. *rsence_gem_path*/conf/default_conf.yaml
40
+ 2. *rsence_gem_path*/conf/local_conf.yaml
41
+ 3. /etc/rsence/config.yaml
42
+ 4. ~/.rsence/config.yaml
43
+ 5. *env_dir*/conf/config.yaml
44
+ 6. Any files given using +--conf+ arguments, in order of occurrence.
45
+
46
+ Use the additional configuration files to match system- or user-specific configurations that are common for all projects.
47
+
48
+ == Running a project
49
+
50
+ Each command-line tool command takes a number of options, the +env_dir+ argument defaults to the current working directory, otherwise specify the relative or full path to your project environment.
51
+
52
+ ==== Some common options are:
53
+ +-a+:: Automatic updates. RSence reloads automatically changed plugin bundles and client libraries.
54
+ +-f+:: Doesn't redirect the standard output into a log file. Useful for development when combined with the +run+ command.
55
+ +-d+:: Debug mode. Like +-a+ but much more verbose and doesn't obfuscate client data.
56
+
57
+ === Running RSence in foreground
58
+ rsence run [options] [env_dir]
59
+
60
+ === Starting the RSence daemon
61
+ rsence start [options] [env_dir]
62
+
63
+ === Stopping the RSence daemon
64
+ rsence stop [options] [env_dir]
65
+
66
+ === Restarting the RSence daemon
67
+ rsence restart [options] [env_dir]
68
+
69
+ === Checking if project is running
70
+ rsence status [options] [env_dir]
71
+
72
+ === Example:
73
+ rsence run -af /home/me/projects/hello_world
74
+
75
+ == RSence command-line tool help
76
+
77
+ === Lists all available commands
78
+ rsence help
79
+
80
+ === Getting detailed help of a command
81
+ rsence help <command>
82
+
83
+ === Example:
84
+
85
+ rsence help run
86
+
87
+
88
+ For more detailed installation and usage instructions, read the {file:INSTALL Install Guide} document.
89
+
90
+ === Licensing and commercial support options
91
+ * {file:LICENSE.txt *GPL*} version 3 by default.
92
+ * Riassence[http://riassence.com/] Inc. provides commercial support, custom licensing arrangements and various other services.
93
+
94
+ === Community support
95
+ * http://rsence.org
96
+ * IRC channel +#rsence+ on the IRCNet and FreeNode networks
97
+
98
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 2.1.0.1.pre
data/bin/rsence ADDED
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+ ## RSence
3
+ # Copyright 2010 Riassence Inc.
4
+ # http://riassence.com/
5
+ #
6
+ # You should have received a copy of the GNU General Public License along
7
+ # with this software package. If not, contact licensing@riassence.com
8
+ ##
9
+
10
+
11
+ require 'profile' if ARGV.include?('--profile')
12
+
13
+ # @private Auto-construct paths using this file as the waypoint
14
+ SERVER_PATH = File.split( File.expand_path(File.dirname(__FILE__)) )[0]
15
+
16
+ # Include server & lib in the search path
17
+ $LOAD_PATH << SERVER_PATH
18
+ $LOAD_PATH << File.join( SERVER_PATH, 'lib' )
19
+
20
+ require 'rsence'
21
+
22
+ # Start RSence, if the command supplied was one of the ones
23
+ # triggering a start and the environment is ok.
24
+ RSence.startup if RSence.startable?
25
+
data/bin/rsence-pre ADDED
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/env ruby
2
+ ## RSence
3
+ # Copyright 2010 Riassence Inc.
4
+ # http://riassence.com/
5
+ #
6
+ # You should have received a copy of the GNU General Public License along
7
+ # with this software package. If not, contact licensing@riassence.com
8
+ ##
9
+
10
+
11
+ require 'profile' if ARGV.include?('--profile')
12
+
13
+ # @private Auto-construct paths using this file as the waypoint
14
+ SERVER_PATH = File.split( File.expand_path(File.dirname(__FILE__)) )[0]
15
+
16
+ # Include server & lib in the search path
17
+ $LOAD_PATH << SERVER_PATH
18
+ $LOAD_PATH << File.join( SERVER_PATH, 'lib' )
19
+
20
+ require 'rsence'
21
+
22
+ # Start RSence, if the command supplied was one of the ones
23
+ # triggering a start and the environment is ok.
24
+ RSence.startup if RSence.startable?
25
+
@@ -0,0 +1,346 @@
1
+ #### Server configuration
2
+ #
3
+ # The :base_url specifies the prefix for all default http responders.
4
+ :base_url: '/'
5
+ #
6
+ # This setting defines if requests should be gzip-compressed or not.
7
+ # This is a trade-off between cpu cycles used and network bandwidth used.
8
+ # It's generally a good idea to leave it as false (gzipping enabled).
9
+ :no_gzip: false
10
+ #
11
+ # Enabling this appends all msg.reply call output to stdout
12
+ :trace: false
13
+ #
14
+ # The settings for the index_html plugin
15
+ :index_html:
16
+ #
17
+ # HTML template file path relative to the plugin dir
18
+ :index_tmpl: 'tmpl/index.html'
19
+ #
20
+ # The index.html page <title>
21
+ :title: 'RSence'
22
+ #
23
+ :noscript: '<h1>Sorry!</h1><p>This site requires a Javascript -capable web browser.</p><p>Please enable Javascript or upgrade your browser.</p>'
24
+ #
25
+ :instance: null
26
+ #
27
+ # A list of javascript dependencies to include in the html
28
+ :deps: [ ]
29
+ #
30
+ # The settings for the main plugin
31
+ :main_plugin:
32
+ #
33
+ # The background color of the web page when loading is done
34
+ :bg_color: '#ffffff'
35
+ #
36
+ # how many milliseconds to wait before doing an idle poll
37
+ :server_poll_interval: 2000 # 2 seconds
38
+ #
39
+ # Switches on debug-mode:
40
+ # - Generates more output
41
+ # - Each time /hello is post-requested:
42
+ # - Plugins are reloaded from source
43
+ # - GZFiles are reloaded (if more recent than in memory)
44
+ :debug_mode: false
45
+ #
46
+ # Web server-related settings:
47
+ :http_server:
48
+ #
49
+ # Simulate network latency. Good for testing how your
50
+ # app behaves with laggy connections.
51
+ :latency: 0
52
+ #
53
+ # HTTP Port number to listen to.
54
+ :port: 8001
55
+ #
56
+ # Bind this ip address ('0.0.0.0' means all)
57
+ :bind_address: '0.0.0.0'
58
+ #
59
+ # Rack handler to use, defaults to thin
60
+ :rack_require: mongrel
61
+ #
62
+ # When enabled, sets http cache headers
63
+ # to cache content as long as possible.
64
+ :cache_maximize: true
65
+ #
66
+ # When :cache_maximize is enabled,
67
+ # this is the time (in seconds) the cached
68
+ # content will expire in
69
+ :cache_expire: 14515200 # 6 months
70
+ #
71
+ # Paths to scan for available plugins
72
+ :plugin_paths: [ ]
73
+ #
74
+ # List of files that include strings
75
+ :string_files: [
76
+ "conf/default_strings.yaml"
77
+ ]
78
+ #
79
+ # Transporter settings:
80
+ :transporter_conf:
81
+ #
82
+ # The HApplication priority of the client, when actively polling.
83
+ :client_poll_priority: 60
84
+ #
85
+ #
86
+ # Session-related settings
87
+ :session_conf:
88
+ #
89
+ # Enable cookie-based sessions
90
+ :session_cookies: true
91
+ #
92
+ # Trusting the cookies means ignoring the client protocol session key exchange.
93
+ # Enabled by default, because in most cases, extreme security measures aren't necessary
94
+ # and the drawback of having an invalid session because a tcp packet got lost isn't
95
+ # tolerable as a default setting.
96
+ :trust_cookies: true
97
+ #
98
+ # The comment string in the session cookie
99
+ :ses_cookie_comment: "RSence Session Key"
100
+ #
101
+ # Disposable keys. When enabled, runs in a more secure way and changes the session key on each xhr.
102
+ :disposable_keys: true
103
+ #
104
+ # Timeout controls how long a session is valid
105
+ :timeout_secs: 900 # 15 minutes
106
+ #
107
+ # Key length controls the length of the random-part of the key.
108
+ :key_length: 12
109
+ #
110
+ # Cookie keys are this many times longer than xhr keys
111
+ :cookie_key_multiplier: 2
112
+ #
113
+ #
114
+ # When enabled, deletes all old sessions upon server startup.
115
+ # If the --reset-sessions command-line switch is provided,
116
+ # switches this one to true.
117
+ :reset_sessions: false
118
+ #
119
+ # When this is enabled, multiple sessions are allowed for each client
120
+ # When it's enabled, the old session is left intact and a new one is
121
+ # created by making a clone of the last session.
122
+ # If enabled, also check the maximum number of clones allowed in
123
+ # :session_cookie_max_clones
124
+ # Defaults to false, will be the default in a future version.
125
+ :clone_cookie_sessions: true
126
+ #
127
+ # This limits the amount of cloned targets of a source session.
128
+ # NOTE: This has no effect yet, the code is not implemented.
129
+ :max_cloned_sessions: 10
130
+ #
131
+ # This option overrides the default session timeout.
132
+ # Don't set this to less than the expected poll interval,
133
+ # otherwise the session might expire before the previous
134
+ # (cloned) session re-connects the next time.
135
+ # A safe value for a 60 second poll interval is 120 (default).
136
+ :cloned_session_expires_in: 120
137
+ #
138
+ # Message strings
139
+ :messages:
140
+ #
141
+ # if the session is invalid for one reason or another, display this:
142
+ :invalid_session:
143
+ :title: 'Invalid Session'
144
+ :descr: 'Your session is invalid. Please reload the page to continue.'
145
+ :uri: '/'
146
+ #
147
+ # Database configuration
148
+ :database:
149
+ # Session database storage string. Leave empty here to enable the wizard for storage.
150
+ :ses_db: 'sqlite://db/ses.db'
151
+
152
+ #
153
+ # ValueManager settings
154
+ :values_conf:
155
+ # Key length controls the length of the random-part of the key.
156
+ :key_length: 8
157
+ #
158
+ # Disposable keys, when enabled, changes the value id on each session restoration
159
+ :disposable_keys: true
160
+ #
161
+ # Daemon helper files, leave empty for defaults.
162
+ :daemon: {
163
+ #:pid_fn: /var/run/rsence.pid
164
+ #:log_fn: /var/log/rsence.log
165
+ }
166
+ #
167
+ # Entered by code, empty container
168
+ :broker_urls: { }
169
+
170
+
171
+ #### Client package build configuration
172
+ #
173
+ #
174
+ :client_pkg:
175
+
176
+ # Source directories to scan
177
+ :src_dirs: []
178
+
179
+ # RSence Client Framework
180
+ #- js
181
+
182
+ # How to include your own custom js package directory:
183
+ # - /home/me/code/extra_components
184
+
185
+ # List of theme names to include and pack
186
+ :theme_names:
187
+ - default # Makes default_theme.js containing css and html templates
188
+ - bright # Makes bright_theme.js containing css and html templates
189
+
190
+ # List of packages to build
191
+ :packages:
192
+
193
+ # The core package, loaded by default using a script tag in index_html
194
+ core:
195
+
196
+ # RSence.*
197
+ - rsence_ns
198
+
199
+ # RSence.Core
200
+ - class # HClass
201
+ - elem # ELEM
202
+ - event # Event
203
+
204
+ # RSence.Util
205
+ - sha # SHA
206
+
207
+ # RSence.Foundation
208
+ - system # HSystem
209
+ - valueresponder # HValueResponder
210
+ - application # HApplication
211
+
212
+ # COMM
213
+ - comm # COMM
214
+ - queue # COMM.Queue
215
+ - session # COMM.Session
216
+ - transporter # COMM.Transporter
217
+ - sessionwatcher # COMM.SessionWatcher
218
+ - urlresponder # COMM.URLResponder
219
+ - autosync # ( automatic sync setup )
220
+ - values # COMM.Values
221
+ - value # HValue
222
+ - jsloader # COMM.JSLoader
223
+ - json_renderer # COMM.JSONRenderer
224
+ - valuematrix # HValueMatrixInterface & HValueMatrix
225
+ - point # HPoint
226
+ - rect # HRect
227
+ - thememanager # HThemeManager
228
+ - markupview # HMarkupView
229
+ - morphanimation # HMorphAnimation
230
+ - viewdefaults # HViewDefaults
231
+ - view # HView
232
+ - eventresponder # HEventResponder
233
+ - dummyvalue # HDummyValue
234
+ - eventmanager # EVENT
235
+ - controldefaults # HControlDefaults
236
+ - control # HControl
237
+ - dyncontrol # HDynControl
238
+ - centerview # HCenterView
239
+ - scrollview # HScrollView
240
+ - inlineview # HInlineView
241
+
242
+ # The default collection of simple control widgets (components)
243
+ controls:
244
+ - button # HButton & HClickValueButton
245
+ - checkbox # HCheckbox
246
+ - radiobutton # HRadioButton
247
+ - stringview # HStringView
248
+ - textcontrol # HTextControl
249
+ - passwordcontrol # HPasswordControl
250
+ - textarea # HTextArea
251
+ - uploader # HUploader
252
+ - slider # HSlider
253
+ - vslider # HVSlider
254
+ - progressbar # HProgressBar
255
+ - progressindicator # HProgressIndicator
256
+ - imageview # HImageView
257
+ - stepper # HStepper
258
+ - validatorview # HValidatorView
259
+ - window # HWindow
260
+ - tab # HTab & HTabView & HTabItem
261
+ - sheet # HSheet
262
+ - alert_sheet # HAlertSheet
263
+ - confirm_sheet # HConfirmSheet
264
+
265
+ # Server error message application ( the Reload / Reset Session dialog )
266
+ servermessage:
267
+ - reloadapp # ReloadApp
268
+
269
+ # Special package for Internet Explorer 6.0
270
+ iefix:
271
+ - iefix
272
+
273
+ # Date and time -related control widgets (components)
274
+ # These are not complete; they are still under development
275
+ # and will be included in the controls package when finalized.
276
+ datetime:
277
+ - datetimevalue # HDateTime
278
+ - calendar # HCalendar
279
+ - timesheet # HTimeSheet
280
+ - timesheet_item # HTimeSheetItem
281
+ - timesheet_item_edit # HTimeSheetItemEditor
282
+
283
+ # List related control widgets (components)
284
+ # These are not complete; they are still under development
285
+ # and will be included in the controls package when finalized.
286
+ lists:
287
+ - listitems # HListItems
288
+ - checkboxlist # HCheckboxList
289
+ - radiobuttonlist # HRadiobuttonList
290
+ - propertylist # HPropertyList
291
+
292
+ # Special packages that include other packages (not used currently)
293
+ :compound_packages:
294
+ allinone:
295
+ - core
296
+ - default_theme
297
+ - controls
298
+ - lists
299
+ - datetime
300
+
301
+ # List of variables and other names beginning
302
+ # with a underscore that should not be obfuscated
303
+ :reserved_names:
304
+ - _ID
305
+ - _WIDTH
306
+ - _width
307
+ - _HEIGHT
308
+ - _height
309
+ - _
310
+
311
+ # List of file extensions considered graphics image types.
312
+ # Used for theme graphics inclusion.
313
+ :gfx_formats:
314
+ - .jpg
315
+ - .gif
316
+ - .png
317
+ - .swf
318
+ - .svg
319
+ - .pdf
320
+
321
+ # The name of the include file
322
+ :js_inc: js.inc
323
+
324
+ # If disabled, makes packages out of single source bundles automatically
325
+ :dont_pack_undefined: true
326
+
327
+ # Replacement prefix for obfuscated names
328
+ :repl_prefix: _
329
+
330
+ # If enabled, doesn't obfuscate code (useful for debugging)
331
+ :no_obfuscation: false
332
+
333
+ # If enabled, doesn't remove whitespace (useful for debugging)
334
+ :no_whitespace_removal: false
335
+
336
+ # If enabled, doesn't make gzipped packages
337
+ :no_gzip: false
338
+
339
+ # The strategy for gzip, a number between 0 and 9
340
+ # - 0 means largest size, but fast compression
341
+ # - 9 means smallest size, but slow compression
342
+ # - any number in between is a compromise
343
+ :gz_strategy: 9
344
+
345
+
346
+
@@ -0,0 +1,76 @@
1
+
2
+ # Default string configuration file
3
+
4
+ # System message strings
5
+ :messages:
6
+
7
+ :transporter:
8
+ #
9
+ # If the client fails on javascript, display this:
10
+ :client_error:
11
+ :title: 'ClientError'
12
+ :descr: 'Javascript execution error:'
13
+ :uri: '/'
14
+ #
15
+ # If the filecache fails, display this:
16
+ :filecache_error:
17
+ :title: 'FileCacheError'
18
+ :descr: 'FileCache failed with error:'
19
+ :uri: '/'
20
+ #
21
+ # If the plugins rescan fails, display this:
22
+ :plugins_rescan_error:
23
+ :title: 'PluginsRescanError'
24
+ :descr: 'The initialization of a plugin failed with error:'
25
+ :uri: '/'
26
+ #
27
+ # If the plugins rescan fails, display this:
28
+ :valuemanager_xhr_error:
29
+ :title: 'ValueSyncError'
30
+ :descr: 'Data value synchronization failed with error:'
31
+ :uri: '/'
32
+ #
33
+ # If the plugins rescan fails, display this:
34
+ :valuemanager_validate_error:
35
+ :title: 'ValueValidationError'
36
+ :descr: 'The value validation failed with error:'
37
+ :uri: '/'
38
+ #
39
+ # If the plugins rescan fails, display this:
40
+ :valuemanager_sync_client_error:
41
+ :title: 'SyncClientError'
42
+ :descr: 'The value synchronization to the client failed with error:'
43
+ :uri: '/'
44
+ #
45
+ # If the plugins rescan fails, display this:
46
+ :plugin_delegate_restore_ses_error:
47
+ :title: 'RestoreSesError'
48
+ :descr: 'The plugin delegation process for restore_ses failed with error:'
49
+ :uri: '/'
50
+ #
51
+ # If the plugins rescan fails, display this:
52
+ :plugin_delegate_init_ses_error:
53
+ :title: 'InitSesError'
54
+ :descr: 'The plugin delegation process for init_ses failed with error:'
55
+ :uri: '/'
56
+ #
57
+ # If the plugins delegation of the cloned_target event fails, display this:
58
+ :plugin_delegate_cloned_target_error:
59
+ :title: 'ClonedTargetError'
60
+ :descr: 'The plugin delegation process for cloned_target failed with error:'
61
+ :uri: '/'
62
+ #
63
+ # If the plugins delegation of the cloned_source event fails, display this:
64
+ :plugin_delegate_cloned_source_error:
65
+ :title: 'ClonedSourceError'
66
+ :descr: 'The plugin delegation process for cloned_source failed with error:'
67
+ :uri: '/'
68
+ #
69
+ # If the plugins rescan fails, display this:
70
+ :plugin_idle_error:
71
+ :title: 'PluginIdleError'
72
+ :descr: 'The idle event failed for a plugin with error:'
73
+ :uri: '/'
74
+
75
+
76
+