rhoconnect 3.0.0.beta3 → 3.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/CHANGELOG +7 -4
  2. data/Gemfile.lock +1 -1
  3. data/Rakefile +40 -44
  4. data/doc/client.txt +16 -0
  5. data/doc/install.txt +2 -2
  6. data/examples/simple/dump.rdb +0 -0
  7. data/install.sh +49 -57
  8. data/installer/unix-like/post_install.sh +4 -0
  9. data/installer/unix-like/post_uninstall.sh +9 -0
  10. data/installer/unix-like/pre_install.sh +9 -0
  11. data/installer/unix-like/pre_uninstall.sh +23 -0
  12. data/installer/unix-like/rho_connect_install_checkers.rb +1 -4
  13. data/installer/unix-like/rho_connect_install_constants.rb +1 -1
  14. data/installer/unix-like/rho_connect_install_debian.rb +2 -2
  15. data/installer/unix-like/rho_connect_install_dnd.rb +7 -9
  16. data/installer/unix-like/rho_connect_install_get_params.rb +0 -2
  17. data/installer/unix-like/rho_connect_install_installers.rb +37 -37
  18. data/installer/unix-like/rho_connect_install_utilities.rb +7 -41
  19. data/installer/unix-like/rhoinstaller.rb +1 -5
  20. data/installer/utils/create_texts.rb +26 -9
  21. data/installer/utils/install_test.rb +24 -12
  22. data/installer/windows/rhosync.nsi +5 -5
  23. data/lib/rhoconnect/console/app/public/home.css +3 -10
  24. data/lib/rhoconnect/console/app/public/images/foot_logo_rhoconnect.png +0 -0
  25. data/lib/rhoconnect/console/app/public/images/logo_rhoconnect.png +0 -0
  26. data/lib/rhoconnect/console/app/routes/docs.rb +1 -1
  27. data/lib/rhoconnect/console/app/routes/home.rb +1 -1
  28. data/lib/rhoconnect/console/app/routes/user.rb +1 -1
  29. data/lib/rhoconnect/console/app/views/index.erb +1 -1
  30. data/lib/rhoconnect/console/app/views/layout.erb +4 -16
  31. data/lib/rhoconnect/db_adapter.rb +5 -7
  32. data/lib/rhoconnect/tasks.rb +31 -4
  33. data/lib/rhoconnect/version.rb +1 -1
  34. data/tasks/redis.rake +2 -2
  35. metadata +10 -21
  36. data/bin/rhoconnect-setup +0 -84
  37. data/installer/deb-scripts/LICENSE +0 -75
  38. data/installer/deb-scripts/install.sh +0 -300
  39. data/installer/deb-scripts/scripts/rho_connect_install_constants.rb +0 -32
  40. data/installer/deb-scripts/scripts/rho_connect_install_installers.rb +0 -103
  41. data/installer/deb-scripts/scripts/rho_connect_install_utilities.rb +0 -110
  42. data/installer/deb-scripts/scripts/rhoinstaller.rb +0 -55
  43. data/installer/deb-scripts/utils/README +0 -67
  44. data/installer/deb-scripts/utils/create_texts.rb +0 -76
  45. data/installer/deb-scripts/utils/redis_init_script +0 -124
  46. data/installer/deb-scripts/utils/redis_log_rotate +0 -8
  47. data/installer/unix-like/install.sh +0 -361
  48. data/installer/unix-like/post-install.sh +0 -8
  49. data/installer/unix-like/pre-install.sh +0 -8
  50. data/lib/rhoconnect/console/app/public/images/rhomobile_rhohub_logo.png +0 -0
@@ -4,22 +4,22 @@ require 'rho_connect_install_checkers'
4
4
  include Checkers
5
5
 
6
6
  module Installers
7
- extend self
8
7
  @options=''
9
8
 
10
9
  # configure_passenger
11
10
  # This method installs items that were retrieved via wget as well as passenger
12
11
  def configure_passenger(options)
13
12
  @options=options
14
- print_header "Configuring Passenger"
13
+ print_header "Configuring passenger ..."
15
14
  if @options[:web_server] && !check_web_server_running
16
15
  if @options[:web_server] == "apache2"
