Class: EasyProject

Inherits:
Redmine::Installer::Plugin::RedminePlugin show all
Defined in:
lib/redmine-installer/plugins/redmine_plugin.rb

Overview

EasyProject

www.easyredmine.com

Easy Redmine is complex project management web application best suited to project teams between 10 - 100 users. Whether you manage just yourself or a huge team of software developers, Easy Redmine will provide all necessary project management features to complete your projects on time, scope and budget.

Class Method Summary collapse

Methods inherited from Redmine::Installer::Plugin::RedminePlugin

am_i_there?

Methods inherited from Redmine::Installer::Plugin::Base

all, inherited, title

Methods included from Redmine::Installer::Utils

included

Class Method Details

.final(base) ⇒ Object



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/redmine-installer/plugins/redmine_plugin.rb', line 59

def self.final(base)
  return unless am_i_there?

  say %{
<bright>EasyRedmine notes:</bright>
You should create a maintenance task to CRON (on Linux) or Scheduled Tasks (on Windows)
that will be running every 5-15 minutes. This one task aggregates all required tasks
such as mail receiving, alerts evaluation etc. You should set up required parameters via
administration -> scheduled tasks.
Do not run this task under root, use same user that is used for web server.:

<bright>bundle exec rake easyproject:scheduler:run_tasks RAILS_ENV=production</bright>

For example:
1. Edit crontab
  crontab -e

2. Add:
  */15 * * * * cd #{base.redmine_root} && bundle exec rake easyproject:scheduler:run_tasks RAILS_ENV=production


}
end

.install(base) ⇒ Object



38
39
40
# File 'lib/redmine-installer/plugins/redmine_plugin.rb', line 38

def self.install(base)
  command.rake_easyproject_install(base.env) if am_i_there?
end

.upgrade(base) ⇒ Object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/redmine-installer/plugins/redmine_plugin.rb', line 42

def self.upgrade(base)
  # Copy client modification folders
  # plugins/easyproject/easy_plugins/modification_*
  unless base.options['skip-old-modifications']
    easy_plugins_dir = File.join('plugins', 'easyproject', 'easy_plugins')
    old_modifications = Dir.glob(File.join(base.redmine_root, easy_plugins_dir, 'modification_*'))
    new_modifications = Dir.glob(File.join(base.tmp_redmine_root, easy_plugins_dir, 'modification_*'))

    # Modifications which are on old redmine but not new
    missing_modifications = old_modifications - new_modifications

    FileUtils.cp_r(missing_modifications, File.join(base.tmp_redmine_root, easy_plugins_dir))
  end

  install(base)
end