browsercms 3.3.0.beta → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. data/.yardopts +5 -0
  2. data/README.markdown +11 -11
  3. data/app/helpers/cms/page_helper.rb +1 -1
  4. data/app/models/page_route.rb +9 -0
  5. data/app/models/portlet.rb +2 -2
  6. data/app/models/section.rb +1 -1
  7. data/app/views/cms/form_builder/_cms_text_area.html.erb +2 -5
  8. data/app/views/cms/form_builder/_cms_text_editor.html.erb +1 -0
  9. data/app/views/cms/pages/_form.html.erb +2 -10
  10. data/bin/bcms +114 -3
  11. data/bin/browsercms +3 -72
  12. data/browsercms.gemspec +4 -2
  13. data/lib/cms/behaviors/soft_deleting.rb +4 -5
  14. data/lib/cms/extensions/active_record/base.rb +22 -1
  15. data/lib/cms/routes.rb +2 -5
  16. data/lib/cms/version.rb +1 -1
  17. data/lib/generators/browser_cms/cms/cms_generator.rb +1 -0
  18. data/lib/generators/browser_cms/demo_site/demo_site_generator.rb +1 -1
  19. data/lib/generators/browser_cms/demo_site/templates/demo_site.rake +3 -0
  20. data/lib/generators/cms/upgrade_module/templates/COPYRIGHT.txt +23 -0
  21. data/{templates/module.rb → lib/generators/cms/upgrade_module/templates/GPL.txt} +2 -223
  22. data/lib/generators/cms/upgrade_module/templates/LICENSE.txt +165 -0
  23. data/lib/tasks/db.rake +3 -0
  24. data/public/stylesheets/cms/sitemap.css +5 -5
  25. metadata +8 -74
  26. data/doc/guides/html/authentication.html +0 -457
  27. data/doc/guides/html/build_it_yourself.html +0 -457
  28. data/doc/guides/html/building_modules.html +0 -480
  29. data/doc/guides/html/building_templates.html +0 -457
  30. data/doc/guides/html/content_blocks.html +0 -457
  31. data/doc/guides/html/customizing_browsercms.html +0 -457
  32. data/doc/guides/html/deployment_guide.html +0 -568
  33. data/doc/guides/html/files/bcmsorg.js +0 -28
  34. data/doc/guides/html/files/clearfix.css +0 -8
  35. data/doc/guides/html/files/cufon.js +0 -7
  36. data/doc/guides/html/files/global.css +0 -190
  37. data/doc/guides/html/files/helvetica.js +0 -91
  38. data/doc/guides/html/files/javascripts/code_highlighter.js +0 -188
  39. data/doc/guides/html/files/javascripts/guides.js +0 -7
  40. data/doc/guides/html/files/javascripts/highlighters.js +0 -90
  41. data/doc/guides/html/files/jquery.js +0 -11
  42. data/doc/guides/html/files/stylesheets/main.css +0 -441
  43. data/doc/guides/html/files/stylesheets/reset.css +0 -43
  44. data/doc/guides/html/files/stylesheets/style.css +0 -13
  45. data/doc/guides/html/files/stylesheets/syntax.css +0 -31
  46. data/doc/guides/html/getting_started.html +0 -457
  47. data/doc/guides/html/images/bg.png +0 -0
  48. data/doc/guides/html/images/bottom_cap.png +0 -0
  49. data/doc/guides/html/images/browsercms_logo.png +0 -0
  50. data/doc/guides/html/images/content_blocks/add_field_to_form.png +0 -0
  51. data/doc/guides/html/images/content_blocks/add_second_block.png +0 -0
  52. data/doc/guides/html/images/dot.png +0 -0
  53. data/doc/guides/html/images/icons/README +0 -5
  54. data/doc/guides/html/images/icons/callouts/1.png +0 -0
  55. data/doc/guides/html/images/icons/callouts/10.png +0 -0
  56. data/doc/guides/html/images/icons/callouts/11.png +0 -0
  57. data/doc/guides/html/images/icons/callouts/12.png +0 -0
  58. data/doc/guides/html/images/icons/callouts/13.png +0 -0
  59. data/doc/guides/html/images/icons/callouts/14.png +0 -0
  60. data/doc/guides/html/images/icons/callouts/15.png +0 -0
  61. data/doc/guides/html/images/icons/callouts/2.png +0 -0
  62. data/doc/guides/html/images/icons/callouts/3.png +0 -0
  63. data/doc/guides/html/images/icons/callouts/4.png +0 -0
  64. data/doc/guides/html/images/icons/callouts/5.png +0 -0
  65. data/doc/guides/html/images/icons/callouts/6.png +0 -0
  66. data/doc/guides/html/images/icons/callouts/7.png +0 -0
  67. data/doc/guides/html/images/icons/callouts/8.png +0 -0
  68. data/doc/guides/html/images/icons/callouts/9.png +0 -0
  69. data/doc/guides/html/images/icons/caution.png +0 -0
  70. data/doc/guides/html/images/icons/example.png +0 -0
  71. data/doc/guides/html/images/icons/home.png +0 -0
  72. data/doc/guides/html/images/icons/important.png +0 -0
  73. data/doc/guides/html/images/icons/next.png +0 -0
  74. data/doc/guides/html/images/icons/note.png +0 -0
  75. data/doc/guides/html/images/icons/prev.png +0 -0
  76. data/doc/guides/html/images/icons/tip.png +0 -0
  77. data/doc/guides/html/images/icons/up.png +0 -0
  78. data/doc/guides/html/images/icons/warning.png +0 -0
  79. data/doc/guides/html/images/nfl_sitemap.png +0 -0
  80. data/doc/guides/html/images/top_cap.png +0 -0
  81. data/doc/guides/html/images/top_cap_content.png +0 -0
  82. data/doc/guides/html/index.html +0 -457
  83. data/doc/guides/html/installing_modules.html +0 -457
  84. data/doc/guides/html/portlets.html +0 -457
  85. data/doc/guides/html/user_guide.html +0 -457
  86. data/doc/guides/html/writing_guides.html +0 -457
  87. data/lib/initial_data.rb +0 -30
  88. data/lib/tasks/build_gem.rake +0 -1
  89. data/lib/tasks/cms.rake +0 -69
  90. data/lib/tasks/cucumber.rake +0 -53
  91. data/lib/tasks/dev.rake +0 -20
  92. data/templates/blank.rb +0 -48
  93. data/templates/demo.rb +0 -48
