rsence-pre 2.1.0.1.pre
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/.yardopts +10 -0
- data/INSTALL.rdoc +330 -0
- data/LICENSE.txt +622 -0
- data/README.rdoc +98 -0
- data/VERSION +1 -0
- data/bin/rsence +25 -0
- data/bin/rsence-pre +25 -0
- data/conf/default_conf.yaml +346 -0
- data/conf/default_strings.yaml +76 -0
- data/conf/rsence_command_strings.yaml +444 -0
- data/docs/ExampleGuiPlugin.rdoc +193 -0
- data/docs/JavascriptBundles.rdoc +0 -0
- data/docs/PluginBundleInfo.rdoc +173 -0
- data/docs/PluginBundles.rdoc +96 -0
- data/docs/Values.rdoc +163 -0
- data/js/comm/autosync/autosync.js +17 -0
- data/js/comm/autosync/js.inc +0 -0
- data/js/comm/comm.js +203 -0
- data/js/comm/js.inc +0 -0
- data/js/comm/jsloader/js.inc +0 -0
- data/js/comm/jsloader/jsloader.js +112 -0
- data/js/comm/queue/js.inc +0 -0
- data/js/comm/queue/queue.js +184 -0
- data/js/comm/session/js.inc +0 -0
- data/js/comm/session/session.js +52 -0
- data/js/comm/sessionwatcher/js.inc +0 -0
- data/js/comm/sessionwatcher/sessionwatcher.js +44 -0
- data/js/comm/transporter/js.inc +0 -0
- data/js/comm/transporter/transporter.js +261 -0
- data/js/comm/urlresponder/js.inc +0 -0
- data/js/comm/urlresponder/urlresponder.js +149 -0
- data/js/comm/values/js.inc +0 -0
- data/js/comm/values/values.js +433 -0
- data/js/controls/button/button.js +72 -0
- data/js/controls/button/js.inc +0 -0
- data/js/controls/button/themes/bright/button.css +89 -0
- data/js/controls/button/themes/bright/button.html +7 -0
- data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
- data/js/controls/button/themes/bright/button_parts1.png +0 -0
- data/js/controls/button/themes/default/button.css +89 -0
- data/js/controls/button/themes/default/button.html +7 -0
- data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
- data/js/controls/button/themes/default/button_parts1.png +0 -0
- data/js/controls/checkbox/checkbox.js +49 -0
- data/js/controls/checkbox/js.inc +0 -0
- data/js/controls/checkbox/themes/default/checkbox.css +69 -0
- data/js/controls/checkbox/themes/default/checkbox.html +5 -0
- data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
- data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
- data/js/controls/dialogs/alert_sheet/alert_sheet.js +63 -0
- data/js/controls/dialogs/alert_sheet/js.inc +0 -0
- data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +37 -0
- data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
- data/js/controls/dialogs/sheet/js.inc +0 -0
- data/js/controls/dialogs/sheet/sheet.js +84 -0
- data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
- data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
- data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
- data/js/controls/imageview/imageview.js +109 -0
- data/js/controls/imageview/js.inc +0 -0
- data/js/controls/imageview/themes/default/blank.gif +0 -0
- data/js/controls/passwordcontrol/js.inc +0 -0
- data/js/controls/passwordcontrol/passwordcontrol.js +23 -0
- data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
- data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
- data/js/controls/progress/progressbar/js.inc +0 -0
- data/js/controls/progress/progressbar/progressbar.js +40 -0
- data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
- data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
- data/js/controls/progress/progressindicator/js.inc +0 -0
- data/js/controls/progress/progressindicator/progressindicator.js +44 -0
- data/js/controls/radiobutton/js.inc +0 -0
- data/js/controls/radiobutton/radiobutton.js +43 -0
- data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
- data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
- data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
- data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
- data/js/controls/sliders/slider/js.inc +0 -0
- data/js/controls/sliders/slider/slider.js +357 -0
- data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
- data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
- data/js/controls/sliders/slider/themes/default/slider.css +108 -0
- data/js/controls/sliders/slider/themes/default/slider.html +5 -0
- data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
- data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
- data/js/controls/sliders/vslider/js.inc +0 -0
- data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
- data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
- data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
- data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
- data/js/controls/sliders/vslider/vslider.js +41 -0
- data/js/controls/stepper/js.inc +0 -0
- data/js/controls/stepper/stepper.js +213 -0
- data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
- data/js/controls/stepper/themes/default/stepper.css +14 -0
- data/js/controls/stepper/themes/default/stepper.html +2 -0
- data/js/controls/stepper/themes/default/stepper.png +0 -0
- data/js/controls/stringview/js.inc +0 -0
- data/js/controls/stringview/stringview.js +49 -0
- data/js/controls/stringview/themes/default/stringview.css +8 -0
- data/js/controls/stringview/themes/default/stringview.html +1 -0
- data/js/controls/tab/js.inc +0 -0
- data/js/controls/tab/tab.js +280 -0
- data/js/controls/tab/themes/bright/tab.css +76 -0
- data/js/controls/tab/themes/bright/tab.html +6 -0
- data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
- data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
- data/js/controls/tab/themes/default/tab.css +77 -0
- data/js/controls/tab/themes/default/tab.html +6 -0
- data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
- data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
- data/js/controls/tab/themes/default/tab_parts1.png +0 -0
- data/js/controls/textarea/js.inc +0 -0
- data/js/controls/textarea/textarea.js +24 -0
- data/js/controls/textarea/themes/default/textarea.css +21 -0
- data/js/controls/textarea/themes/default/textarea.html +18 -0
- data/js/controls/textcontrol/js.inc +0 -0
- data/js/controls/textcontrol/textcontrol.js +374 -0
- data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
- data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
- data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
- data/js/controls/uploader/js.inc +0 -0
- data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
- data/js/controls/uploader/themes/default/uploader.css +108 -0
- data/js/controls/uploader/themes/default/uploader.html +27 -0
- data/js/controls/uploader/uploader.js +154 -0
- data/js/controls/validatorview/js.inc +0 -0
- data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
- data/js/controls/validatorview/themes/default/validator.png +0 -0
- data/js/controls/validatorview/themes/default/validatorview.css +0 -0
- data/js/controls/validatorview/themes/default/validatorview.html +0 -0
- data/js/controls/validatorview/validatorview.js +62 -0
- data/js/controls/window/js.inc +0 -0
- data/js/controls/window/themes/default/window.css +219 -0
- data/js/controls/window/themes/default/window.html +17 -0
- data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_bg_active.png +0 -0
- data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
- data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_buttons.png +0 -0
- data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_parts1.png +0 -0
- data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
- data/js/controls/window/themes/default/window_parts2.png +0 -0
- data/js/controls/window/window.js +286 -0
- data/js/core/class/class.js +318 -0
- data/js/core/class/js.inc +0 -0
- data/js/core/elem/elem.js +1383 -0
- data/js/core/elem/js.inc +0 -0
- data/js/core/event/event.js +153 -0
- data/js/core/event/js.inc +0 -0
- data/js/core/iefix/ie_css_element.htc +5 -0
- data/js/core/iefix/ie_css_style.htc +5 -0
- data/js/core/iefix/iefix.js +359 -0
- data/js/core/iefix/js.inc +0 -0
- data/js/core/rsence_ns/js.inc +0 -0
- data/js/core/rsence_ns/rsence_ns.js +21 -0
- data/js/datetime/calendar/calendar.js +198 -0
- data/js/datetime/calendar/js.inc +0 -0
- data/js/datetime/calendar/themes/default/calendar.css +108 -0
- data/js/datetime/calendar/themes/default/calendar.html +9 -0
- data/js/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
- data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
- data/js/datetime/datetimevalue/datetimevalue.js +247 -0
- data/js/datetime/datetimevalue/js.inc +0 -0
- data/js/datetime/timesheet/js.inc +0 -0
- data/js/datetime/timesheet/themes/default/timesheet.css +30 -0
- data/js/datetime/timesheet/themes/default/timesheet.html +2 -0
- data/js/datetime/timesheet/timesheet.js +183 -0
- data/js/datetime/timesheet_item/js.inc +0 -0
- data/js/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
- data/js/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
- data/js/datetime/timesheet_item/timesheet_item.js +248 -0
- data/js/datetime/timesheet_item_edit/js.inc +0 -0
- data/js/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
- data/js/foundation/application/application.js +208 -0
- data/js/foundation/application/js.inc +0 -0
- data/js/foundation/control/control.js +339 -0
- data/js/foundation/control/controldefaults/controldefaults.js +56 -0
- data/js/foundation/control/controldefaults/js.inc +0 -0
- data/js/foundation/control/dummyvalue/dummyvalue.js +51 -0
- data/js/foundation/control/dummyvalue/js.inc +0 -0
- data/js/foundation/control/dyncontrol/dyncontrol.js +500 -0
- data/js/foundation/control/dyncontrol/js.inc +0 -0
- data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
- data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
- data/js/foundation/control/eventresponder/eventresponder.js +750 -0
- data/js/foundation/control/eventresponder/js.inc +0 -0
- data/js/foundation/control/js.inc +0 -0
- data/js/foundation/control/valuematrix/js.inc +0 -0
- data/js/foundation/control/valuematrix/valuematrix.js +135 -0
- data/js/foundation/control/valueresponder/js.inc +0 -0
- data/js/foundation/control/valueresponder/valueresponder.js +79 -0
- data/js/foundation/eventmanager/eventmanager.js +991 -0
- data/js/foundation/eventmanager/js.inc +0 -0
- data/js/foundation/geom/point/js.inc +0 -0
- data/js/foundation/geom/point/point.js +202 -0
- data/js/foundation/geom/rect/js.inc +0 -0
- data/js/foundation/geom/rect/rect.js +651 -0
- data/js/foundation/json_renderer/js.inc +0 -0
- data/js/foundation/json_renderer/json_renderer.js +246 -0
- data/js/foundation/system/js.inc +0 -0
- data/js/foundation/system/system.js +381 -0
- data/js/foundation/thememanager/js.inc +0 -0
- data/js/foundation/thememanager/thememanager.js +393 -0
- data/js/foundation/value/js.inc +0 -0
- data/js/foundation/value/value.js +183 -0
- data/js/foundation/view/js.inc +0 -0
- data/js/foundation/view/markupview/js.inc +0 -0
- data/js/foundation/view/markupview/markupview.js +114 -0
- data/js/foundation/view/morphanimation/js.inc +0 -0
- data/js/foundation/view/morphanimation/morphanimation.js +237 -0
- data/js/foundation/view/view.js +1812 -0
- data/js/foundation/view/viewdefaults/js.inc +0 -0
- data/js/foundation/view/viewdefaults/viewdefaults.js +26 -0
- data/js/lists/checkboxlist/checkboxlist.js +171 -0
- data/js/lists/checkboxlist/js.inc +0 -0
- data/js/lists/listitems/js.inc +0 -0
- data/js/lists/listitems/listitems.js +88 -0
- data/js/lists/propertylist/js.inc +0 -0
- data/js/lists/propertylist/propertylist.js +326 -0
- data/js/lists/radiobuttonlist/js.inc +0 -0
- data/js/lists/radiobuttonlist/radiobuttonlist.js +116 -0
- data/js/util/reloadapp/js.inc +0 -0
- data/js/util/reloadapp/reloadapp.js +152 -0
- data/js/util/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
- data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
- data/js/util/sha/js.inc +0 -0
- data/js/util/sha/sha.js +426 -0
- data/js/views/centerview/centerview.js +75 -0
- data/js/views/centerview/js.inc +0 -0
- data/js/views/inlineview/inlineview.js +15 -0
- data/js/views/inlineview/js.inc +0 -0
- data/js/views/scrollview/js.inc +0 -0
- data/js/views/scrollview/scrollview.js +40 -0
- data/lib/conf/argv.rb +850 -0
- data/lib/conf/default.rb +219 -0
- data/lib/daemon/daemon.rb +387 -0
- data/lib/daemon/sigcomm.rb +64 -0
- data/lib/http/broker.rb +150 -0
- data/lib/http/rackup.rb +91 -0
- data/lib/http/request.rb +66 -0
- data/lib/http/response.rb +65 -0
- data/lib/plugins/dependencies.rb +285 -0
- data/lib/plugins/gui_plugin.rb +160 -0
- data/lib/plugins/guiparser.rb +123 -0
- data/lib/plugins/plugin.rb +438 -0
- data/lib/plugins/plugin_base.rb +162 -0
- data/lib/plugins/plugin_plugins.rb +81 -0
- data/lib/plugins/plugin_sqlite_db.rb +98 -0
- data/lib/plugins/pluginmanager.rb +635 -0
- data/lib/plugins/plugins.rb +169 -0
- data/lib/plugins/servlet.rb +108 -0
- data/lib/rsence.rb +32 -0
- data/lib/session/msg.rb +327 -0
- data/lib/session/sessionmanager.rb +522 -0
- data/lib/session/sessionstorage.rb +340 -0
- data/lib/transporter/transporter.rb +263 -0
- data/lib/util/gzstring.rb +9 -0
- data/lib/util/ruby19_fixes.rb +18 -0
- data/lib/values/hvalue.rb +378 -0
- data/lib/values/valuemanager.rb +172 -0
- data/plugins/client_pkg/client_pkg.rb +157 -0
- data/plugins/client_pkg/info.yaml +25 -0
- data/plugins/client_pkg/lib/client_pkg_build.rb +561 -0
- data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
- data/plugins/client_pkg/lib/client_pkg_serve.rb +218 -0
- data/plugins/index_html/img/loading.gif +0 -0
- data/plugins/index_html/img/riassence.gif +0 -0
- data/plugins/index_html/index_html.rb +120 -0
- data/plugins/index_html/info.yaml +18 -0
- data/plugins/index_html/tmpl/index.html +15 -0
- data/plugins/main/info.yaml +18 -0
- data/plugins/main/js/main.js +84 -0
- data/plugins/main/main.rb +255 -0
- data/plugins/main/values.yaml +8 -0
- data/plugins/ticket/info.yaml +21 -0
- data/plugins/ticket/lib/common.rb +392 -0
- data/plugins/ticket/lib/favicon.rb +39 -0
- data/plugins/ticket/lib/file.rb +58 -0
- data/plugins/ticket/lib/img.rb +50 -0
- data/plugins/ticket/lib/objblob.rb +66 -0
- data/plugins/ticket/lib/rsrc.rb +34 -0
- data/plugins/ticket/lib/upload.rb +236 -0
- data/plugins/ticket/ticket.rb +333 -0
- data/setup/welcome/gui/welcome.yaml +92 -0
- data/setup/welcome/info.yaml +13 -0
- data/setup/welcome/text/welcome.html +9 -0
- data/setup/welcome/values.yaml +9 -0
- data/setup/welcome/welcome.rb +54 -0
- 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
|
+
|