rsence 2.0.0.7.pre → 2.0.0.8.pre

Sign up to get free protection for your applications and to get access to all the features.
data/INSTALL.rdoc CHANGED
@@ -1,6 +1,3 @@
1
-
2
- = NOTE: This installation manual isn't fully accurate at this time.
3
-
4
1
  = Installation
5
2
 
6
3
  If you already have a working ruby environment and know what to do, the easiest way is just:
@@ -25,23 +22,18 @@ This applies to all version of Mac OS X
25
22
 
26
23
  ==== 1.1.1. Mac OS X 10.4 and 10.5
27
24
 
28
- This step applies only to Mac OS X 10.4 Tiger and 10.5 Leopard
25
+ This step applies only to Mac OS X 10.4 Tiger and 10.5 Leopard. The bundled ruby build of these versions of Mac OS X is somewhat broken.
29
26
 
30
- * Install these packages using Terminal:
27
+ * Install the ruby and rb-rubygems packages using Terminal like this:
31
28
 
32
- sudo port install ruby +thread_hooks
29
+ sudo port install ruby
33
30
  sudo port install rb-rubygems
34
31
 
35
32
  ==== 1.1.2 Mac OS X 10.6
36
33
 
37
- This step applies only to Mac OS X 10.6 Snow Leopard
38
-
39
- * Install this package using Terminal:
40
-
41
- sudo port install sqlite3
42
-
34
+ RSence works out-of-the box in Mac OS X 10.6 Snow Leopard.
43
35
 
44
- === 1.2. Debian and Ubuntu GNU Linux
36
+ === 1.2. Debian and Ubuntu Linux
45
37
 
46
38
  This step applies only to Debian, Ubuntu and similar Linux distributions.
47
39
 
@@ -59,17 +51,17 @@ Windows compatibility has been officially tested on Windows XP SP3 and Windows 7
59
51
  * Download Ruby 1.8.7-p249 (RC2) from http://rubyinstaller.org/download.html
60
52
  * Run the downloaded exe to install ruby
61
53
  * In the installation and destination prompt, check these options:
62
- * [x] Add Ruby executables to your PATH
63
- * [x] Associate .rb and .rbw files with this Ruby installation
54
+ * Add Ruby executables to your PATH
55
+ * Associate .rb and .rbw files with this Ruby installation
64
56
  * Download and Install the Development Kit from http://rubyinstaller.org/download.html
65
57
  * Extract the included directories into the directory where you installed ruby.
66
58
  * It's C:\ruby by default.
67
59
 
68
60
  ==== 1.3.2. Install RSence
69
61
  * In the command prompt, run:
70
- gem update --system
71
- gem install rsence --pre
72
- rsence help
62
+ gem update --system
63
+ gem install rsence --pre
64
+ rsence help
73
65
 
74
66
  ==== 1.3.3. Create RSence environment
75
67
 
@@ -78,18 +70,24 @@ Also, the 'my_project' project directory is just for illustration purposes.
78
70
  Use something else instead of those.
79
71
 
80
72
  * In the command prompt, run:
81
- cd \my_projects
82
- rsence initenv my_project
83
- * Answer the quetions
73
+ cd \my_projects
74
+ rsence initenv my_project
75
+ * Answer the questions
84
76
  * In the command prompt, run:
85
- rsence run my_project
77
+ rsence run my_project
86
78
  * Open your web browser in the address as configured.
87
79
  * If the address is 0.0.0.0, ether 127.0.0.1 instead.
80
+ * Using just defaults, the following url should work: http://127.0.0.1:8001/
88
81
 
89
82
  ==== 1.3.4. Windows limitations
90
- If you install the sqlite dll and the sqlite3-ruby gem, you'll gain persistent sessions and the "Warning: Session database is not available. Can't use persistent sessions" message will disappear when starting up rsence. It's not, however depended on in the default install, because it's not strictly required and makes the first installation much easier.
83
+ If you install the sqlite dll and the sqlite3-ruby gem, you'll gain persistent sessions and this warning message will disappear:
84
+ Warning: Session database is not available. Can't use persistent sessions
85
+ It's not, however, depended on 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
+
91
87
  Backgrounding is not yet implemented, because POSIX signals are not fully implemented in windows and backgrounding requires some windows service hooks.
92
88
 
89
+ However, if you run RSence under Cygwin, everything should work like on a unix machines.
90
+
93
91
 