17
- print_header "Configuring Apache2 to work with Passenger"
16
+ print_header "Configuring apache2 to work with passenger ..."
18
17
  cmd "yes | #{@options[:prefix]}/bin/passenger-install-#{ @options[:web_server] }-module"
19
18
  elsif @options[:web_server] == "nginx"
20
- print_header "Configuring and Compiling Nginx to work with Passenger"
21
19
  nginx_version = Constants::Nginx
22
- cmd "cd #{@options[:prefix]}; wget http://nginx.org/download/#{nginx_version}.tar.gz; tar -xzvf #{nginx_version}.tar.gz"
20
+ print_header "Downloading http://nginx.org/download/#{nginx_version}.tar.gz ..."
21
+ cmd "cd #{@options[:prefix]}; wget http://nginx.org/download/#{nginx_version}.tar.gz -o /dev/null; tar -xzvf #{nginx_version}.tar.gz"
22
+ print_header "Configuring and compiling Nginx to work with passenger ..."
23
23
  cmd "#{@options[:prefix]}/bin/passenger-install-nginx-module --auto --prefix=/opt/nginx \
24
24
  --nginx-source-dir=#{@options[:prefix]}/#{nginx_version} \
25
25
  --extra-configure-flags='--with-http_ssl_module --with-http_gzip_static_module --user=nginx --group=nginx'"
@@ -41,24 +41,24 @@ module Installers
41
41
  # install_all_packages
42
42
  # This method installs all packages listed in the PACKAGES list defined
43
43
  # in the Constants file.
44
- def install_all_packages(pkg_mgr)
45
- print_header "Installing packages"
46
- Constants::PACKAGES.each do |pkg|
47
- install_package pkg, pkg_mgr unless check_package pkg == true
48
- end #do
49
- packages_not_found = check_all_packages
50
- if packages_not_found && !packages_not_found.empty?
51
- log_print packages_not_found
52
- else
53
- log_print "All packages installed correctly"
54
- end #if
55
- end #install_all_packages
44
+ # def install_all_packages(pkg_mgr)
45
+ # print_header "Installing packages ..."
46
+ # Constants::PACKAGES.each do |pkg|
47
+ # install_package pkg, pkg_mgr unless check_package pkg == true
48
+ # end #do
49
+ # packages_not_found = check_all_packages
50
+ # if packages_not_found && !packages_not_found.empty?
51
+ # log_print packages_not_found
52
+ # else
53
+ # log_print "All packages installed correctly"
54
+ # end #if
55
+ # end #install_all_packages
56
56
 
57
57
  # install_package
58
58
  # This method installs the package passed with the determined get_cmd
59
- def install_package(pkg, pkg_mgr)
60
- cmd "#{ pkg_mgr } install #{ pkg }" unless check_package pkg
61
- end #install_package
59
+ # def install_package(pkg, pkg_mgr)
60
+ # cmd "#{ pkg_mgr } install #{ pkg }" unless check_package pkg
61
+ # end #install_package
62
62
 
63
63
  # install_all_gems
64
64
  # This method installs all gems specified in the GEMS list defined in the
@@ -73,13 +73,13 @@ module Installers
73
73
  # install_gem
74
74
  # This method installs the given gem unless it is already installed
75
75
  def install_gem(gem)
76
- cmd "#{@gem_path} install #{ gem } --no-ri --no-rdoc" unless check_gem gem, @gem_path
76
+ cmd "#{@gem_path} install #{ gem } --no-ri --no-rdoc" unless check_gem(gem, @gem_path)
77
77
  end #install_gem
78
78
 
79
79
  # install_rubygems
80
80
  # This method installs rubygems which was downloaded and untarred earlier
81
81
  def install_rubygems
82
- print_header "Installing Rubygems"
82
+ print_header "Installing rubygems ..."
83
83
  Dir.chdir("#{@options[:prefix]}/#{Constants::RUBYGEMS}")
84
84
  cmd "#{@options[:prefix]}/bin/ruby setup.rb --prefix=#{@options[:prefix]}/#{Constants::RUBYGEMS}"
85
85
  @gem_path = "#{@options[:prefix]}/bin/gem"
@@ -89,9 +89,10 @@ module Installers
89
89
  # install_redis
90
90
  # This method installs redis
91
91
  def install_redis