@@ -1,30 +0,0 @@
1
- class InitialData
2
-
3
- extend Cms::DataLoader
4
-
5
- #Fixture-like way of creating initial data, except that it actually calls the real model methods
6
- #This way things like acts_as_list and versioning get setup properly for these records
7
- #The syntax is that you call create_whatever(:something, ...), where whatever is the model name,
8
- #something is the identifier you give this record, and the ... is the hash of options to pass
9
- #to the model constructor. By calling the create_ method, you can then refer to the record later
10
- #in the same way you would with fixtures, by saying whatevers(:something)
11
- def self.load_demo
12
- eval open("#{Rails.root}/db/demo/data.rb"){|f| f.read}
13
-
14
- Dir["#{Rails.root}/db/demo/page_partials/*.erb"].map do |f|
15
- name, format, handler = File.basename(f).split('.')
16
- create_page_partial(name.to_sym,
17
- :name => name, :format => format, :handler => handler,
18
- :body => open(f){|f| f.read})
19
- end
20
-
21
- Dir["#{Rails.root}/db/demo/page_templates/*.erb"].map do |f|
22
- name, format, handler = File.basename(f).split('.')
23
- create_page_template(name.to_sym,
24
- :name => name, :format => format, :handler => handler,
25
- :body => open(f){|f| f.read})
26
- end
27
-
28
- end
29
-
30
- end
@@ -1 +0,0 @@
1
- # Add any tasks from your Rake file here.
@@ -1,69 +0,0 @@
1
- namespace :test do
2
-
3
- desc 'Runs all Tests (Test::Unit) and Features (cucumber)'
4
- task :all => ["test", "cucumber"]
5
-
6
- # Could be improved somewhat to get rid of unneeded warnings.
7
- desc "run tests against sqlite database"
8
- task :sqlite3 do
9
- cp(File.join('config', 'database.sqlite3.yml'), File.join('config', 'database.yml'), :verbose => true)
10
- Rake::Task['db:drop'].invoke
11
- Rake::Task['db:create'].invoke
12
- system "rake db:migrate test"
13
- end
14
-
15
- # Could be improved somewhat to get rid of unneeded warnings.
16
- desc "run tests against mysql database"
17
- task :mysql do
18
- cp(File.join('config', 'database.mysql.yml'), File.join('config', 'database.yml'), :verbose => true)
19
- Rake::Task['db:drop'].invoke
20
- Rake::Task['db:create'].invoke
21
- system "rake db:migrate test"
22
- end
23
- end
24
-
25
- # When Jeweler builds the gem, make sure the guides are also rebuilt.
26
- #task :build => ['cms:guides']
27
-
28
- namespace :cms do
29
-
30
- desc "Generate guides for the CMS"
31
- task :guides do
32
- require 'rubygems'
33
-
34
- gem "actionpack", '>= 2.3'
35
- require "action_controller"
36
- require "action_view"
37
-
38
- gem 'RedCloth', '>= 4.1.1'
39
- require 'redcloth'
40
-
41
- $: << File.join(File.dirname(__FILE__), '../../doc/guides')
42
-
43
- module CmsGuides
44
- autoload :Generator, "cms_guides/generator"
45
- autoload :Indexer, "cms_guides/indexer"
46
- autoload :Helpers, "cms_guides/helpers"
47
- autoload :TextileExtensions, "cms_guides/textile_extensions"
48
- autoload :Levenshtein, "cms_guides/levenshtein"
49
- end
50
-
51
- RedCloth.send(:include, CmsGuides::TextileExtensions)
52
-
53
- CmsGuides::Generator.new.generate
54
-
55
- end
56
-
57
- desc "Rebuild the browsercms gem locally and install it, Useful for testing releases."
58
- task :gem => ["browsercms.gemspec", :build, :install]
59
-
60
- task :install do
61
- puts "installing..."
62
- if RUBY_PLATFORM =~ /mswin32/
63
- system("cmd /c gem install pkg/browsercms-3.1.0")
64
- else
65
- sh("sudo gem install pkg/browsercms-3.1.0")
66
- end
67
- end
68
- end
69
-
@@ -1,53 +0,0 @@
1
- # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
- # It is recommended to regenerate this file in the future when you upgrade to a
3
- # newer version of cucumber-rails. Consider adding your own code to a new file
4
- # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
- # files.
6
-
7
-
8
- unless ARGV.any? {|a| a =~ /^gems/} # Don't load anything when running the gems:* tasks
9
-
10
- vendored_cucumber_bin = Dir["#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
11
- $LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil?
12
-
13
- begin
14
- require 'cucumber/rake/task'
15
-
16
- namespace :cucumber do
17
- Cucumber::Rake::Task.new({:ok => 'db:test:prepare'}, 'Run features that should pass') do |t|
18
- t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
19
- t.fork = true # You may get faster startup if you set this to false
20
- t.profile = 'default'
21
- end
22
-
23
- Cucumber::Rake::Task.new({:wip => 'db:test:prepare'}, 'Run features that are being worked on') do |t|
24
- t.binary = vendored_cucumber_bin
25
- t.fork = true # You may get faster startup if you set this to false
26
- t.profile = 'wip'
27
- end
28
-
29
- Cucumber::Rake::Task.new({:rerun => 'db:test:prepare'}, 'Record failing features and run only them if any exist') do |t|
30
- t.binary = vendored_cucumber_bin
31
- t.fork = true # You may get faster startup if you set this to false
32
- t.profile = 'rerun'
33
- end
34
-
35
- desc 'Run all features'
36
- task :all => [:ok, :wip]
37
- end
38
- desc 'Alias for cucumber:ok'
39
- task :cucumber => 'cucumber:ok'
40
-
41
- task :default => :cucumber
42
-
43
- task :features => :cucumber do
44
- STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
45
- end
46
- rescue LoadError
47
- desc 'cucumber rake task not available (cucumber not installed)'
48
- task :cucumber do
49
- abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
50
- end
51
- end
52
-
53
- end
@@ -1,20 +0,0 @@
1
- #These are tasks used for the development of CMS as a standalone rails app, not to be included into a CMS project
2
-
3
- desc "Reset the DB, run the migrations, load the fixtures, run the specs"
4
- task :reset => ["db:reload_demo_data", "test:all"]
5
-
6
- namespace :db do
7
- # This task needs to somehow be packaged as part of the CMS gem, so that users can use the demo.rb template to install the data.
8
-
9
- desc "Installs sample data for a demo site, including several templates and sample pages."
10
- task :load_demo_data => :environment do
11
- t0 = Time.now
12
- puts "== Demo Data: creating ====================================================="
13
- InitialData.load_demo
14
- puts "== Demo Data: created (%0.4fs) ============================================\n" % (Time.now - t0)
15
- end
16
-
17
-
18
- desc "Wipes database, and reinstalls the demo data."
19
- task :reload_demo_data => ["db:migrate:reset", "db:load_demo_data"]
20
- end
@@ -1,48 +0,0 @@
1
- # Remove the file on both *unix and Windows
2
- if Gem.win_platform?
3
- run "del public\\index.html"
4
- run "db/seeds.rb"
5
- else
6
- run "rm public/index.html"
7
- run 'rm db/seeds.rb'
8
- end
9
-
10
- # Loads the version, so we can explicitly set in the generated cms project.
11
- template_root = File.dirname(__FILE__)
12
- require File.join(template_root, '..', 'lib', 'cms', 'version.rb')
13
- gem "browsercms", :version=>Cms::VERSION
14
-
15
- generate :jdbc if defined?(JRUBY_VERSION)
16
-
17
- if Gem.win_platform?
18
- puts " rake db:create"
19
- `rake.cmd db:create`
20
- else
21
- rake "db:create"
22
- end
23
-
24
- route "routes_for_browser_cms"
25
-
26
- generate "browser_cms:cms"
27
- environment 'SITE_DOMAIN="localhost:3000"', :env => "development"
28
- environment 'SITE_DOMAIN="localhost:3000"', :env => "test"
29
- environment 'SITE_DOMAIN="localhost:3000"', :env => "production"
30
- environment 'config.action_view.cache_template_loading = false', :env => "production"
31
- environment 'config.action_controller.page_cache_directory = Rails.root + "/public/cache/"', :env => "production"
32
- initializer 'browsercms.rb', <<-CODE
33
- Cms.attachment_file_permission = 0640
34
- CODE
35
-
36
- require File.join(template_root, '..', 'app', 'models', 'templates.rb')
37
- file 'app/views/layouts/templates/default.html.erb', Templates.default_body
38
-
39
-
40
-
41
- if Gem.win_platform?
42
- puts " rake db:migrate"
43
- `rake.cmd db:migrate`
44
- `rake.cmd db:seed`
45
- else
46
- rake "db:migrate"
47
- rake "db:seed"
48
- end
@@ -1,48 +0,0 @@
1
- # Remove the file on both *unix and Windows
2
- if Gem.win_platform?
3
- run "del public\\index.html"
4
- run "db/seeds.rb"
5
- else
6
- run "rm public/index.html"
7
- run 'rm db/seeds.rb'
8
- end
9
-
10
- # Loads the version, so we can explicitly set in the generated cms project.
11
- template_root = File.dirname(__FILE__)
12
- require File.join(template_root, '..', 'lib', 'cms', 'version.rb')
13
- gem "browsercms", :version=>Cms::VERSION
14
-
15
- generate :jdbc if defined?(JRUBY_VERSION)
16
-
17
- if Gem.win_platform?
18
- puts " rake db:create"
19
- `rake.cmd db:create`
20
- else
21
- rake "db:create"
22
- end
23
-
24
- generate "browser_cms:cms"
25
-
26
- environment 'SITE_DOMAIN="localhost:3000"', :env => "development"
27
- environment 'SITE_DOMAIN="localhost:3000"', :env => "test"
28
- environment 'SITE_DOMAIN="localhost:3000"', :env => "production"
29
- environment 'config.action_view.cache_template_loading = false', :env => "production"
30
- environment 'config.action_controller.page_cache_directory = Rails.root + "/public/cache/"', :env => "production"
31
- generate "browser_cms:demo_site"
32
-
33
- require File.join(template_root, '..', 'app', 'models', 'templates.rb')
34
- file 'app/views/layouts/templates/default.html.erb', Templates.default_body
35
-
36
- if Gem.win_platform?
37
- puts " rake db:migrate"
38
- `rake.cmd db:migrate`
39
- `rake.cmd db:seed`
40
- `rake.cmd db:seed_demo_site`
41
- else
42
- rake "db:migrate"
43
- rake "db:seed"
44
- rake "db:seed_demo_site"
45
- end
46
-
47
- #add routes after demo generation - otherwise there are weird errors
48
- route "routes_for_browser_cms"