94
92
  === 1.99. Other UNIX / Linux systems:
95
93
 
@@ -100,23 +98,17 @@ You'll have to figure out how to install the dependencies on your own, but gener
100
98
  * Ruby
101
99
  * Version 1.8.7 or newer
102
100
  * http://ruby-lang.org/
103
- * Rake
104
- * Ruby replacement for make, needed for rubygems
105
- * Sqlite3
106
- * Simple SQL library
107
101
  * RubyGems
108
102
  * Ruby package manager
109
- * A standard set of compilers and build tools
103
+ * A standard set of compilers and build tools to build the gems with C extensions.
110
104
  * gcc, make etc.
111
105
 
112
106
 
113
107
  == 2. Ruby Dependencies
114
108
 
115
- The easiest way of installing a suggested set of these ruby gems is:
116
- gem install rsence-deps
117
-
118
- This is equivalent to:
119
- gem install rake highline rack mongrel soap4r rmagick json sequel sqlite3-ruby cssmin randgen jsmin_c jscompress html_min
109
+ The 'rsence' gem depends on the dummy 'rsence-deps' gem, which depends on all essential dependencies of RSence.
110
+ Optionally, you probably want at a database and a database adapter supported by Sequel: http://sequel.rubyforge.org/
111
+ This not only enables SessionStorage (persistent sessions between RSence restarts), but some plugins written for RSence depend on at least Sqlite.
120
112
 
121
113
  === 2.1 Detailed list of ruby dependencies
122
114
 
@@ -140,7 +132,7 @@ This is equivalent to:
140
132
  * http://github.com/fauna/mongrel
141
133
  * *thin*
142
134
  * Quick
143
- * Not as stable or reliable as mongrel
135
+ * Not as stable or reliable as mongrel (not at least yet)
144
136
  * http://code.macournoyer.com/thin/
145
137
  * *webrick*
146
138
  * No installation needed, part of the standard library
@@ -170,62 +162,103 @@ This is equivalent to:
170
162
  * Lightweight SQL library
171
163
  * Other database adapters compatible with sequel are fine. Just configure your setup accordingly.
172
164
  * *highline*
173
- * Not needed, if you configure manually.
174
- * soap4r
175
- * Optional, but required if you create SOAP services using the soap plugin
176
- * Not recommended
165
+ * Used by the initenv command.
177
166
  * rmagick
178
- * Optional, but suggested
167
+ * Optional, but suggested, because RSence has RMagick -savvy features, like serving RMagick objects using tickets that are rendered only when requested.
168
+ * Some plugins depend on it directly.
179
169
 
180
170
 
181
171
  == 3. Setting up RSence
182
172
 
183
- === 3.1. Download RSence
184
-
185
- There are two main options: *release* and *development*. Choose one of these:
186
- * *release*:
187
- * Latest stable release version.
188
- * Strongly suggested for development and production use.
189
- * Install as a gem:
190
- gem install rsence
191
- * *or* Manually download from:
192
- * http://rsence.org/
193
- * *development*:
194
- * The latest stable bleeding-edge version.
195
- * Clone the GIT repository on github:
196
- * http://github.com/rsence/rsence
173
+ The primary installation method of RSence is via RubyGems.
197
174
 
198
- === 3.2. Setting up
175
+ To ensure your RubyGems is up-to-date, run:
176
+ sudo gem update --system
199
177
 
200
- ==== 3.2.1. Start RSence in the development mode with logs printed to the standard output:
201
- rsence run -df
178
+ Even if RubyGems is up-to-date, ensure your installed gems are up-to-date, some of these are updated frequently. This will also update RSence release versions to the most recent version, if installed.
179
+ sudo gem update
180
+
181
+ === 3.1. Install RSence
202
182
 
203
- ==== 3.2.2. Configuration
204
- When starting up RSence for the first time, a configuration wizard is run. Just press return on the questions to use the default configuration. The default option is upper case: pressing return at a "Y/n" prompt will select "Y"
183
+ 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 --pre
185
+
186
+ Optionally, you might want to contribute to RSence development, just clone or fork the GIT repository on Github:
187
+ * http://github.com/rsence/rsence
205
188
 