92
+ print_header "Installing redis ..."
92
93
  Dir.chdir("#{@options[:prefix]}/#{Constants::REDIS}/src")
93
- cmd "make; make PREFIX=#{@options[:prefix]} install"
94
- cmd "mkdir #{@options[:prefix]}/etc" unless File.exist? "#{@options[:prefix]}/etc"
94
+ cmd "make 2>&1; make PREFIX=#{@options[:prefix]} install"
95
+ `mkdir #{@options[:prefix]}/etc` unless File.exist? "#{@options[:prefix]}/etc"
95
96
 
96
97
  #cmd "cp ../redis.conf #{@options[:prefix]}etc"
97
98
  redis_conf_file = File.new("#{@options[:prefix]}/etc/redis.conf", 'w')
@@ -112,32 +113,31 @@ module Installers
112
113
  # install_sqlite
113
114
  # This method instaqll sqlite
114
115
  def install_sqlite
116
+ print_header "Installing sqlite3 libs ..."
115
117
  Dir.chdir("#{@options[:prefix]}/#{Constants::SQLITE3}")
116
118
  cmd "./configure --prefix=#{@options[:prefix]}"
117
- cmd "make; make install"
119
+ cmd "make 2>&1; make install"
118
120
  end #install_sqlite
119
121
 
120
122
  # install_rhoconnect
121
123
  # This method installs rhoconnect
122
124
  def install_rhoconnect
123
- # start installations
124
- # store current gem_path
125
- # orig_gem_path = `which gem`
126
- print_header "Installing Rhoconnect"
127
- path_to_rc_gem = "/tmp/installdir/rhoconnect-#{@options[:version]}/rhoconnect-#{@options[:version]}.gem"
128
-
125
+ print_header "Installing rhoconnect ..."
129
126
  Dir.chdir(@options[:start_dir])
130
- if File.exists?(path_to_rc_gem)
131
- install_gem path_to_rc_gem
127
+
128
+ cmd "#{@options[:prefix]}/bin/bundle config build.sqlite3 " +
129
+ "--with-sqlite3-include=#{@options[:prefix]}/include " +
130
+ "--with-sqlite3-lib=#{@options[:prefix]}/lib" if @options[:pkg_mgr] =~ /yum/ # CentOS
131
+
132
+ gem_name = (Dir.glob "rhoconnect-*.gem")[0]
133
+ if gem_name && File.exists?(gem_name)
134
+ install_gem gem_name
132
135
  else
133
- cmd "#{@options[:prefix]}/bin/bundle config build.sqlite3 " +
134
- "--with-sqlite3-include=#{@options[:prefix]}/include " +
135
- "--with-sqlite3-lib=#{@options[:prefix]}/lib" if @options[:pkg_mgr] =~ /yum/ # CentOS
136
136
  cmd "#{@options[:prefix]}/bin/bundle install --system --binstubs=/opt/rhoconnect/bin --without=test development"
137
137
  # PATH=/opt/rhoconnect/bin:$PATH rake build
138
138
  cmd "PATH=#{@options[:prefix]}/bin:$PATH rake build"
139
139
  cmd "#{@gem_path} install pkg/rhoconnect-*.gem --no-ri --no-rdoc"
140
- `rm -f pkg/rhoconnect-*.gem`
140
+ #`rm -f pkg/rhoconnect-*.gem`
141
141
  end #if
142
142
  end #install_rhoconnect
143
143
  end #Installers
@@ -11,33 +11,10 @@ include Checkers
11
11
  include DownloadAndDocompress
12
12
 
13
13
  module Utilities
14
- extend self
15
-
16
- # get_elapsed_time
17
- # This method returns the time since the given initial_time
18
- def get_elapsed_time(initial_time)
19
- #get time difference
20
- elapsed_time = Time.now - initial_time
21
- #determine if time is displayed in hours, minutes, or seconds
22
- if elapsed_time >= 3600
23
- elapsed_time /= 60
24
- time_units = "hours"
25
- elsif elapsed_time >= 60 && elapsed_time < 3600
26
- elapsed_time /= 60
27
- time_units = "minutes"
28
- else
29
- time_units = "seconds"
30
- end #if
31
-
32
- #round elapsed_time to 3 decimal values
33
- elapsed_time = (elapsed_time * 10**3).round.to_f / 10**3
34
- elapsed_time.to_s << " " + time_units
35
- end #get_elapsed_time
36
-
37
14
  # log_print
