pageflow-panorama 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MWUwNzdiMWE2ZDkyNTRiYTU0MThhNTAzODU3Y2ZlOWM2MDFlYTIyOA==
5
- data.tar.gz: !binary |-
6
- OGNlMjA3YzRhYWQzNzA4OGYyMWIwZDhlMmU2ZmQ3MzMzMGYzOTEwOA==
2
+ SHA1:
3
+ metadata.gz: 1b3a059bb86379c004fda59427d80e3e55a9019a
4
+ data.tar.gz: a9b6da525eab8ccde6e12ac8c278d262212d36d2
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- YzVhNzMxZWM1MGEyY2YxZDM3YWI5YTg0Y2IxOGM0YTI1MGY1NTJhYzNmZGM4
10
- NTMyMjgxNDY2NGU2OTMxZGVkMTI5OGQxM2Y3MTUxNzBiNDg1ZWM5NTZkZWZk
11
- ODczYzc3NmFjMTcxYjY1MTJjZWMzZmMyNmNlMDQzMzcyOTA4MjA=
12
- data.tar.gz: !binary |-
13
- YTM2ZDFhMTYyZWZlOGU4NDVjZmM0MWI3NzRkNDJkMTAzYTMzODkzZWRmNjcz
14
- ZmQ3NjFiNTIxMWZjNWQ1ZGMzODkyMWExZDk4NzNhYjU0NWRhYzkyYmQxNWIx
15
- NzliZjUyYjJhOWVlOThlYmQyYWIwMzY0OTk2ZDdhYzg1Y2JjYzA=
6
+ metadata.gz: 210524d325c4b0a965f4951e2fd79b75d51023e9863ae5379479c34d252dd1b709dd1d746c364276e28bac0114e3041e87115b386a1d19a54b4fb8eb5ae2f312
7
+ data.tar.gz: a5a92ce7e808b26758408f4d62ba222b3abdb5466a6be0d95778530e393d5ad7e1e15cea595c6732bf2c579fc141c9c0f7bfb5bb95cb86d09bb7168e5dff4914
data/.gitignore CHANGED
@@ -4,6 +4,7 @@
4
4
  .bundle
5
5
  .config
6
6
  .yardoc
7
+ .idea
7
8
  Gemfile.lock
8
9
  InstalledFiles
9
10
  _yardoc
data/CHANGELOG.md CHANGED
@@ -1,8 +1,24 @@
1
1
  # CHANGELOG
2
2
 
3
- ### Changes on `master`
3
+ ### Version 0.2.0
4
4
 