189
+ When installed, ensure it works by exploring the help of the 'rsence' command, like:
190
+ rsence
191
+ rsence help
192
+ rsence help version
193
+ rsence help run
194
+ rsence help initenv
195
+ etc..
196
+
197
+ === 3.2. Setting up
198
+
199
+ ==== 3.2.1. Creating a RSence project environment
200
+
201
+ To set up an environment for your RSence project, use the initenv command. In this example '/home/me/projects' is assumed as your project directory. Replace that with a path that matches your own environment. The RSence project directory must either be empty or will be created automatically.
202
+ rsence initenv /home/me/projects/my_first_rsence_project
203
+
204
+ To see the options of the initenv command, use
205
+ rsence help initenv
206
+
207
+ By default, initenv asks a few simple questions to write your configuration file. Just press enter, if you want to keep the suggested default options.
208
+
209
+ The questions are:
210
+ * Project Title
211
+ * This is the name of your project. It's displayed as the title of the RSence web page.
212
+ * Session database connection string
213
+ * This is a database connection string for persistent RSence session storage. It allows keeping sessions valid even if RSence is restarted.
214
+ * You'll need the appropriate database adapter, most database engines are supported.
215
+ * The simplest (and default) database connection string is for a local Sqlite database.
216
+ * sqlite://db/ses.db
217
+ * This default example string is for a database named 'ses.db' to be created in the 'db' subdirectory of your project directory.
218
+ * The usual format is like any url, the following is for connecting to a mysql database named 'my_rsence_db' on the mysql server responding at 'localhost' on port '3306' using the username 'me' and password 'ins3cur3':
219
+ * mysql://me:ins3cur3@localhost:3306/my_rsence_db
220
+ * For more information, see:
221
+ * http://sequel.rubyforge.org/rdoc/files/doc/opening_databases_rdoc.html
222
+ * HTTP Port
223
+ * This is the port RSence listens to. It may be any free and valid port number.
224
+ * Interface TCP/IP address
225
+ * This is the address RSence binds to.
226
+ * '0.0.0.0' means RSence responds on all interface addresses configured on the computer.
227
+ * '127.0.0.1' means RSence responds only on localhost. For testing and development, use 127.0.01 instead of 'localhost' in the web browser url field, because cookies can't be set for 'localhost'.
228
+ * Any other IP address requires the same exact address to be configured on the computer RSence is running on.
229
+ * URI Prefix
230
+ * This is by default the root directory, or /
231
+ * Change this to another 'virtual directory', if you are configuring several RSence instances on a virtual host served via a HTTP proxy, like mod_rewrite on apache.
232
+
233
+ You may edit the conf/config.yaml at a later time to change these settings. The full list (and the defaults) are specified in the 'conf/default_conf.yaml' file in the installation directory of RSence.
234
+
235
+ Any differences in your local configuration replace the default. If the configuration option type is an Array, the defaults are not replaced, the defaults are appended to. If your configuration only has partial items of a Hash defined, only those are applied to the default.
236
+
237
+ ==== 3.2.2. Start RSence in the development mode with logs printed to the standard output:
238
+
239
+ The debug/development mode has the most verbose output and is the intended mode of RSence for development. Changes in your code are automatically (re)loaded and the javascript is not obfuscated or minimized in any way. Values also have human-readable id's.
240
+ cd /home/me/projects/my_first_rsence_project
241
+ rsence run -df
206
242
 
207
243
  ==== 3.3.3. Open a web browser
208
244
  * By default, the RSence listens on port 8001
209
245
  * To test it, open the address http://127.0.0.1:8001/
210
246
  * If everything works:
211
- * Currently: An empty, white page without error messages is a sign of success.
212
- * FIX 1:
213
- * A welcome message is displayed
214
- * Disables itself by touching a "disabled" file in its own directory.
215
- * Implement the standard "runonce" plugin.
216
- * FIX 2:
217
- * A setup review / configuration plugin
218
- * Implement the standard "setup" plugin.
247
+ * A welcome message is displayed
248
+ * Check the "Don't show again" checkbox and click the "Close" button to make the 'welcome' plugin uninstall itself.
249
+
250
+ ==== 3.3.4. Stop RSence
251
+ Just press CTRL-C in the terminal, if RSence was started using the 'run' command.
219
252
 
220
- ==== 3.3.4. Stop the server
221
- Just press CTRL-C in the terminal.
222
253
 
223
- ==== 3.3.5. Manual configuration
224
- Edit the conf/config.yaml file. To see all available options at their default state, see conf/default_conf.yaml
254
+ == 4. Modes of operation
225
255
 
256
+ RSence supports two main modes of operation: in the foreground and in the background. Each have various options. Use the 'rsence help run' and 'rsence help start' commands to read more about them.
226
257
 