38
15
  # This method displays, in minutes, how long the installation process took
39
16
  def log_print(string)
40
- puts string
17
+ puts string
41
18
  @log.info {string} unless @log == nil
42
19
  end #log_print
43
20
 
@@ -46,8 +23,9 @@ module Utilities
46
23
  # cmd
47
24
  # This method issues the given system command and calls log_print for output
48
25
  def cmd(cmd)
49
- log_print cmd
50
- log_print `#{cmd}`
26
+ @log.info cmd unless @log == nil
27
+ res = `#{cmd} 2>&1`
28
+ @log.info res unless @log == nil
51
29
  end #cmd
52
30
 
53
31
  #set_log_file
@@ -55,29 +33,17 @@ module Utilities
55
33
  @log = log
56
34
  end #set_log_file
57
35
 
58
- # print_header
59
- # This method displays a header surrounded by '=' characters consisting of
60
- # the given string
61
36
  def print_header(string)
62
- header = "\n"
63
- border = "===="
64
- string.each_char { border << "=" }
65
- header << border + "\n"
66
- header << "= " + string + " =\n"
67
- header << border +"\n"
68
- log_print header
37
+ log_print string
69
38
  end #print_header
70
39
 
71
40
  # cleanup
72
41
  # This method moves all compressed files from the installation directory
73
42
  # that were downloaded by this installation process
74
43
  def cleanup(prefix)
75
- print_header "Cleaning up"
44
+ print_header "Cleaning up ..."
76
45
  Constants::SOFTWARE.each do |sw|
77
- if File.exist? "#{prefix}/#{sw}.tar.gz"
78
- cmd "rm #{prefix}/#{sw}.tar.gz"
79
- cmd "rm -rf #{prefix}/#{sw}"
80
- end
46
+ cmd "rm #{prefix}/#{sw}.tar.gz; rm -rf #{prefix}/#{sw}" if File.exist? "#{prefix}/#{sw}.tar.gz"
81
47
  end
82
48
  end #cleanup
83
49
 
@@ -55,11 +55,6 @@ optparse = OptionParser.new do|opts|
55
55
  options[:silent] = true
56
56
  end #do
57
57
 
58
- options[:version] = nil
59
- opts.on( '-v', '--version VERSION', 'Specify VERSION as the rhoconect version' ) do |ver|
60
- options[:version] = ver
61
- end #do
62
-
63
58
  options[:web_server] = "nginx"
64
59
  opts.on( '-w', '--web-server SERVER', 'Specify apache2 or nginx. Default is Nginx.' ) do |server|
65
60
  options[:web_server] = server
@@ -74,6 +69,7 @@ end #do
74
69
  options[:start_dir] = `pwd`.strip
75
70
 
76
71
  optparse.parse!
72
+
77
73
  log = Logger.new(IO.readlines("#{options[:prefix]}/info.dat").last.strip)
78
74
  log.datetime_format = "%Y-%m-%d %H:%M:%S" # simplify time output
79
75
  options[:log] = log
@@ -88,6 +88,9 @@ user="${user:-root}"
88
88
  #config="${config:-/etc/redis/redis.conf}"
89
89
  #user="${user:-redis}"
90
90
 
91
+ # If the redis-cli file is not found, terminate the script.
92
+ test -x $redis_cli || exit 0
93
+
91
94
  #
92
95
  # Set the running $pid value based on $pidfile.
93
96
  #
@@ -350,7 +353,7 @@ _NGINX_CONF_
350
353
  rho_vhost_conf = <<'_VHOST_CONF_'
351
354
  server {
352
355
  listen 80;
353
- server_name www.yourhost.com; # <-- your server domain name!
356
+ # server_name www.yourhost.com; # <-- your server domain name!
354
357
  root /opt/nginx/html/rhoapp/public; # <--- be sure to point to 'public' folder of your application!
355
358
  passenger_enabled on;
356
359
  }
@@ -535,6 +538,18 @@ _NGINX_README_
535
538
  readme
536
539
  end
537
540
 
