rsence 2.0.0.10.pre → 2.0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- data/.yardopts +10 -0
- data/INSTALL.rdoc +52 -86
- data/{LICENSE → LICENSE.txt} +0 -0
- data/README.rdoc +52 -49
- data/VERSION +1 -1
- data/bin/rsence +4 -6
- data/conf/default_conf.yaml +314 -305
- data/conf/default_strings.yaml +70 -71
- data/docs/ExampleGuiPlugin.rdoc +193 -0
- data/{js/comm/comm/autosync/js.inc → 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/{comm/autosync → autosync}/autosync.js +1 -2
- data/js/comm/{comm → autosync}/js.inc +0 -0
- data/js/comm/{comm/comm.js → comm.js} +1 -0
- data/js/comm/{comm/queue/js.inc → js.inc} +0 -0
- data/js/comm/jsloader/jsloader.js +2 -4
- data/js/comm/{comm/session → queue}/js.inc +0 -0
- data/js/comm/{comm/queue → queue}/queue.js +1 -0
- data/js/comm/{comm/sessionwatcher → session}/js.inc +0 -0
- data/js/comm/{comm/session → session}/session.js +4 -3
- data/js/comm/{comm/transporter → sessionwatcher}/js.inc +0 -0
- data/js/comm/{comm/sessionwatcher → sessionwatcher}/sessionwatcher.js +1 -0
- data/js/comm/{comm/urlresponder → transporter}/js.inc +0 -0
- data/js/comm/{comm/transporter → transporter}/transporter.js +1 -0
- data/js/comm/{comm/values → urlresponder}/js.inc +0 -0
- data/js/comm/{comm/urlresponder → urlresponder}/urlresponder.js +1 -0
- data/js/comm/{reloadapp → values}/js.inc +0 -0
- data/js/comm/{comm/values → values}/values.js +1 -0
- data/js/controls/button/button.js +10 -1
- data/js/controls/checkbox/checkbox.js +2 -0
- data/js/controls/dialogs/alert_sheet/alert_sheet.js +1 -0
- data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +1 -0
- data/js/controls/dialogs/sheet/sheet.js +1 -0
- data/js/controls/imageview/imageview.js +1 -0
- data/js/controls/passwordcontrol/passwordcontrol.js +1 -0
- data/js/controls/progress/progressbar/progressbar.js +1 -0
- data/js/controls/progress/progressindicator/progressindicator.js +1 -0
- data/js/controls/radiobutton/radiobutton.js +3 -1
- data/js/controls/sliders/slider/slider.js +1 -0
- data/js/controls/sliders/vslider/vslider.js +1 -0
- data/js/controls/stepper/stepper.js +1 -0
- data/js/controls/stringview/stringview.js +2 -2
- data/js/controls/tab/tab.js +7 -5
- data/js/controls/textarea/textarea.js +1 -0
- data/js/controls/textcontrol/textcontrol.js +3 -1
- data/js/controls/uploader/uploader.js +1 -0
- data/js/controls/validatorview/validatorview.js +62 -59
- data/js/controls/window/window.js +1 -0
- data/js/core/class/class.js +2 -1
- data/js/core/elem/elem.js +27 -27
- data/js/core/event/event.js +3 -874
- data/js/{comm/sha → core/rsence_ns}/js.inc +0 -0
- data/js/core/rsence_ns/rsence_ns.js +15 -0
- data/js/{controls/datetime → datetime}/calendar/calendar.js +1 -0
- data/js/{comm/values/value → datetime/calendar}/js.inc +0 -0
- data/js/{controls/datetime → datetime}/calendar/themes/default/calendar.css +0 -0
- data/js/{controls/datetime → datetime}/calendar/themes/default/calendar.html +0 -0
- data/js/{controls/datetime → datetime}/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
- data/js/{controls/datetime → datetime}/calendar/themes/default/calendar_arrows.png +0 -0
- data/js/{controls/datetime → datetime}/datetimevalue/datetimevalue.js +1 -0
- data/js/{comm/values/valuematrix → datetime/datetimevalue}/js.inc +0 -0
- data/js/{controls/datetime/calendar → datetime/timesheet}/js.inc +0 -0
- data/js/{controls/datetime → datetime}/timesheet/themes/default/timesheet.css +0 -0
- data/js/{controls/datetime → datetime}/timesheet/themes/default/timesheet.html +0 -0
- data/js/{controls/datetime → datetime}/timesheet/timesheet.js +1 -0
- data/js/{controls/datetime/datetimevalue → datetime/timesheet_item}/js.inc +0 -0
- data/js/{controls/datetime → datetime}/timesheet_item/themes/default/timesheet_item.css +0 -0
- data/js/{controls/datetime → datetime}/timesheet_item/themes/default/timesheet_item.html +0 -0
- data/js/{controls/datetime → datetime}/timesheet_item/timesheet_item.js +1 -0
- data/js/{controls/datetime/timesheet → datetime/timesheet_item_edit}/js.inc +0 -0
- data/js/{controls/datetime → datetime}/timesheet_item_edit/timesheet_item_edit.js +1 -1
- data/js/foundation/application/application.js +1 -2
- data/js/foundation/control/control.js +1 -4
- data/js/foundation/control/controldefaults/controldefaults.js +1 -4
- data/js/foundation/control/dummyvalue/dummyvalue.js +1 -0
- data/js/foundation/control/dyncontrol/dyncontrol.js +1 -2
- data/js/foundation/control/eventresponder/eventresponder.js +11 -3
- data/js/{controls/datetime/timesheet_item → foundation/control/valuematrix}/js.inc +0 -0
- data/js/{comm/values → foundation/control}/valuematrix/valuematrix.js +2 -5
- data/js/foundation/control/valueresponder/valueresponder.js +3 -1
- data/js/foundation/eventmanager/eventmanager.js +884 -0
- data/js/{controls/datetime/timesheet_item_edit → foundation/eventmanager}/js.inc +0 -0
- data/js/foundation/geom/point/point.js +2 -2
- data/js/foundation/geom/rect/rect.js +1 -0
- data/js/foundation/json_renderer/json_renderer.js +2 -0
- data/js/foundation/system/system.js +2 -1
- data/js/foundation/thememanager/thememanager.js +29 -23
- data/js/{controls/lists/checkboxlist → foundation/value}/js.inc +0 -0
- data/js/{comm/values → foundation}/value/value.js +1 -0
- data/js/foundation/view/markupview/markupview.js +2 -1
- data/js/foundation/view/morphanimation/morphanimation.js +1 -0
- data/js/foundation/view/view.js +6 -12
- data/js/foundation/view/viewdefaults/viewdefaults.js +1 -0
- data/js/{controls/lists → lists}/checkboxlist/checkboxlist.js +1 -0
- data/js/{controls/lists/listitems → lists/checkboxlist}/js.inc +0 -0
- data/js/{controls/lists/radiobuttonlist → lists/listitems}/js.inc +0 -0
- data/js/{controls/lists → lists}/listitems/listitems.js +22 -3
- data/js/lists/radiobuttonlist/js.inc +0 -0
- data/js/{controls/lists → lists}/radiobuttonlist/radiobuttonlist.js +2 -12
- data/js/util/reloadapp/js.inc +0 -0
- data/js/{comm → util}/reloadapp/reloadapp.js +10 -8
- data/js/{comm → util}/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
- data/js/{comm → util}/reloadapp/themes/default/reloadapp_warning.png +0 -0
- data/js/util/sha/js.inc +0 -0
- data/js/{comm → util}/sha/sha.js +27 -33
- data/js/views/centerview/centerview.js +33 -3
- data/js/views/inlineview/inlineview.js +1 -0
- data/js/views/scrollview/scrollview.js +1 -0
- data/lib/conf/argv.rb +34 -22
- data/lib/conf/default.rb +165 -173
- data/lib/daemon/daemon.rb +9 -9
- data/lib/daemon/sigcomm.rb +4 -4
- data/lib/http/broker.rb +30 -27
- data/lib/http/rackup.rb +2 -3
- data/lib/http/request.rb +1 -2
- data/lib/http/response.rb +10 -10
- data/lib/plugins/dependencies.rb +2 -1
- data/lib/plugins/gui_plugin.rb +77 -50
- data/lib/plugins/guiparser.rb +26 -22
- data/lib/plugins/plugin.rb +207 -427
- data/lib/plugins/plugin_base.rb +162 -0
- data/lib/plugins/plugin_plugins.rb +21 -15
- data/lib/plugins/plugin_sqlite_db.rb +45 -20
- data/lib/plugins/pluginmanager.rb +10 -5
- data/lib/plugins/plugins.rb +65 -31
- data/lib/plugins/servlet.rb +74 -26
- data/lib/rsence.rb +32 -0
- data/lib/session/msg.rb +131 -96
- data/lib/session/sessionmanager.rb +5 -4
- data/lib/session/sessionstorage.rb +4 -3
- data/lib/transporter/transporter.rb +30 -21
- data/lib/util/gzstring.rb +4 -2
- data/lib/util/ruby19_fixes.rb +18 -0
- data/lib/values/hvalue.rb +139 -88
- data/lib/values/valuemanager.rb +60 -46
- data/plugins/client_pkg/client_pkg.rb +6 -5
- data/plugins/client_pkg/lib/client_pkg_build.rb +5 -5
- data/plugins/client_pkg/lib/client_pkg_serve.rb +8 -0
- data/plugins/index_html/index_html.rb +3 -1
- data/plugins/index_html/tmpl/index.html +2 -3
- data/plugins/main/js/main.js +84 -0
- data/plugins/main/main.rb +54 -27
- data/plugins/ticket/lib/common.rb +4 -2
- data/plugins/ticket/lib/favicon.rb +3 -2
- data/plugins/ticket/lib/file.rb +2 -2
- data/plugins/ticket/lib/img.rb +2 -2
- data/plugins/ticket/lib/objblob.rb +2 -2
- data/plugins/ticket/lib/rsrc.rb +2 -2
- data/plugins/ticket/lib/upload.rb +9 -8
- data/plugins/ticket/ticket.rb +141 -8
- data/setup/welcome/welcome.rb +1 -0
- metadata +76 -72
- data/lib/plugins/plugin_util.rb +0 -107
- data/plugins/index_html/tmpl/startup_index.html +0 -29
- data/plugins/main/js/riassence_ns.js +0 -87
- data/setup/legacy/info.yaml +0 -18
- data/setup/legacy/legacy.rb +0 -17
- data/setup/welcome/gui/welcome.yaml +0 -68
- data/setup/welcome/text/welcome.html +0 -8
data/.yardopts
ADDED
data/INSTALL.rdoc
CHANGED
@@ -1,46 +1,41 @@
|
|
1
|
-
=
|
1
|
+
= Install Guide
|
2
2
|
|
3
3
|
If you already have a working ruby environment and know what to do, the easiest way is just:
|
4
4
|
|
5
|
-
gem install rsence
|
6
|
-
|
5
|
+
gem install rsence
|
7
6
|
|
8
7
|
Otherwise, follow these instructions:
|
9
8
|
|
10
9
|
|
11
10
|
== 1. System Dependencies
|
12
11
|
|
13
|
-
This is a list of system level dependencies. You only need to do this step once.
|
12
|
+
This is a list of system level dependencies. You only need to do this step once; follow the steps of for your target operating system.
|
14
13
|
|
15
14
|
=== 1.1. Mac OS X
|
16
15
|
|
17
|
-
|
16
|
+
==== 1.1.1 Mac OS X 10.6
|
18
17
|
|
19
|
-
* Install
|
20
|
-
*
|
21
|
-
* Proceed with step 1.1.1. *or* 1.1.2. according to your version of Mac OS X
|
18
|
+
* Install *XCode*[http://developer.apple.com/mac/] to get the essential development tools, like compilers.
|
19
|
+
* Proceed to section 3.0
|
22
20
|
|
23
|
-
==== 1.1.
|
21
|
+
==== 1.1.2. Mac OS X 10.4 and 10.5
|
24
22
|
|
25
|
-
This step applies only to Mac OS X 10.4 Tiger and 10.5 Leopard. The
|
23
|
+
This step applies only to Mac OS X 10.4 "Tiger" and 10.5 "Leopard". The default ruby build of these versions of Mac OS X is somewhat broken.
|
26
24
|
|
25
|
+
* Install *XCode*[http://developer.apple.com/mac/] to get the essential development tools, like compilers.
|
26
|
+
* Install *MacPorts*[http://www.macports.org/]
|
27
27
|
* Install the ruby and rb-rubygems packages using Terminal like this:
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
==== 1.1.2 Mac OS X 10.6
|
33
|
-
|
34
|
-
RSence works out-of-the box in Mac OS X 10.6 Snow Leopard.
|
28
|
+
sudo port install ruby
|
29
|
+
sudo port install rb-rubygems
|
30
|
+
* Proceed to section 3.0
|
35
31
|
|
36
32
|
=== 1.2. Debian and Ubuntu Linux
|
37
33
|
|
38
34
|
This step applies only to Debian, Ubuntu and similar Linux distributions.
|
39
35
|
|
40
36
|
* Install these packages:
|
41
|
-
|
42
|
-
|
43
|
-
|
37
|
+
sudo apt-get install build-essential ruby-full rubygems rake
|
38
|
+
* Proceed to section 3.0
|
44
39
|
|
45
40
|
=== 1.3. Microsoft Windows
|
46
41
|
|
@@ -55,19 +50,17 @@ Windows compatibility has been officially tested on Windows XP SP3 and Windows 7
|
|
55
50
|
* Associate .rb and .rbw files with this Ruby installation
|
56
51
|
* Download and Install the Development Kit from http://rubyinstaller.org/download.html
|
57
52
|
* Extract the included directories into the directory where you installed ruby.
|
58
|
-
* It's C:\ruby by default.
|
53
|
+
* It's +C:\ruby+ by default.
|
59
54
|
|
60
55
|
==== 1.3.2. Install RSence
|
61
56
|
* In the command prompt, run:
|
62
57
|
gem update --system
|
63
|
-
gem install rsence
|
58
|
+
gem install rsence
|
64
59
|
rsence help
|
65
60
|
|
66
61
|
==== 1.3.3. Create RSence environment
|
67
62
|
|
68
|
-
|
69
|
-
Also, the 'my_project' project directory is just for illustration purposes.
|
70
|
-
Use something else instead of those.
|
63
|
+
Replace the +\my_projects+ path with the path to the directory where you want to run or develop your projects. Likewise, replace +my_project+ with something descriptive for your project.
|
71
64
|
|
72
65
|
* In the command prompt, run:
|
73
66
|
cd \my_projects
|
@@ -76,20 +69,21 @@ Use something else instead of those.
|
|
76
69
|
* In the command prompt, run:
|
77
70
|
rsence run my_project
|
78
71
|
* Open your web browser in the address as configured.
|
79
|
-
* If the address is 0.0.0.0
|
80
|
-
* Using just defaults, the following
|
72
|
+
* If the address is +0.0.0.0+, enter +127.0.0.1+ instead.
|
73
|
+
* Using just defaults, the following URL should work: http://127.0.0.1:8001
|
81
74
|
|
82
75
|
==== 1.3.4. Windows limitations
|
83
76
|
If you install the sqlite dll and the sqlite3-ruby gem, you'll gain persistent sessions and this warning message will disappear:
|
84
|
-
|
85
|
-
|
77
|
+
`Warning: Session database is not available. Can't use persistent sessions`
|
78
|
+
|
79
|
+
It's not a dependency in the default install, because it's not strictly required and makes the first installation much easier. Also, you can use any other database supported by Sequel instead of Sqlite.
|
86
80
|
|
87
|
-
Backgrounding is not yet implemented, because POSIX signals are not fully implemented in windows and backgrounding requires some
|
81
|
+
Backgrounding on Windows is not yet implemented, because POSIX signals are not fully implemented in windows and backgrounding requires some Windows-specific service hooks.
|
88
82
|
|
89
|
-
However, if you run RSence under Cygwin, everything should work like on a
|
83
|
+
However, if you run RSence under Cygwin, everything should work like on a UNIX machines.
|
90
84
|
|
91
85
|
|
92
|
-
=== 1.
|
86
|
+
=== 1.4. Other UNIX / Linux systems:
|
93
87
|
|
94
88
|
This step applies to systems not listed above.
|
95
89
|
|
@@ -97,72 +91,44 @@ You'll have to figure out how to install the dependencies on your own, but gener
|
|
97
91
|
|
98
92
|
* Ruby
|
99
93
|
* Version 1.8.7 or newer
|
100
|
-
* http://ruby-lang.org
|
94
|
+
* http://ruby-lang.org
|
101
95
|
* RubyGems
|
102
96
|
* Ruby package manager
|
103
97
|
* A standard set of compilers and build tools to build the gems with C extensions.
|
104
98
|
* gcc, make etc.
|
105
99
|
|
106
100
|
|
107
|
-
== 2. Ruby Dependencies
|
101
|
+
== 2. Ruby Library Dependencies
|
108
102
|
|
109
|
-
The
|
110
|
-
Optionally, you probably want at a database and a database adapter supported by Sequel
|
103
|
+
The `rsence` gem depends on the dummy `rsence-deps` gem, which depends on all essential dependencies of RSence.
|
104
|
+
Optionally, you probably want at a database and a database adapter supported by Sequel[http://sequel.rubyforge.org]
|
111
105
|
This not only enables SessionStorage (persistent sessions between RSence restarts), but some plugins written for RSence depend on at least Sqlite.
|
112
106
|
|
113
|
-
=== 2.1 Detailed list of ruby
|
107
|
+
=== 2.1 Detailed list of ruby libraries used
|
114
108
|
|
115
|
-
* *rake*
|
109
|
+
* *rake*[http://rake.rubyforge.org]
|
116
110
|
* Ruby build tool
|
117
111
|
* Not necessarily required via ruby gems, if installed via a system-level package
|
118
|
-
|
119
|
-
* *rack*
|
112
|
+
* *rack*[http://rack.rubyforge.org]
|
120
113
|
* Abstract ruby web server interface
|
121
|
-
*
|
122
|
-
|
123
|
-
* *
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
*
|
138
|
-
|
139
|
-
* Very slow
|
140
|
-
* Use as last resort
|
141
|
-
* *json*
|
142
|
-
* Library for JSON - Ruby - JSON object conversion.
|
143
|
-
* http://flori.github.com/json/
|
144
|
-
* http://json.org/
|
145
|
-
* *yaml*
|
146
|
-
* Library for handling YAML files
|
147
|
-
* Part of the standard library of Ruby 1.9 and newer
|
148
|
-
* http://yaml4r.sourceforge.net/doc/
|
149
|
-
* http://www.yaml.org/
|
150
|
-
* *jsmin_c*
|
151
|
-
* Javascript whitespace removal library
|
152
|
-
* *jscompress*
|
153
|
-
* Javascript compression and obfuscation library
|
154
|
-
* *html_min*
|
155
|
-
* HTML whitespace removal library
|
156
|
-
* *cssmin*
|
157
|
-
* CSS whitespace removal library
|
158
|
-
* *sequel*
|
159
|
-
* http://www.sequel.org/
|
160
|
-
* Additionally, you need a sequel driver for your database
|
161
|
-
* *sqlite3-ruby*
|
162
|
-
* Lightweight SQL library
|
163
|
-
* Other database adapters compatible with sequel are fine. Just configure your setup accordingly.
|
164
|
-
* *highline*
|
165
|
-
* Used by the initenv command.
|
114
|
+
* A rack handler is also required. One of the following is suggested:
|
115
|
+
* *unicorn*[http://unicorn.bogomips.org] :: Suggested for production deployment. Use Apache, Nginx or similar front-ends for virtual hosts, SSL and such.
|
116
|
+
* *mongrel*[http://github.com/fauna/mongrel] :: Suggested for development use, also works for production when combined with a front-end proxy for virtual hosts etc.
|
117
|
+
* *thin*[http://code.macournoyer.com/thin] :: Alternative for development use.
|
118
|
+
* *webrick*:: Bundled with ruby (no installation required). Very slow; use as last resort
|
119
|
+
* *json*[http://flori.github.com/json]:: Library for bi-directional JSON[http://json.org] conversion.
|
120
|
+
* *yaml*[http://yaml4r.sourceforge.net/doc]:: Library for handling YAML[http://www.yaml.org] files
|
121
|
+
* *randgen*:: C-optimized random string generator developed for RSence specifically
|
122
|
+
* *jsmin_c*:: C-optimized Javascript whitespace removal library; Ruby wrapper developed for RSence specifically; based on the original JSMin[http://www.crockford.com/javascript/jsmin.html]
|
123
|
+
* *jscompress*:: C-optimized Javascript compression and obfuscation library developed for RSence specifically
|
124
|
+
* *html_min*:: C-optimized HTML whitespace removal library developed for RSence specfically
|
125
|
+
* *cssmin*:: CSS whitespace removal library
|
126
|
+
* *sequel*[http://www.sequel.org]
|
127
|
+
* Generic SQL database ORM
|
128
|
+
* A Sequel driver for your preferred database is also needed:
|
129
|
+
* *sqlite3-ruby*:: SQLite[http://www.sqlite.org] is a light-weight SQL library. Recommended for development and small projects.
|
130
|
+
* Other database adapters compatible with Sequel are fine. Just configure RSence accordingly.
|
131
|
+
* *highline*:: Console-based menu prompt system by the initenv command.
|
166
132
|
* rmagick
|
167
133
|
* Optional, but suggested, because RSence has RMagick -savvy features, like serving RMagick objects using tickets that are rendered only when requested.
|
168
134
|
* Some plugins depend on it directly.
|
@@ -181,7 +147,7 @@ Even if RubyGems is up-to-date, ensure your installed gems are up-to-date, some
|
|
181
147
|
=== 3.1. Install RSence
|
182
148
|
|
183
149
|
This will install RSence via RubyGems, the preferred method. All dependencies are installed too, except for the ones you already might have installed.
|
184
|
-
gem install rsence
|
150
|
+
gem install rsence
|
185
151
|
|
186
152
|
Optionally, you might want to contribute to RSence development, just clone or fork the GIT repository on Github:
|
187
153
|
* http://github.com/rsence/rsence
|
data/{LICENSE → LICENSE.txt}
RENAMED
File without changes
|
data/README.rdoc
CHANGED
@@ -1,73 +1,76 @@
|
|
1
1
|
|
2
|
-
= RSence
|
3
|
-
|
4
|
-
http://rsence.org/
|
2
|
+
= RSence-2.0.0[http://rsence.org/]
|
5
3
|
|
6
4
|
== Introduction
|
7
5
|
|
8
|
-
RSence is a RIA framework designed for responsive GUI applications on the web.
|
9
|
-
|
10
|
-
RSence is a flexible and high-performance RIA framework aimed on building responsive, scalable and over-all as high-performance GUI Applications as possible with the chosen technologies.
|
11
|
-
|
12
|
-
RSence includes a server for backend tasks and client suppert as well as a Javascript GUI framework to provide responsive user interfaces.
|
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.
|
13
7
|
|
14
|
-
|
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.
|
15
9
|
|
16
|
-
RSence is not primarily targeted as an engine for plain old html web sites, there are plenty of other tools for that purpose and
|
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.
|
17
11
|
|
18
12
|
|
19
|
-
==
|
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
|
20
16
|
|
21
|
-
gem install rsence --pre
|
22
17
|
|
23
|
-
==
|
18
|
+
== Initializing a new project
|
24
19
|
|
25
|
-
|
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
|
26
22
|
|
27
|
-
== Project anatomy:
|
28
23
|
|
29
|
-
|
30
|
-
is the directory of your project) is:
|
24
|
+
== Project environment structure
|
31
25
|
|
32
|
-
|
33
|
-
[dir] conf :: The directory of config files.
|
34
|
-
[file] config.yaml :: The config file to load by default.
|
35
|
-
[dir] var :: Directory containing various runtime files.
|
36
|
-
[dir] run :: Directory containing PID files.
|
37
|
-
[dir] log :: Directory containing log files.
|
38
|
-
[dir] db :: Directory containing database files.
|
39
|
-
[dir] plugins :: Directory containing installed plugins.
|
26
|
+
==== The basic structure of a project environment (where `env_dir` is the directory of your project) is:
|
40
27
|
|
41
|
-
|
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.
|
42
36
|
|
37
|
+
=== Configuration file loading order
|
43
38
|
The configuration files are loaded and applied in this order:
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
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.
|
52
47
|
|
53
48
|
== Running a project
|
54
49
|
|
55
|
-
Each command-line tool command takes a number of options, the
|
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
56
|
|
57
|
-
===
|
58
|
-
rsence run
|
57
|
+
=== Running RSence in foreground
|
58
|
+
rsence run [options] [env_dir]
|
59
59
|
|
60
60
|
=== Starting the RSence daemon
|
61
|
-
rsence start
|
61
|
+
rsence start [options] [env_dir]
|
62
62
|
|
63
63
|
=== Stopping the RSence daemon
|
64
|
-
rsence stop
|
64
|
+
rsence stop [options] [env_dir]
|
65
65
|
|
66
66
|
=== Restarting the RSence daemon
|
67
|
-
rsence restart
|
67
|
+
rsence restart [options] [env_dir]
|
68
68
|
|
69
69
|
=== Checking if project is running
|
70
|
-
rsence status
|
70
|
+
rsence status [options] [env_dir]
|
71
|
+
|
72
|
+
=== Example:
|
73
|
+
rsence run -af /home/me/projects/hello_world
|
71
74
|
|
72
75
|
== RSence command-line tool help
|
73
76
|
|
@@ -77,19 +80,19 @@ Each command-line tool command takes a number of options, the path defaults to t
|
|
77
80
|
=== Getting detailed help of a command
|
78
81
|
rsence help <command>
|
79
82
|
|
80
|
-
Example:
|
83
|
+
=== Example:
|
81
84
|
|
82
85
|
rsence help run
|
83
86
|
|
84
87
|
|
85
|
-
For more detailed installation and usage instructions, read the INSTALL
|
88
|
+
For more detailed installation and usage instructions, read the {file:INSTALL Install Guide} document.
|
86
89
|
|
87
|
-
=== Licensing
|
88
|
-
*
|
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.
|
90
93
|
|
91
|
-
=== Community support
|
92
|
-
*
|
93
|
-
* IRC
|
94
|
+
=== Community support
|
95
|
+
* http://rsence.org
|
96
|
+
* IRC channel +#rsence+ on the IRCNet and FreeNode networks
|
94
97
|
|
95
98
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.0.0.
|
1
|
+
2.0.0.11
|
data/bin/rsence
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#--
|
3
2
|
## RSence
|
4
3
|
# Copyright 2010 Riassence Inc.
|
5
4
|
# http://riassence.com/
|
@@ -7,19 +6,18 @@
|
|
7
6
|
# You should have received a copy of the GNU General Public License along
|
8
7
|
# with this software package. If not, contact licensing@riassence.com
|
9
8
|
##
|
10
|
-
|
9
|
+
|
11
10
|
|
12
11
|
require 'profile' if ARGV.include?('--profile')
|
13
12
|
|
14
|
-
|
13
|
+
# @private Auto-construct paths using this file as the waypoint
|
15
14
|
SERVER_PATH = File.split( File.expand_path(File.dirname(__FILE__)) )[0]
|
16
15
|
|
17
|
-
|
16
|
+
# Include server & lib in the search path
|
18
17
|
$LOAD_PATH << SERVER_PATH
|
19
18
|
$LOAD_PATH << File.join( SERVER_PATH, 'lib' )
|
20
19
|
|
21
|
-
|
22
|
-
require 'conf/argv'
|
20
|
+
require 'rsence'
|
23
21
|
|
24
22
|
# Start RSence, if the command supplied was one of the ones
|
25
23
|
# triggering a start and the environment is ok.
|
data/conf/default_conf.yaml
CHANGED
@@ -1,336 +1,345 @@
|
|
1
|
-
|
2
|
-
#### Server configuration
|
3
|
-
#
|
4
|
-
# The :base_url specifies the prefix for all default http responders.
|
5
|
-
:base_url: '/'
|
6
|
-
#
|
7
|
-
# This setting defines if requests should be gzip-compressed or not.
|
8
|
-
# This is a trade-off between cpu cycles used and network bandwidth used.
|
9
|
-
# It's generally a good idea to leave it as false (gzipping enabled).
|
10
|
-
:no_gzip: false
|
11
|
-
#
|
12
|
-
# Enabling this appends all msg.reply call output to stdout
|
13
|
-
:trace: false
|
14
|
-
#
|
15
|
-
# The settings for the index_html plugin
|
16
|
-
:index_html:
|
17
|
-
#
|
18
|
-
# HTML template file path relative to the plugin dir
|
19
|
-
:index_tmpl: 'tmpl/index.html'
|
20
|
-
#
|
21
|
-
# The index.html page <title>
|
22
|
-
:title: 'RSence'
|
23
|
-
#
|
24
|
-
:noscript: '<h1>Sorry!</h1><p>This site requires a Javascript -capable web browser.</p><p>Please enable Javascript or upgrade your browser.</p>'
|
25
|
-
#
|
26
|
-
:instance: null
|
1
|
+
#### Server configuration
|
27
2
|
#
|
28
|
-
#
|
29
|
-
:
|
30
|
-
#
|
31
|
-
# The settings for the main plugin
|
32
|
-
:main_plugin:
|
3
|
+
# The :base_url specifies the prefix for all default http responders.
|
4
|
+
:base_url: '/'
|
33
5
|
#
|
34
|
-
#
|
35
|
-
|
36
|
-
#
|
37
|
-
|
38
|
-
:server_poll_interval: 2000 # 2 seconds
|
39
|
-
#
|
40
|
-
# Switches on debug-mode:
|
41
|
-
# - Generates more output
|
42
|
-
# - Each time /hello is post-requested:
|
43
|
-
# - Plugins are reloaded from source
|
44
|
-
# - GZFiles are reloaded (if more recent than in memory)
|
45
|
-
:debug_mode: false
|
46
|
-
#
|
47
|
-
# Web server-related settings:
|
48
|
-
:http_server:
|
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
|
49
10
|
#
|
50
|
-
#
|
51
|
-
|
52
|
-
:latency: 0
|
11
|
+
# Enabling this appends all msg.reply call output to stdout
|
12
|
+
:trace: false
|
53
13
|
#
|
54
|
-
#
|
55
|
-
:
|
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: [ ]
|
56
29
|
#
|
57
|
-
#
|
58
|
-
:
|
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
|
59
38
|
#
|
60
|
-
#
|
61
|
-
|
62
|
-
#
|
63
|
-
#
|
64
|
-
#
|
65
|
-
:
|
66
|
-
#
|
67
|
-
# When :cache_maximize is enabled,
|
68
|
-
# this is the time (in seconds) the cached
|
69
|
-
# content will expire in
|
70
|
-
:cache_expire: 14515200 # 6 months
|
71
|
-
#
|
72
|
-
# Paths to scan for available plugins
|
73
|
-
:plugin_paths: [ ]
|
74
|
-
#
|
75
|
-
# List of files that include strings
|
76
|
-
:string_files: [
|
77
|
-
"conf/default_strings.yaml"
|
78
|
-
]
|
79
|
-
#
|
80
|
-
# Transporter settings:
|
81
|
-
:transporter_conf:
|
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
|
82
45
|
#
|
83
|
-
#
|
84
|
-
:
|
85
|
-
#
|
86
|
-
#
|
87
|
-
#
|
88
|
-
:
|
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
|
89
61
|
#
|
90
|
-
#
|
91
|
-
|
62
|
+
# When enabled, sets http cache headers
|
63
|
+
# to cache content as long as possible.
|
64
|
+
:cache_maximize: true
|
92
65
|
#
|
93
|
-
#
|
94
|
-
#
|
95
|
-
#
|
96
|
-
|
97
|
-
:trust_cookies: true
|
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
|
98
70
|
#
|
99
|
-
#
|
100
|
-
:
|
71
|
+
# Paths to scan for available plugins
|
72
|
+
:plugin_paths: [ ]
|
101
73
|
#
|
102
|
-
#
|
103
|
-
:
|
74
|
+
# List of files that include strings
|
75
|
+
:string_files: [
|
76
|
+
"conf/default_strings.yaml"
|
77
|
+
]
|
104
78
|
#
|
105
|
-
#
|
106
|
-
:
|
79
|
+
# Transporter settings:
|
80
|
+
:transporter_conf:
|
81
|
+
#
|
82
|
+
# The HApplication priority of the client, when actively polling.
|
83
|
+
:client_poll_priority: 60
|
107
84
|
#
|
108
|
-
# Key length controls the length of the random-part of the key.
|
109
|
-
:key_length: 12
|
110
85
|
#
|
111
|
-
#
|
112
|
-
:
|
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: '/'
|
113
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
|
+
|
114
152
|
#
|
115
|
-
#
|
116
|
-
|
117
|
-
|
118
|
-
|
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
|
119
160
|
#
|
120
|
-
#
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
# Defaults to false, will be the default in a future version.
|
126
|
-
:clone_cookie_sessions: true
|
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
|
+
}
|
127
166
|
#
|
128
|
-
#
|
129
|
-
|
130
|
-
|
167
|
+
# Entered by code, empty container
|
168
|
+
:broker_urls: { }
|
169
|
+
|
170
|
+
|
171
|
+
#### Client package build configuration
|
131
172
|
#
|
132
|
-
# This option overrides the default session timeout.
|
133
|
-
# Don't set this to less than the expected poll interval,
|
134
|
-
# otherwise the session might expire before the previous
|
135
|
-
# (cloned) session re-connects the next time.
|
136
|
-
# A safe value for a 60 second poll interval is 120 (default).
|
137
|
-
:cloned_session_expires_in: 120
|
138
173
|
#
|
139
|
-
|
140
|
-
:messages:
|
141
|
-
#
|
142
|
-
# if the session is invalid for one reason or another, display this:
|
143
|
-
:invalid_session:
|
144
|
-
:title: 'Invalid Session'
|
145
|
-
:descr: 'Your session is invalid. Please reload the page to continue.'
|
146
|
-
:uri: '/'
|
147
|
-
#
|
148
|
-
# Database configuration
|
149
|
-
:database:
|
150
|
-
# Session database storage string. Leave empty here to enable the wizard for storage.
|
151
|
-
:ses_db: 'sqlite://db/ses.db'
|
174
|
+
:client_pkg:
|
152
175
|
|
153
|
-
#
|
154
|
-
|
155
|
-
:values_conf:
|
156
|
-
# Key length controls the length of the random-part of the key.
|
157
|
-
:key_length: 8
|
158
|
-
#
|
159
|
-
# Disposable keys, when enabled, changes the value id on each session restoration
|
160
|
-
:disposable_keys: true
|
161
|
-
#
|
162
|
-
# Daemon helper files, leave empty for defaults.
|
163
|
-
:daemon: {
|
164
|
-
#:pid_fn: /var/run/rsence.pid
|
165
|
-
#:log_fn: /var/log/rsence.log
|
166
|
-
}
|
167
|
-
#
|
168
|
-
# Entered by code, empty container
|
169
|
-
:broker_urls: { }
|
176
|
+
# Source directories to scan
|
177
|
+
:src_dirs: []
|
170
178
|
|
179
|
+
# RSence Client Framework
|
180
|
+
#- js
|
171
181
|
|
172
|
-
|
173
|
-
#
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
#
|
178
|
-
|
179
|
-
|
180
|
-
#
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
# List of theme names to include and pack
|
187
|
-
:theme_names:
|
188
|
-
- default # Makes default_theme.js containing css and html templates
|
189
|
-
- bright # Makes bright_theme.js containing css and html templates
|
190
|
-
|
191
|
-
# List of packages to build
|
192
|
-
:packages:
|
193
|
-
|
194
|
-
# The core package, loaded by default using index_html
|
195
|
-
core:
|
196
|
-
- class # HClass
|
197
|
-
- elem # ELEM
|
198
|
-
- event # EVENT
|
199
|
-
- sha # SHAClass
|
200
|
-
- system # HSystem
|
201
|
-
- valueresponder # HValueResponder
|
202
|
-
- application # HApplication
|
203
|
-
- comm # COMM
|
204
|
-
- queue # COMM.Queue
|
205
|
-
- session # COMM.Session
|
206
|
-
- transporter # COMM.Transporter
|
207
|
-
- sessionwatcher # COMM.SessionWatcher
|
208
|
-
- urlresponder # COMM.URLResponder
|
209
|
-
- autosync # ( automatic sync setup )
|
210
|
-
- values # COMM.Values
|
211
|
-
- value # HValue
|
212
|
-
- jsloader # COMM.JSLoader
|
213
|
-
- json_renderer # COMM.JSONRenderer
|
214
|
-
- valuematrix # HValueMatrixInterface & HValueMatrix
|
215
|
-
- point # HPoint
|
216
|
-
- rect # HRect
|
217
|
-
- thememanager # HThemeManager
|
218
|
-
- markupview # HMarkupView
|
219
|
-
- morphanimation # HMorphAnimation
|
220
|
-
- viewdefaults # HViewDefaults
|
221
|
-
- view # HView
|
222
|
-
- eventresponder # HEventResponder
|
223
|
-
- dummyvalue # HDummyValue
|
224
|
-
- controldefaults # HControlDefaults
|
225
|
-
- control # HControl
|
226
|
-
- dyncontrol # HDynControl
|
227
|
-
- centerview # HCenterView
|
228
|
-
- scrollview # HScrollView
|
229
|
-
- inlineview # HInlineView
|
230
|
-
|
231
|
-
# The default collection of simple control widgets (components)
|
232
|
-
controls:
|
233
|
-
- button # HButton & HClickValueButton
|
234
|
-
- checkbox # HCheckbox
|
235
|
-
- radiobutton # HRadioButton
|
236
|
-
- stringview # HStringView
|
237
|
-
- textcontrol # HTextControl
|
238
|
-
- passwordcontrol # HPasswordControl
|
239
|
-
- textarea # HTextArea
|
240
|
-
- uploader # HUploader
|
241
|
-
- slider # HSlider
|
242
|
-
- vslider # HVSlider
|
243
|
-
- progressbar # HProgressBar
|
244
|
-
- progressindicator # HProgressIndicator
|
245
|
-
- imageview # HImageView
|
246
|
-
- stepper # HStepper
|
247
|
-
- validatorview # HValidatorView
|
248
|
-
- window # HWindow
|
249
|
-
- tab # HTab & HTabView & HTabItem
|
250
|
-
- sheet # HSheet
|
251
|
-
- alert_sheet # HAlertSheet
|
252
|
-
- confirm_sheet # HConfirmSheet
|
253
|
-
|
254
|
-
# Server error message application ( the Reload / Reset Session dialog )
|
255
|
-
servermessage:
|
256
|
-
- reloadapp # ReloadApp
|
257
|
-
|
258
|
-
# Special package for Internet Explorer 6.0
|
259
|
-
iefix:
|
260
|
-
- iefix
|
261
|
-
|
262
|
-
# Date and time -related control widgets (components)
|
263
|
-
# These are not complete; they are still under development
|
264
|
-
# and will be included in the controls package when finalized.
|
265
|
-
datetime:
|
266
|
-
- datetimevalue # HDateTime
|
267
|
-
- calendar # HCalendar
|
268
|
-
- timesheet # HTimeSheet
|
269
|
-
- timesheet_item # HTimeSheetItem
|
270
|
-
- timesheet_item_edit # HTimeSheetItemEditor
|
271
|
-
|
272
|
-
# List related control widgets (components)
|
273
|
-
# These are not complete; they are still under development
|
274
|
-
# and will be included in the controls package when finalized.
|
275
|
-
lists:
|
276
|
-
- listitems # HListItems
|
277
|
-
- checkboxlist # HCheckboxList
|
278
|
-
- radiobuttonlist # HRadiobuttonList
|
279
|
-
|
280
|
-
# Special packages that include other packages (not used currently)
|
281
|
-
:compound_packages:
|
282
|
-
allinone:
|
283
|
-
- core
|
284
|
-
- iefix
|
285
|
-
- default_theme
|
286
|
-
- bright_theme
|
287
|
-
- controls
|
288
|
-
- lists
|
289
|
-
- datetime
|
290
|
-
|
291
|
-
# List of variables and other names beginning
|
292
|
-
# with a underscore that should not be obfuscated
|
293
|
-
:reserved_names:
|
294
|
-
- _ID
|
295
|
-
- _WIDTH
|
296
|
-
- _width
|
297
|
-
- _HEIGHT
|
298
|
-
- _height
|
299
|
-
- _
|
300
|
-
|
301
|
-
# List of file extensions considered graphics image types.
|
302
|
-
# Used for theme graphics inclusion.
|
303
|
-
:gfx_formats:
|
304
|
-
- .jpg
|
305
|
-
- .gif
|
306
|
-
- .png
|
307
|
-
- .swf
|
308
|
-
- .svg
|
309
|
-
- .pdf
|
310
|
-
|
311
|
-
# The name of the include file
|
312
|
-
:js_inc: js.inc
|
313
|
-
|
314
|
-
# If disabled, makes packages out of single source bundles automatically
|
315
|
-
:dont_pack_undefined: true
|
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:
|
316
195
|
|
317
|
-
|
318
|
-
|
196
|
+
# RSence.*
|
197
|
+
- rsence_ns
|
319
198
|
|
320
|
-
|
321
|
-
|
199
|
+
# RSence.Core
|
200
|
+
- class # HClass
|
201
|
+
- elem # ELEM
|
202
|
+
- event # Event
|
322
203
|
|
323
|
-
|
324
|
-
|
204
|
+
# RSence.Util
|
205
|
+
- sha # SHA
|
325
206
|
|
326
|
-
|
327
|
-
|
207
|
+
# RSence.Foundation
|
208
|
+
- system # HSystem
|
209
|
+
- valueresponder # HValueResponder
|
210
|
+
- application # HApplication
|
328
211
|
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
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
|
+
|
291
|
+
# Special packages that include other packages (not used currently)
|
292
|
+
:compound_packages:
|
293
|
+
allinone:
|
294
|
+
- core
|
295
|
+
- default_theme
|
296
|
+
- controls
|
297
|
+
- lists
|
298
|
+
- datetime
|
299
|
+
|
300
|
+
# List of variables and other names beginning
|
301
|
+
# with a underscore that should not be obfuscated
|
302
|
+
:reserved_names:
|
303
|
+
- _ID
|
304
|
+
- _WIDTH
|
305
|
+
- _width
|
306
|
+
- _HEIGHT
|
307
|
+
- _height
|
308
|
+
- _
|
309
|
+
|
310
|
+
# List of file extensions considered graphics image types.
|
311
|
+
# Used for theme graphics inclusion.
|
312
|
+
:gfx_formats:
|
313
|
+
- .jpg
|
314
|
+
- .gif
|
315
|
+
- .png
|
316
|
+
- .swf
|
317
|
+
- .svg
|
318
|
+
- .pdf
|
319
|
+
|
320
|
+
# The name of the include file
|
321
|
+
:js_inc: js.inc
|
322
|
+
|
323
|
+
# If disabled, makes packages out of single source bundles automatically
|
324
|
+
:dont_pack_undefined: true
|
325
|
+
|
326
|
+
# Replacement prefix for obfuscated names
|
327
|
+
:repl_prefix: _
|
328
|
+
|
329
|
+
# If enabled, doesn't obfuscate code (useful for debugging)
|
330
|
+
:no_obfuscation: false
|
331
|
+
|
332
|
+
# If enabled, doesn't remove whitespace (useful for debugging)
|
333
|
+
:no_whitespace_removal: false
|
334
|
+
|
335
|
+
# If enabled, doesn't make gzipped packages
|
336
|
+
:no_gzip: false
|
337
|
+
|
338
|
+
# The strategy for gzip, a number between 0 and 9
|
339
|
+
# - 0 means largest size, but fast compression
|
340
|
+
# - 9 means smallest size, but slow compression
|
341
|
+
# - any number in between is a compromise
|
342
|
+
:gz_strategy: 9
|
334
343
|
|
335
344
|
|
336
345
|
|