227
- == 4. Controlling the process
228
- For development purposes (and the only option on Microsoft Windows):
258
+
259
+ === 4.1. Starting RSence as a foreground process.
260
+
261
+ The 'run' mode is well suited for development. Especially when combined with the -d and -f options.
229
262
 
230
263
  Starting in foreground mode:
231
264
  rsence run
@@ -238,59 +271,72 @@ Starting in foreground mode with debug and logging in foreground:
238
271
 
239
272
  Stopping in foreground mode: Press CTRL-C
240
273
 
241
- *NOTE: on Microsoft Windows:*
242
- * No backgrounding is supported, unless *run.rb* is configured as a Service.
243
274
 
244
- === 4.1. Starting the server in background mode
245
- In the background mode, standard output and standard errors are logged in the var/log directory and the pidfile is written in the var/pid directory.
275
+ === 4.2. Starting RSence as a daemon (background mode).
276
+
277
+ In the background mode, standard output and standard errors are logged in the 'log' directory of your project and the PID file is written in the 'run' directory. This mode of operation is best suited for production deployment and it's not available on Microsoft Windows, because full POSIX compliance is not available on Windows.
246
278
  rsence start
247
279
 
248
- === 4.2. Stopping the server in background mode
280
+ === 4.2.1 Stopping RSence in background mode
249
281
  rsence stop
250
282
 
251
- === 4.3. Checking the server status in background mode
283
+ === 4.2.2 Checking RSence status in background mode
252
284
  rsence status
253
285
 
254
- === 4.4. Restarting the server in background mode
286
+ === 4.2.3 To store the RSence sessions into the session database while in background mode
287
+ rsence save
288
+
289
+ The sessions are also stored when stopping and restarting RSence. Use the 'save' command regularly from a cron script or equivalent in a production environment.
290
+
291
+ === 4.3. Restarting RSence in background mode
255
292
  rsence restart
256
293
 
257
- === 4.5. Re-setting the sessions
258
- This is needed only, if the session storage becomes corrupt or you just want to start with a clean set of sessions.
294
+ === 4.2.5. Re-setting the sessions
295
+ This is needed only, if the session storage becomes corrupt in a development environment (changing value definitions and such). This invalidates all ongoing sessions.
259
296
  Just apply the --reset-sessions option after the run, start or restart command in the command prompt.
260
297
  rsence restart --reset-sessions
261
298
 
299
+ The '-r' switch is equivalent to '--reset-sessions'
300
+
262
301
  *NOTE: All the sessions currently connected clients are invalidated and need to reload the page*
263
302
 
264
- === 4.6. Running in development mode
303
+
304
+ === 4.4. Running in development mode
265
305
  Just apply the -d option after the *run*, *start* or *restart* command in the command prompt.
266
306
  rsence restart -d
267
307
 
268
- ==== 4.6.1. What does development mode do?
269
- * Plugins are reloaded automatically in the background, if they are changed, disabled, added or removed.
308
+ ==== 4.4.1. What does development mode do?
309
+ * Plugins are (re)loaded automatically in the background, if they are changed, disabled, added or removed.
310
+ * This is also enabled with the -a switch (--auto-update)
270
311
  * Javascript packages are automatically re-built, if they are changed.
271
- * Verbose logging
312
+ * This is also enabled with the -a switch (--auto-update)
313
+ * Much more verbose logging
314
+ * Code obfuscation / minimizing options are turned off.
272
315
 
273
- === 4.7. Other command-line options
316
+ === 4.5. Other command-line options
274
317
  Just run this command to see the available options:
275
- rsence help
318
+ rsence help <command>
319
+ example:
320
+ rsence help run
276
321
 
277
- === 4.8. Running RSence using rackup
322
+ === 4.6. Running RSence using rackup
278
323
  rackup conf/config.ru
279
324
 
280
- === 4.9. Running RSence using unicorn
325
+ === 4.7. Running RSence using unicorn
281
326
  unicorn conf/config.ru -c conf/unicorn.conf
282
327
 
328
+
283
329
  == 5. Plugin Deployment
284
330
 
285
- If you followed, the previous steps, you are ready to deploy some software.
286
- * In development mode (see 4.6.), plugins are (re/un)loaded when:
331
+ If you followed the previous steps, you are ready to deploy some software.
332
+ * In development mode (see 4.4.), plugins are (re/un)loaded when:
287
333
  * Adding a new plugin into the plugins directory