541
+ def generate_rhoapp(rho_path)
542
+ puts "Generating rhoconnect application: /opt/nginx/html/rhoapp ..."
543
+ Dir.chdir "/opt/nginx/html"
544
+ unless File.directory? "/opt/nginx/html/rhoapp"
545
+ `#{rho_path}/bin/rhoconnect app rhoapp`
546
+ Dir.chdir "rhoapp"
547
+ `#{rho_path}/bin/bundle install --without=test development`
548
+ Dir.chdir "../"
549
+ `chown nginx:nginx rhoapp/`
550
+ end
551
+ end
552
+
538
553
  def create_texts
539
554
  if @redis
540
555
  create_redis_init
@@ -545,6 +560,7 @@ def create_texts
545
560
  create_nginx_init
546
561
  create_nginx_logrotate
547
562
  create_nginx_conf_files
563
+ generate_rhoapp @prefix
548
564
  distro_info = nginx_readme
549
565
  else
550
566
  create_passenger_load
@@ -570,16 +586,17 @@ _IT_SHOULD_BE_DONE_
570
586
 
571
587
  puts afterwords +
572
588
  if @server == 'nginx'
573
- server_todo_list = <<_NGINX_TO_DO_
574
- 2) Complete setup Nginx web server
575
- A) Configure virtual host for your rhoconnect application:
576
- Edit the file /opt/nginx/conf/conf.d/rhoconnect.conf so that it reflects your specifications.
577
- B) As root user start server to pick up the changes:
578
- /etc/init.d/nginx start
589
+ server_todo_list = <<_NGINX_TO_DO_
590
+ 2) Try rhoconnect 'rhoapp' application, created in /opt/nginx/html directory
591
+ A) As root user start redis and nginx servers:
592
+ /etc/init.d/redis start
593
+ /etc/init.d/nginx start
594
+ B) Open RhoConnect application web console in your browser:
595
+ http://localhost/console/
579
596
 
580
597
  _NGINX_TO_DO_
581
598
  else
582
- server_todo_list = <<_APACHE2_TO_DO_
599
+ server_todo_list = <<_APACHE2_TO_DO_
583
600
  2) Complete setup of Apache2 web server
584
601
  A) Configure virtual host for your rhoconnect application:
585
602
  Edit the file /etc/httpd/conf.d/rhoconnect.conf so that it reflects your specifications.
@@ -587,7 +604,7 @@ _NGINX_TO_DO_
587
604
  /sbin/service httpd start
588
605
 
589
606
  _APACHE2_TO_DO_
590
- end + "For more details see #{@prefix}/README file."
607
+ end + "For more details see #{@prefix}/README and #{@prefix}/logs/ files."
591
608
 
592
609
  end #create_texts
593
610
 
@@ -1,23 +1,33 @@
1
1
  #! /usr/bin/env ruby
2
2
 
3
+ require 'rhoconnect/version'
3
4
  require 'rubygems'
4
5
  require 'fog'
5
6
  require 'readline'
6
7
  require 'optparse'
7
8
 
9
+ # CONSTANTS
10
+
8
11
  REGION = 'us-west-1'
9
12
  SLEEP = 45
10
- KEYS = '/home/mike/.ssh/alexdevkey.pem'
11
- USER = 'ubuntu'
13
+ SSH_KEY = '/home/mike/.ssh/alexdevkey.pem'
14
+ SCP_KEY = '/home/mike/.scp/alexdevkey.pem'
12
15
  ACCESS_KEY_FILE = '/Users/rhomobile/.ec2'
13
- LOCAL_REPO = '/home/mike/git/rhoconnect.tgz'
14
- REMOTE_REPO = "/home/#{USER}/git/rhoconnect"
15
- STACKS = [ { :image_id => 'ami-3d491a78',
16
- :flavor_id => 'm1.small',
17
- :key_name => 'alexdevkey',
18
- :groups => 'load-test' },
19
- {}
20
- ]
16
+ LOCAL_FILE = ''
17
+ REMOTE_FILE = "/home/#{USER}/rhoconnect"
18
+ UBUNTU_STACK = { :image_id => 'ami-3d491a78',
19
+ :flavor_id => 'm1.small',
20
+ :key_name => 'alexdevkey',
21
+ :groups => 'load-test',
22
+ :user => 'ubuntu' }
23
+ CENTOS_STACK = { :image_id => 'ami-13346656',
24
+ :flavor_id => 'm1.small',
25
+ :key_name => 'alexdevkey',
26
+ :groups => 'load-test',
27
+ :user => 'root' }
28
+ STACKS = [ UBUNTU_STACK, CENTOS_STACK ]
29
+
30
+ # METHODS
21
31
 