5
- [Compare changes](https://github.com/codevise/pageflow-panorama/compare/v0.1.0...master)
5
+ 2016-06-09
6
+
7
+ [Compare changes](https://github.com/codevise/pageflow-panorama/compare/v0.1.0...v0.2.0)
8
+
9
+ - Bug fix: Assign content types when unpacking to S3 to ensure display
10
+ in all browsers
11
+ ([#7](https://github.com/codevise/pageflow-panorama/pull/7))
12
+ - Do not declare bin stubs as executables
13
+ ([#6](https://github.com/codevise/pageflow-panorama/pull/6))
14
+ - Use configurable page type pictograms
15
+ ([#5](https://github.com/codevise/pageflow-panorama/pull/5))
16
+ - Add pageflow-public-i18n to gemspec
17
+ ([#4](https://github.com/codevise/pageflow-panorama/pull/4))
18
+ - Extract publicly visible i18n strings from locale
19
+ ([#3](https://github.com/codevise/pageflow-panorama/pull/3))
20
+ - Add .idea entry to .gitignore
21
+ ([#2](https://github.com/codevise/pageflow-panorama/pull/2))
6
22
 
7
23
  ### Version 0.1.0
8
24
 
data/README.md CHANGED
@@ -33,6 +33,12 @@ Include javascripts and stylesheets:
33
33
  # app/assets/stylesheets/pageflow/application.css.scss
34
34
  @import "pageflow/panorama";
35
35
 
36
+ # app/assets/stylesheets/pageflow/editor.css.scss
37
+ @import "pageflow/panorama/editor";
38
+
39
+ # app/assets/stylesheets/pageflow/themes/default.css.scss
40
+ @import "pageflow/panorama/themes/default";
41
+
36
42
  Install and run migrations:
37
43
 
38
44
  $ rake pageflow_panorama:install:migrations
data/Rakefile CHANGED
@@ -15,3 +15,6 @@ RDoc::Task.new(:rdoc) do |rdoc|
15
15
  end
16
16
 
17
17
  Bundler::GemHelper.install_tasks
18
+
19
+ require 'semmy'
20
+ Semmy::Tasks.install
@@ -0,0 +1 @@
1
+ @include pageflow-page-type-pictograms("panorama");
@@ -56,7 +56,8 @@ module Pageflow
56
56
  def unpacker
57
57
  UnpackToS3.new(archive: archive,
58
58
  destination_bucket: attachment_on_s3.s3_bucket,
59
- destination_base_path: unpack_base_path)
59
+ destination_base_path: unpack_base_path,
60
+ content_type_mapping: Panorama.config.content_type_mapping)
60
61
  end
61
62
  end
62
63
  end
@@ -1,8 +1,8 @@
1
1
  <div class="blackLayer"></div>
2
2
  <div class="content_and_background panorama_page">
3
- <div class="close_button text_hidden_only" tabindex="4" title="<%= t('.close_title') %>">
3
+ <div class="close_button text_hidden_only" tabindex="4" title="<%= t('pageflow.public.panorama.close') %>">
4
4
  <div class="label">
5
- <%= t('.close') %>
5
+ <%= t('pageflow.public.close') %>
6
6
  </div>
7
7
  </div>
8
8
 
@@ -15,14 +15,14 @@
15
15
 
16
16
  <div class="content">
17
17
  <div class="controls">
18
- <span class="hint"><%= t('.start') %></span>
18
+ <span class="hint"><%= t('pageflow.public.panorama.start') %></span>
19
19
  <%= info_box(configuration) %>
20
20
  <div class="vjs-control-bar view-control">
21
21
  <div class="play_button vjs-controls vjs-default-skin vjs-player">
22
- <a class="vjs-play-control vjs-play vjs-control" tabindex="4" title="<%= t('.start') %>"><span></span></a>
22
+ <a class="vjs-play-control vjs-play vjs-control" tabindex="4" title="<%= t('pageflow.public.panorama.start') %>"><span></span></a>
23
23
  </div>
24
24
  <div class="control_bar_text">
25
- <%= t('.start') %>
25
+ <%= t('pageflow.public.panorama.start') %>
26
26
  </div>
27
27
  </div>
28
28
  </div>
@@ -25,11 +25,7 @@ de:
25
25
  help_entries:
26
26
  page_type:
27
27
  menu_item: 360° Panorama
28
- text: ! "# 360° Panorama\n\nBettet ein interaktives Panorama ein. Zwei verschiedene Quellen werden unterstützt:\n\n### Externes Panorama \n\nVon Drittanbieter erstellte Panoramen, die bereits über eine URL erreichbar sind können direkt eingebunden werden. Wähle dazu \"Externes Panorama\" als Panorama Quelle und füge die URL in das Textfeld ein.\n\n### Hochgeladene Zip Datei\n\nAlternativ können Panoramen mit dem Programm KRPano erstellt und unter \"Dateien verwalten > KRPano\" hochgeladen werden. Wähle danach \"KRPano\" als Panorama Quelle und wähle das gewünschte Panorama aus.\n\nTypische Anwendungsbeispiele: Beeindruckende Orte, Reiseberichte, Darstellung von Architektur"
29
- page:
30
- close: Schließen
31
- close_title: 360°-Ansicht verlassen und Text einblenden
32
- start: 360°-Ansicht starten
28
+ text: ! "# 360° Panorama\n\n*Bettet ein interaktives Panorama ein*\n \nZwei verschiedene Quellen werden unterstützt:\n \n### Externes Panorama \n\nVon Drittanbieter erstellte Panoramen, die bereits über eine URL erreichbar sind können direkt eingebunden werden. Wähle dazu \"Externes Panorama\" als Panorama Quelle und füge die URL in das Textfeld ein.\n\n### Hochgeladene Zip Datei\n\nAlternativ können Panoramen mit dem Programm KRPano erstellt und unter \"Dateien verwalten > KRPano\" hochgeladen werden. Wähle danach \"KRPano\" als Panorama Quelle und wähle das gewünschte Panorama aus.\n\nTypische Anwendungsbeispiele: Beeindruckende Orte, Reiseberichte, Darstellung von Architektur"
33
29
  page_type_category_name: Interaktiv
34
30
  page_type_description: Interaktive Panorama-Ansicht mit KRPano.
35
31
  page_type_name: 360° Ansicht
@@ -25,29 +25,7 @@ en:
25
25
  help_entries:
26
26
  page_type:
27
27
  menu_item: 360° Panorama
28
- text: ! '# 360° Panorama
29
-
30
-
31
- Embeds an interactive panorama.
32
-
33
-
34
- ### External Panorama
35
-
36
-
37
- Panoramas that are already available on the web can be embedded via an URL. Choose "External Panorama" as Panorama Source and paste the URL.
38
-
39
-
40
- ### Uploaded Zip File
41
-
42
-
43
- Alternatively, panoramas can be created using the program KRPano. Visit "Manage Files > KRPano" and upload the resulting zip file. Now choose "KRPano" as Panorama Source and select an uploaded panorama.
44
-
45
-
46
- Typical use cases: Impressing places, travel reports, architecture'
47
- page:
48
- close: Close
49
- close_title: Close 360° panorama and display text
50
- start: Start 360° panorama
28
+ text: ! "# 360° Panorama\n\n*Embeds an interactive panorama*\n \n### External Panorama\n\nPanoramas that are already available on the web can be embedded via an URL. Choose \"External Panorama\" as Panorama Source and paste the URL.\n\n### Uploaded Zip File\n\nAlternatively, panoramas can be created using the program KRPano. Visit \"Manage Files > KRPano\" and upload the resulting zip file. Now choose \"KRPano\" as Panorama Source and select an uploaded panorama.\n\nTypical use cases: Impressing places, travel reports, architecture"
51
29
  page_type_category_name: Interactive
52
30
  page_type_description: Interactive panorama using KRPano.
53
31
  page_type_name: 360° Panorama
@@ -1,11 +1,21 @@
1
1
  module Pageflow
2
2
  module Panorama
3
3
  class Configuration
4
+ DEFAULT_CONTENT_TYPE_MAPPING = {
5
+ 'css' => 'text/css',
6
+ 'js' => 'application/javascript',
7
+ 'html' => 'text/html',
8
+ 'csv' => 'text/plain'
9
+ }
10
+
4
11
  attr_accessor :providers, :packages_base_path
5
12
 
13
+ attr_reader :content_type_mapping
14
+
6
15
  def initialize
7
16
  @providers = []
8
17
  @packages_base_path = ''
18
+ @content_type_mapping = DEFAULT_CONTENT_TYPE_MAPPING
9
19
  end
10
20
  end
11
21
  end
@@ -1,3 +1,4 @@
1
+ require 'pageflow-public-i18n'
1
2
  require 'pageflow/panorama/zip_entry_paperclip_io_adapter'
2
3
 
3
4
  module Pageflow
@@ -3,12 +3,14 @@ require 'zip'
3
3
  module Pageflow
4
4
  module Panorama
5
5
  class UnpackToS3
6
- attr_reader :archive, :destination_bucket, :destination_base_path
6
+ attr_reader :archive, :destination_bucket, :destination_base_path,
7
+ :content_type_mapping
7
8
 
8
9
  def initialize(options)
9
10
  @archive = options.fetch(:archive)
10
11
  @destination_bucket = options.fetch(:destination_bucket)
11
12
  @destination_base_path = options.fetch(:destination_base_path)
13
+ @content_type_mapping = options.fetch(:content_type_mapping, {})
12
14
  end
13
15
 
14
16
  def upload(&progress)
@@ -25,7 +27,8 @@ module Pageflow
25
27
  with_retry do
26
28
  s3_object(entry.name).write(entry.get_input_stream,
27
29
  acl: :public_read,
28
- content_length: entry.size)
30
+ content_length: entry.size,
31
+ content_type: content_type_for(entry.name))
29
32
  end
30
33
  end
31
34
 
@@ -37,6 +40,10 @@ module Pageflow
37
40
  File.join(destination_base_path, file_name)
38
41
  end
39
42
 
43
+ def content_type_for(file_name)
44
+ content_type_mapping[File.extname(file_name).delete('.')]
45
+ end
46
+
40
47
  def with_retry(&block)
41
48
  retries = 0
42
49
 
@@ -0,0 +1,5 @@
1
+ module Pageflow
2
+ module Panorama
3
+ VERSION = '0.2.0'.freeze
4
+ end
5
+ end
@@ -1,25 +1,31 @@
1
1
  # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'pageflow/panorama/version'
2
5
 
3
6
  Gem::Specification.new do |spec|
4
7
  spec.name = "pageflow-panorama"
5
- spec.version = "0.1.0"
8
+ spec.version = Pageflow::Panorama::VERSION
6
9
  spec.authors = ["Codevise Solutions"]
7
10
  spec.email = ["info@codevise.de"]
8
11
  spec.summary = "Pagetype for iframe embedded 360° panoramas"
9
- spec.homepage = ""
12
+ spec.homepage = "https://github.com/codevise/pageflow-panorama"
10
13
  spec.license = "MIT"
11
14
 
12
15
  spec.files = `git ls-files`.split($/)
13
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
14
16
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
15
17
  spec.require_paths = ["lib"]
16
18
 
17
- spec.add_runtime_dependency "pageflow"
19
+ spec.add_runtime_dependency "pageflow", "~> 0.10"
18
20
  spec.add_runtime_dependency "rubyzip", "~> 1.1"
21
+ spec.add_runtime_dependency 'pageflow-public-i18n', '~> 1.0'
19
22
 
20
23
  spec.add_development_dependency "bundler"
21
24
  spec.add_development_dependency "rake"
22
25
  spec.add_development_dependency "rspec-rails", "~> 2.0"
23
26
  spec.add_development_dependency 'factory_girl_rails'
24
27
  spec.add_development_dependency "mysql2"
28
+
29
+ # Semantic versioning rake tasks
30
+ spec.add_development_dependency 'semmy', '~> 0.2'
25
31
  end
metadata CHANGED
@@ -1,127 +1,156 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pageflow-panorama
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Codevise Solutions
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-05 00:00:00.000000000 Z
11
+ date: 2016-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pageflow
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ! '>='
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '0.10'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ! '>='
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '0.10'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rubyzip
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '1.1'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: pageflow-public-i18n
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ! '>='
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
61
  version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ! '>='
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
- - - ! '>='
73
+ - - ">="
60
74
  - !ruby/object:Gem::Version
61
75
  version: '0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
- - - ! '>='
80
+ - - ">="
67
81
  - !ruby/object:Gem::Version
68
82
  version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec-rails
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ~>
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
89
  version: '2.0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ~>
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
96
  version: '2.0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: factory_girl_rails
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ! '>='
101
+ - - ">="
88
102
  - !ruby/object:Gem::Version
89
103
  version: '0'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - ! '>='
108
+ - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: mysql2
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
- - - ! '>='
115
+ - - ">="
102
116
  - !ruby/object:Gem::Version
103
117
  version: '0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
- - - ! '>='
122
+ - - ">="
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: semmy
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '0.2'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '0.2'
111
139
  description:
112
140
  email:
113
141
  - info@codevise.de
114
- executables:
115
- - rails
142
+ executables: []
116
143
  extensions: []
117
144
  extra_rdoc_files: []
118
145
  files:
119
- - .gitignore
146
+ - ".gitignore"
120
147
  - CHANGELOG.md
121
148
  - Gemfile
122
149
  - README.md
123
150
  - Rakefile
124
151
  - app/assets/images/pageflow/ov-panorama.png
152
+ - app/assets/images/pageflow/panorama/themes/default/pictograms/sprite.png
153
+ - app/assets/images/pageflow/panorama/themes/default/pictograms/wide.png
125
154
  - app/assets/images/pageflow/panorama_pictogram.png
126
155
  - app/assets/images/pageflow/panorama_pictogram_small.png
127
156
  - app/assets/images/pageflow/panorama_sprite.png
@@ -134,6 +163,7 @@ files:
134
163
  - app/assets/javascripts/pageflow/panorama/page_type.js
135
164
  - app/assets/stylesheets/pageflow/panorama.css.scss
136
165
  - app/assets/stylesheets/pageflow/panorama/editor.css.scss
166
+ - app/assets/stylesheets/pageflow/panorama/themes/default.scss
137
167
  - app/helpers/pageflow/panorama/packages_helper.rb
138
168
  - app/jobs/pageflow/panorama/unpack_package_job.rb
139
169
  - app/models/pageflow/panorama/package.rb
@@ -156,9 +186,10 @@ files:
156
186
  - lib/pageflow/panorama/validation/error.rb
157
187
  - lib/pageflow/panorama/validation/kr_pano.rb
158
188
  - lib/pageflow/panorama/validation/result.rb
189
+ - lib/pageflow/panorama/version.rb
159
190
  - lib/pageflow/panorama/zip_entry_paperclip_io_adapter.rb
160
191
  - pageflow-panorama.gemspec
161
- homepage: ''
192
+ homepage: https://github.com/codevise/pageflow-panorama
162
193
  licenses:
163
194
  - MIT
164
195
  metadata: {}
@@ -168,17 +199,17 @@ require_paths:
168
199
  - lib
169
200
  required_ruby_version: !ruby/object:Gem::Requirement
170
201
  requirements:
171
- - - ! '>='
202
+ - - ">="
172
203
  - !ruby/object:Gem::Version
173
204
  version: '0'
174
205
  required_rubygems_version: !ruby/object:Gem::Requirement
175
206
  requirements:
176
- - - ! '>='
207
+ - - ">="
177
208
  - !ruby/object:Gem::Version
178
209
  version: '0'
179
210
  requirements: []
180
211
  rubyforge_project:
181
- rubygems_version: 2.4.2
212
+ rubygems_version: 2.2.5
182
213
  signing_key:
183
214
  specification_version: 4
184
215
  summary: Pagetype for iframe embedded 360° panoramas