288
334
  * Removing a plugin from the plugins directory
289
335
  * Disabling a plugin by creating a file or folder named "disabled" in the plugin's bundle directory
290
336
  * Enabling a plugin by removing a file or folder named "disabled" in the plugin's bundle directory
291
337
  * The plugin's ruby or yaml files are changed.
292
338
 
293
- * In production mode, a server restart is required (see 4.4.)
339
+ * In production mode, a RSence restart is required (see 4.4.), unless running with the '-a' ('--auto-update') option enabled. Enabling it is a good idea for production environments where the code is updated frequently. It enables nearly zero downtime, if code updates are thoroughly tested before being deployed.
294
340
 
295
341
  * By default, the "plugins" directory in the "rsence" directory is the only plugin directory.
296
342
  * Edit the configuration file to enable other directories.
@@ -305,5 +351,14 @@ Move a plugin bundle out of the the "plugins" directory.
305
351
 
306
352
  === 5.3. Temporarily disabling a plugin
307
353
  Create an empty file named "disabled" in the plugin bundle to disable it.
308
- touch rsence/plugins/legacy/disabled
354
+ touch plugins/legacy/disabled
355
+
356
+
357
+ == 6. Getting more information
358
+
359
+ * Explore http://rsence.org/
360
+ * Join our chat room on IRC (IRCNet and FreeNode):
361
+ #rsence
362
+ * Email a question to us:
363
+ info@rsence.org
309
364
 
data/README.rdoc CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- = RSence 2.0.0.6.pre 2010-??-??
2
+ = RSence 2.0.0.x.pre 2010-??-??
3
3
 
4
4
  http://rsence.org/
5
5
 
@@ -23,7 +23,7 @@ is the directory of your project) is:
23
23
 
24
24
  [dir] project_directory :: The directory of your project.
25
25
  [dir] conf :: The directory of config files.
26
- [file] config.yaml :: The config file to load by defult.
26
+ [file] config.yaml :: The config file to load by default.
27
27
  [dir] var :: Directory containing various runtime files.
28
28
  [dir] run :: Directory containing PID files.
29
29
  [dir] log :: Directory containing log files.
@@ -46,16 +46,16 @@ The plugins directory contains the plugins installed in the project.
46
46
 
47
47
  Each command-line tool command takes a number of options, the path defaults to the current working directory.
48
48
 
49
- === Running in foregrond
49
+ === Starting RSence in foreground
50
50
  rsence run /path/of/project
51
51
 
52
- === Running in background
52
+ === Starting the RSence daemon
53
53
  rsence start /path/of/project
54
54
 
55
- === Stopiing from background
55
+ === Stopping the RSence daemon
56
56
  rsence stop /path/of/project
57
57
 
58
- === Restarting in background
58
+ === Restarting the RSence daemon
59
59
  rsence restart /path/of/project
60
60
 
61
61
  === Checking if project is running
@@ -69,7 +69,7 @@ Each command-line tool command takes a number of options, the path defaults to t
69
69
  === Getting detailed instructions of a command
70
70
  rsence help <command>
71
71
 
72
- eg:
72
+ Example:
73
73
 
74
74
  rsence help run
75
75
 
@@ -78,7 +78,7 @@ For more detailed installation and usage instructions, read the INSTALL.rdoc doc
78
78
 
79
79
  === Licensing:
80
80
  * Free: *GPL*
81
- * Alternative licensing queries available via http://riassence.com/ and sales@riassence.com
81
+ * Alternative licensing queries for commercial interests are available via http://riassence.com/ and sales@riassence.com
82
82
 
83
83
  === Community support:
84
84
  * Web: http://rsence.org/
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0.7.pre
1
+ 2.0.0.8.pre
@@ -40,7 +40,7 @@
40
40
  # If the plugins rescan fails, display this:
41
41
  :valuemanager_sync_client_error:
42
42
  :title: 'SyncClientError'
43
- :descr: 'The value syncronization to the client failed with error:'
43
+ :descr: 'The value synchronization to the client failed with error:'
44
44
  :uri: '/'
45
45
  #
46
46
  # If the plugins rescan fails, display this:
@@ -251,7 +251,7 @@
251
251
 
252
252
  --port <number> The port number the http server listens to.
253
253
 