22
32
  # cmd
23
33
  # easily issue system commands in a clear way
@@ -55,10 +65,10 @@ end #make_fog
55
65
 
56
66
  # start_new_instance
57
67
  # Creates a new ec2 instance as per the given stack.
58
- def start_new_instance
68
+ def start_new_instance(stack)
59
69
  puts "Creating new instance..."
60
70
 
61
- @server = @fog.servers.create(STACKS[0])
71
+ @server = @fog.servers.create(stack)
62
72
  @server.wait_for { print "."; STDOUT.flush; ready? }
63
73
  puts
64
74
  if @server.ready?
@@ -129,6 +139,8 @@ def destroy_ec2_instance
129
139
  puts "Instance Terminated."
130
140
  end #destroy_ec2_instance
131
141
 
142
+ # SCRIPT
143
+
132
144
  create_ec2_instance
133
145
 
134
146
  # Establish connections
@@ -99,7 +99,7 @@ section "uninstall"
99
99
  Push "PATH"
100
100
  Push "R"
101
101
  Push "HKLM"
102
- Push "$INSTDIR\redis-2.2.13"
102
+ Push "$INSTDIR\redis-2.2.14"
103
103
  Call un.EnvVarUpdate
104
104
  Pop $R0
105
105
 
@@ -170,25 +170,25 @@ Section "Redis" redisSection
170
170
 
171
171
  SetOutPath $INSTDIR
172
172
 
173
- File /r "redis-2.2.13"
173
+ File /r "redis-2.2.14"
174
174
 
175
175
  ;add to path here
176
176
 
177
177
  Push "PATH"
178
178
  Push "P"
179
179
  Push "HKLM"
180
- Push "$INSTDIR\redis-2.2.13"
180
+ Push "$INSTDIR\redis-2.2.14"
181
181
  Call EnvVarUpdate
182
182
  Pop $R0
183
183
 
184
184
  Push "REDIS_HOME"
185
185
  Push "P"
186
186
  Push "HKLM"
187
- Push "$INSTDIR\redis-2.2.13"
187
+ Push "$INSTDIR\redis-2.2.14"
188
188
  Call EnvVarUpdate
189
189
  Pop $R0
190
190
 
191
- ExecWait '$INSTDIR\redis-2.2.13\redis-service.exe install' $0
191
+ ExecWait '$INSTDIR\redis-2.2.14\redis-service.exe install' $0
192
192
  StrCmp $0 "0" continue wrong
193
193
 
194
194
  wrong:
@@ -74,19 +74,12 @@ body{
74
74
  position:absolute;
75
75
  top:9px;
76
76
  }