254
- --addr <ip address> The IP address or netmask the http server listens to.
254
+ --addr <ip address> The IP address or net mask the http server listens to.
255
255
  '0.0.0.0' matches all interfaces.
256
256
  '127.0.0.1' matches the local loopback interface.
257
257
 
@@ -287,7 +287,7 @@
287
287
 
288
288
  [d] project_name : The name of your project.
289
289
  [d] conf : The directory of config files.
290
- [f] config.yaml : The config file to load by defult.
290
+ [f] config.yaml : The config file to load by default.
291
291
  [d] db : Directory containing database files.
292
292
  [d] log : Directory containing log files.
293
293
  [d] plugins : Directory containing installed plugins.
@@ -312,7 +312,7 @@
312
312
 
313
313
  --port <number> The port number the http server listens to.
314
314
 
315
- --addr <ip address> The IP address or netmask the http server listens to.
315
+ --addr <ip address> The IP address or net mask the http server listens to.
316
316
  '0.0.0.0' matches all interfaces.
317
317
  '127.0.0.1' matches the local loopback interface.
318
318
  Defaults to 0.0.0.0
@@ -389,7 +389,7 @@
389
389
 
390
390
  --port <number> The port number the http server listens to.
391
391
 
392
- --addr <ip address> The IP address or netmask the http server listens to.
392
+ --addr <ip address> The IP address or net mask the http server listens to.
393
393
 
394
394
  :save: |+
395
395
  usage: 'rsence save [options] [PATH]'
@@ -420,7 +420,7 @@
420
420
  backwards compatibility with software written for previous versions.
421
421
 
422
422
  The minor number designates minor changes in functionality, like minor or
423
- moderate changes in functinality that usually don't impact backwards
423
+ moderate changes in functionality that usually don't impact backwards
424
424
  compatibilty of software written for a previous release with the same major
425
425
  version.
426
426
 
@@ -228,15 +228,11 @@ module RSence
228
228
  :version => '0.0.0',
229
229
 
230
230
  # A brief description of the package (rdoc formatting supported)
231
- :description => 'No Description given',
231
+ :description => 'No Description',
232
232
 
233
233
  # A flag (when false) prevents the plugin from automatically reload when changed.
234
234
  :reloadable => true,
235
235
 
236
- # A flag (when false) enables automatic construction
237
- # of the Plugin and Servlet classes contained.
238
- :inits_self => false,
239
-
240
236
  # System version requirement.
241
237
  :sys_version => '>= 1.0.0',
242
238
 
@@ -287,24 +283,20 @@ module RSence
287
283
  :src => bundle_src
288
284
  } )
289
285
 
290
- if bundle_info[:inits_self]
291
- warn "Plugins can't init them self anymore. Please fix plugin: #{bundle_name.inspect}"
292
- else
293
- module_ns.constants.each do |module_const_name|
294
- module_const = module_ns.const_get( module_const_name )
295
- if module_const.class == Class
296
- bundle_type = module_const.bundle_type
297
- if [:Servlet, :Plugin, :GUIPlugin].include? bundle_type
298
- bundle_inst = module_const.new( bundle_name, bundle_info, bundle_path, self )
299
- bundle_inst.register( bundle_name ) if [ :Plugin, :GUIPlugin ].include?( bundle_type )
300
- break
301
- else
302
- warn "Can't init class: #{module_const.to_s}"
303
- break
304
- end
286
+ module_ns.constants.each do |module_const_name|
287
+ module_const = module_ns.const_get( module_const_name )
288
+ if module_const.class == Class
289
+ bundle_type = module_const.bundle_type
290
+ if [:Servlet, :Plugin, :GUIPlugin].include? bundle_type
291
+ bundle_inst = module_const.new( bundle_name, bundle_info, bundle_path, self )
292
+ bundle_inst.register( bundle_name ) if [ :Plugin, :GUIPlugin ].include?( bundle_type )
293
+ break
305
294
  else
306
- warn "module_const.class: #{module_const.class.inspect}"
295
+ warn "Can't init class: #{module_const.to_s}"
296
+ break
307
297
  end
298
+ else
299
+ warn "Invalid module_const.class: #{module_const.class.inspect}"
308
300
  end
309
301
  end
310
302
  end
@@ -16,10 +16,6 @@ description: |
16
16
  # A flag (when false) prevents the plugin from automatically reload when changed.
17
17
  reloadable: false
18
18
 
19
- # A flag (when false) enables automatic construction
20
- # of the Plugin and Servlet classes contained.
21
- inits_self: false
22
-
23
19
  # System version requirement.