77
- .header .logos a.logo_rhohub{
78
- background:url("images/logo_rhoconnect.png") no-repeat scroll -56px 0 transparent;
79
- float:left;
80
- height:38px;
81
- text-indent:-3000px;
82
- width:175px;
83
- }
84
- .header .logos a.logo_rhomobile{
77
+ .header .logos a.logo_rhoconnect{
85
78
  background:url("images/logo_rhoconnect.png") no-repeat scroll 0 0 transparent;
79
+ float:left;
86
80
  height:38px;
87
81
  text-indent:-3000px;
88
- float: left;
89
- width:56px;
82
+ width:400px;
90
83
  }
91
84
  .header .logo a{
92
85
  display:block;
@@ -2,7 +2,7 @@ class RhoconnectConsole::Server
2
2
  def docs_render_page(contenturl)
3
3
  @currentpage = "Console"
4
4
  @initialcontent = contenturl
5
- @pagetitle = "Rhoconnect Console" #H1 title
5
+ @pagetitle = "RhoConnect Console" #H1 title
6
6
  @locals = {
7
7
  :div => "main_box",
8
8
  :links => [
@@ -20,7 +20,7 @@ class RhoconnectConsole::Server
20
20
  ]
21
21
  }
22
22
  else
23
- @pagetitle = "Rhoconnect Console" #H1 title
23
+ @pagetitle = "RhoConnect Console" #H1 title
24
24
  @initialcontent = url_path('/homepage')
25
25
 
26
26
  @locals = {
@@ -2,7 +2,7 @@ class RhoconnectConsole::Server
2
2
  def render_page(contenturl)
3
3
  @currentpage = "Console"
4
4
  @initialcontent = contenturl
5
- @pagetitle = "Rhoconnect Console" #H1 title
5
+ @pagetitle = "RhoConnect Console" #H1 title
6
6
  @locals = {
7
7
  :div => "main_box",
8
8
  :links => [
@@ -1,5 +1,5 @@
1
1
  <%if not login_required %>
2
- <h1>Rhoconnect Console</h1>
2
+ <h1>RhoConnect Console</h1>
3
3
  <%if is_errors? or @sources.nil? %>
4
4
  <%= show_errors%>
5
5
  <%end%>
@@ -3,7 +3,7 @@
3
3
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
4
  <head>
5
5
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
- <title>Rhoconnect Console</title>
6
+ <title>RhoConnect Console</title>
7
7
  <!--<link rel="stylesheet" href="<%=url_path('main.css')%>" type="text/css" media="screen" /> -->
8
8
  <link rel="stylesheet" href="<%=url_path('reset.css')%>" type="text/css" media="screen" />
9
9
  <link rel="stylesheet" href="<%=url_path('home.css')%>" type="text/css" media="screen" />
@@ -105,8 +105,7 @@
105
105
  <div class="header">
106
106
  <div class="logos">
107
107
  <% unless RhoconnectConsole::Server::HEROKU_NAV %>
108
- <a href="" class="logo_rhomobile">RhoMobile</a>
109
- <a href="" class="logo_rhohub">RhoHub</a>
108
+ <a href="" class="logo_rhoconnect">RhoHub</a>
110
109
  <% end %>
111
110
  </div>
112
111
  <div id="menu">
@@ -144,19 +143,8 @@
144
143
  <%="<li>Licensed to #{license['licensee']}</li><li>|</li><li> #{license['available']}/#{license['seats']} devices available</li>"%>
145
144
  <%end%>
146
145
  <li>|</li>
147
- <li>Rhoconnect v<%=Rhoconnect::VERSION%></li>
148
- <!-- <li><a href="http://app.rhohub.com">Home</a></li>
149
- <li>|</li>
150
- <li><a href="http://app.rhohub.com/how_to_use">How to Use</a></li>
151
- <li>|</li>
152
- <li><a href="http://app.rhohub.com/pricing">Pricing</a></li>
153
- <li>|</li>
154
- <li><a class="largea3" target="_blank" href="http://wiki.rhomobile.com/index.php/RhoHub">Docs</a></li>
155
- <li>|</li>
156
- <li><a href="http://app.rhohub.com/terms">Terms of Service</a></li>
157
- <li>|</li>
158
- <li><a href="http://www.twitter.com/rhohub">Status</a></li>
159
- --> </ul>
146
+ <li>RhoConnect v<%=Rhoconnect::VERSION%></li>
147
+ </ul>
160
148
  </div>
161
149
  <br class="clear">
162
150
  </div>
@@ -1,10 +1,3 @@
1
- unless defined?(JRUBY_VERSION)
2
- require 'sqlite3'
3
- else
4
- require 'dbi'
5
- require 'dbd/Jdbc'
6
- require 'jdbc/sqlite3'
7
- end
8
1
  require 'singleton'
9
2
 
10
3
  class DBAdapter
@@ -15,6 +8,10 @@ class DBAdapter
15
8
  # and redefined 'transaction' method (to manage DBI auto-commit behavior)
16
9
  def get_connection(dbfile)
17
10
  if defined?(JRUBY_VERSION) # JRuby
11
+ require 'dbi'
12
+ require 'dbd/Jdbc'
13
+ require 'jdbc/sqlite3'
14
+
18
15
  db = DBI.connect("DBI:Jdbc:SQLite:#{dbfile}", nil, nil, 'driver' => 'org.sqlite.JDBC')
19
16
  class << db
20
17
  # jdbc/sqlite3 has no Database#execute_batch method
@@ -38,6 +35,7 @@ class DBAdapter
38
35
  end
39
36
  end
40
37
  else # Ruby 1.8/1.9
38
+ require 'sqlite3'
41
39
  db = SQLite3::Database.new(dbfile)
42
40
  end
43
41
 
@@ -40,11 +40,16 @@ module Rhoconnect
40
40
  end
41
41
 
42
42
  def rhoconnect_socket
43
- "/tmp/rhoconnect.dtach"
43
+ '/tmp/rhoconnect.dtach'
44
44
  end
45
45
 
46
46
  def rhoconnect_pid
47
- "/tmp/rhoconnect.pid"
47
+ if windows?
48
+ Dir.mkdir 'C:/TMP' unless File.directory? 'C:/TMP'
49
+ 'C:/TMP/rhoconnect.pid'
50
+ else
51
+ '/tmp/rhoconnect.pid'
52
+ end
48
53
  end
49
54
 
50
55
  def windows?
@@ -254,7 +259,7 @@ namespace :rhoconnect do
254
259
  cmd = (jruby?) ? trinidad? : (thin? || mongrel? || report_missing_server)
255
260
  if windows?
256
261
  puts 'Starting rhoconnect...'
257
- system("#{cmd} config.ru")
262
+ system("#{cmd} config.ru -P #{rhoconnect_pid}")
258
263
  elsif jruby?
259
264
  puts 'Starting rhoconnect in jruby environment...'
260
265
  system("#{cmd}")
@@ -265,6 +270,24 @@ namespace :rhoconnect do
265
270
  end
266
271
  end
267
272
 
273
+ desc "Start rhoconnect server in bg mode (Rhostudio)"
274
+ task :startbg do
275
+ cmd = (jruby?) ? trinidad? : (thin? || mongrel? || report_missing_server)
276
+ Thread.new {
277
+ if windows?
278
+ puts 'Starting rhoconnect...'
279
+ system("#{cmd} config.ru -P #{rhoconnect_pid}")
280
+ elsif jruby?
281
+ puts 'Starting rhoconnect in jruby environment...'
282
+ system("#{cmd}")
283
+ else
284
+ system("#{cmd} config.ru -P #{rhoconnect_pid}")
285
+ end
286
+ }
287
+
288
+ exit
289
+ end
290
+
268
291
  desc "run rhoconnect console"
269
292
  task :console, :environment do |t, args|
270
293
  if RedisRunner.running?
@@ -278,7 +301,11 @@ namespace :rhoconnect do
278
301
 
279
302
  desc "Stop rhoconnect server"
280
303
  task :stop => :dtach_installed do
281
- sh "cat #{rhoconnect_pid} | xargs kill -3" unless windows?
304
+ if windows?
305
+ File.delete "#{rhoconnect_pid}" if system("FOR /F %A in (#{rhoconnect_pid}) do taskkill /F /PID %A")
306
+ else
307
+ sh "cat #{rhoconnect_pid} | xargs kill -3"
308
+ end
282
309
  end
283
310
 
284
311
  desc "Attach to rhoconnect console"
@@ -1,3 +1,3 @@
1
1
  module Rhoconnect
2
- VERSION = '3.0.0.beta3'
2
+ VERSION = '3.0.0.rc1'
3
3
  end
data/tasks/redis.rake CHANGED
@@ -7,7 +7,7 @@ def windows?
7
7
  end
8
8
 
9
9
  if windows?
10
- $redis_ver = "redis-2.2.13"
10
+ $redis_ver = "redis-2.2.14"
11
11
  $redis_zip = "C:/#{$redis_ver}.zip"
12
12
  $redis_dest = "C:/"
13
13
  end
@@ -164,7 +164,7 @@ namespace :redis do
164
164
  else
165
165
  sh 'rm -rf /tmp/redis/' if File.exists?("#{RedisRunner.redisdir}")
166
166
  sh 'git clone git://github.com/antirez/redis.git /tmp/redis -n'
167
- sh "cd #{RedisRunner.redisdir} && git reset --hard && git checkout 2.2.13"
167
+ sh "cd #{RedisRunner.redisdir} && git reset --hard && git checkout 2.2.14"
168
168
  end
169
169
  end
170
170