24
20
  sys_version: '>= 2.0.0'
25
21
 
@@ -9,13 +9,6 @@ version: 2.0.0
9
9
  description: |
10
10
  This plugin serves the initial html page.
11
11
 
12
- # A flag (when false) prevents the plugin from automatically reload when changed.
13
- reloadable: true
14
-
15
- # A flag (when false) enables automatic construction
16
- # of the Plugin and Servlet classes contained.
17
- inits_self: false
18
-
19
12
  # System version requirement.
20
13
  sys_version: '>= 2.0.0'
21
14
 
@@ -7,14 +7,7 @@ version: 2.0.0
7
7
 
8
8
  # A brief description of the package (rdoc formatting supported)
9
9
  description: |
10
- This manages communication between client and server.
11
-
12
- # A flag (when false) prevents the plugin from automatically reload when changed.
13
- reloadable: true
14
-
15
- # A flag (when false) enables automatic construction
16
- # of the Plugin and Servlet classes contained.
17
- inits_self: false
10
+ The main plugin manages the flow of communication between client and server.
18
11
 
19
12
  # System version requirement.
20
13
  sys_version: '>= 2.0.0'
@@ -0,0 +1,17 @@
1
+
2
+ # The human-readable product name of the package
3
+ title: Ticket services
4
+
5
+ # The human-readable version of the package
6
+ version: 2.0.0
7
+
8
+ # A brief description of the package (rdoc formatting supported)
9
+ description: |
10
+ This bundle provides various ticket services for serving files and file-like objects using disposable url's.
11
+
12
+ # A flag (when false) prevents the plugin from automatically reload when changed.
13
+ reloadable: false
14
+
15
+ # System version requirement.
16
+ sys_version: '>= 2.0.0'
17
+
@@ -3,7 +3,7 @@
3
3
  title: Legacy Compatibility Plugin
4
4
 
5
5
  # The human-readable version of the package
6
- version: 2.0.0
6
+ version: 1.0.0
7
7
 
8
8
  # A brief description of the package (rdoc formatting supported)
9
9
  description: |
@@ -13,10 +13,6 @@ description: |
13
13
  # A flag (when false) prevents the plugin from automatically reload when changed.
14
14
  reloadable: false
15
15
 
16
- # A flag (when false) enables automatic construction
17
- # of the Plugin and Servlet classes contained.
18
- inits_self: false
19
-
20
16
  # System version requirement.
21
17
  sys_version: '>= 2.0.0'
22
18
 
@@ -3,7 +3,7 @@
3
3
  title: Welcome message
4
4
 
5
5
  # The human-readable version of the package
6
- version: 2.0.0
6
+ version: 1.0.0
7
7
 
8
8
  # A brief description of the package (rdoc formatting supported)
9
9
  description: |
@@ -11,13 +11,6 @@ description: |
11
11
  environments, when the rsence initenv in executed.
12
12
  You may safely remove this plugin bundle.
13
13
 
14
- # A flag (when false) prevents the plugin from automatically reload when changed.
15
- reloadable: true
16
-
17
- # A flag (when false) enables automatic construction
18
- # of the Plugin and Servlet classes contained.
19
- inits_self: false
20
-
21
14
  # System version requirement.
22
15
  sys_version: '>= 2.0.0'
23
16
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rsence
3
3
  version: !ruby/object:Gem::Version
4
- hash: 961916136
4
+ hash: 961916116
5
5
  prerelease: true
6
6
  segments:
7
7
  - 2
8
8
  - 0
9
9
  - 0
10
- - 7
10
+ - 8
11
11
  - pre
12
- version: 2.0.0.7.pre
12
+ version: 2.0.0.8.pre
13
13
  platform: ruby
14
14
  authors:
15
15
  - Riassence Inc.
@@ -17,7 +17,7 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2010-05-18 00:00:00 +03:00
20
+ date: 2010-05-19 00:00:00 +03:00
21
21
  default_executable: rsence
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
@@ -98,6 +98,7 @@ files:
98
98
  - plugins/main/js/riassence_ns.js
99
99
  - plugins/main/main.rb
100
100
  - plugins/main/values.yaml
101
+ - plugins/ticket/info.yaml
101
102
  - plugins/ticket/lib/common.rb
102
103
  - plugins/ticket/lib/favicon.rb
103
104
  - plugins/ticket/lib/file.rb