pageflow 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/admins/pageflow/accounts.rb +3 -1
- data/admins/pageflow/entry.rb +2 -1
- data/app/assets/javascripts/pageflow/admin.js +1 -0
- data/app/assets/javascripts/pageflow/admin/accounts.js +30 -0
- data/app/assets/javascripts/pageflow/asset_urls.js.erb +2 -2
- data/app/assets/javascripts/pageflow/editor/api.js +136 -0
- data/app/assets/javascripts/pageflow/editor/api/failure.js +54 -0
- data/app/assets/javascripts/pageflow/editor/api/failures.js +47 -0
- data/app/assets/javascripts/pageflow/editor/base.js +8 -0
- data/app/assets/javascripts/pageflow/editor/collections/chapters_collection.js +1 -1
- data/app/assets/javascripts/pageflow/editor/collections/mixins/ordered_collection.js +9 -4
- data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +9 -10
- data/app/assets/javascripts/pageflow/editor/initializers/additional_initializers.js +8 -0
- data/app/assets/javascripts/pageflow/editor/initializers/boot.js +1 -8
- data/app/assets/javascripts/pageflow/editor/initializers/routing.js +17 -0
- data/app/assets/javascripts/pageflow/editor/initializers/setup_collections.js +5 -5
- data/app/assets/javascripts/pageflow/editor/models/configuration.js +11 -2
- data/app/assets/javascripts/pageflow/editor/models/entry.js +2 -2
- data/app/assets/javascripts/pageflow/editor/models/mixins/retryable.js +2 -2
- data/app/assets/javascripts/pageflow/editor/models/page_configuration_file_selection_handler.js +37 -0
- data/app/assets/javascripts/pageflow/editor/models/theming.js +8 -0
- data/app/assets/javascripts/pageflow/editor/object.js +14 -0
- data/app/assets/javascripts/pageflow/editor/routers/sidebar_router.js +4 -4
- data/app/assets/javascripts/pageflow/editor/templates/edit_entry.jst.ejs +4 -4
- data/app/assets/javascripts/pageflow/editor/templates/notifications.jst.ejs +1 -1
- data/app/assets/javascripts/pageflow/editor/views/back_button_decorator_view.js +3 -2
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/audio.js +2 -1
- data/app/assets/javascripts/pageflow/editor/views/configuration_editors/video.js +2 -1
- data/app/assets/javascripts/pageflow/editor/views/edit_entry_view.js +23 -11
- data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +28 -22
- data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +5 -1
- data/app/assets/javascripts/pageflow/editor/views/file_item_view.js +3 -2
- data/app/assets/javascripts/pageflow/editor/views/files_view.js +3 -10
- data/app/assets/javascripts/pageflow/editor/views/input_view.js +39 -1
- data/app/assets/javascripts/pageflow/editor/views/inputs/check_box_input_view.js +13 -2
- data/app/assets/javascripts/pageflow/editor/views/inputs/file_input_view.js +9 -4
- data/app/assets/javascripts/pageflow/editor/views/inputs/text_area_input_view.js +14 -1
- data/app/assets/javascripts/pageflow/editor/views/inputs/text_input_view.js +11 -0
- data/app/assets/javascripts/pageflow/editor/views/mixins/failure_indicating_view.js +3 -3
- data/app/assets/javascripts/pageflow/editor/views/notifications_view.js +7 -6
- data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +2 -1
- data/app/assets/javascripts/pageflow/page_types/audio.js +13 -8
- data/app/assets/javascripts/pageflow/page_types/video.js +9 -5
- data/app/assets/javascripts/pageflow/widgets/navigation.js +3 -2
- data/app/assets/javascripts/pageflow/widgets/player_controls.js +3 -2
- data/app/assets/javascripts/pageflow/widgets/{home_button.js → top_button.js} +4 -4
- data/app/assets/stylesheets/pageflow/editor/back_button_decorator.css.scss +3 -0
- data/app/assets/stylesheets/pageflow/editor/base.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/tabs_view.css.scss +1 -0
- data/app/assets/stylesheets/pageflow/ie9.css.scss +8 -7
- data/app/assets/stylesheets/pageflow/lt_ie9.css.scss +2 -2
- data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +16 -2
- data/app/assets/stylesheets/pageflow/themes/default/anchors.css.scss +0 -3
- data/app/assets/stylesheets/pageflow/themes/default/navigation.css.scss +13 -4
- data/app/controllers/pageflow/entries_controller.rb +4 -9
- data/app/helpers/pageflow/entries_helper.rb +2 -6
- data/app/helpers/pageflow/themes_helper.rb +9 -0
- data/app/helpers/pageflow/themings_helper.rb +11 -0
- data/app/jobs/pageflow/poll_zencoder_job.rb +2 -2
- data/app/models/pageflow/cname_theming_request_scope.rb +7 -0
- data/app/models/pageflow/draft_entry.rb +9 -1
- data/app/models/pageflow/entry.rb +3 -1
- data/app/models/pageflow/home_button.rb +37 -0
- data/app/models/pageflow/published_entry.rb +8 -0
- data/app/models/pageflow/revision.rb +6 -0
- data/app/models/pageflow/theming.rb +3 -0
- data/app/models/pageflow/zencoder_attachment.rb +35 -17
- data/app/views/admin/accounts/_form.html.erb +14 -2
- data/app/views/admin/entries/_attributes_table.html.arb +1 -1
- data/app/views/admin/entries/_links.html.arb +1 -1
- data/app/views/layouts/pageflow/_ie_include_tags.html.erb +4 -4
- data/app/views/pageflow/editor/entries/_analytics.html.erb +1 -0
- data/app/views/pageflow/editor/entries/_entry.json.jbuilder +4 -0
- data/app/views/pageflow/editor/themings/_theming.json.jbuilder +2 -0
- data/app/views/pageflow/entries/_navigation.html.erb +2 -2
- data/app/views/pageflow/entries/edit.html.erb +3 -0
- data/app/views/pageflow/entries/navigation/_bar_top.html.erb +2 -1
- data/app/views/pageflow/entries/navigation/_home_button.html.erb +8 -0
- data/config/initializers/zencoder.rb +11 -1
- data/config/locales/activerecord.de.yml +5 -0
- data/config/locales/editor.de.yml +5 -0
- data/config/routes.rb +1 -0
- data/db/migrate/20140819081454_add_home_url_attributes_to_themings_and_revisions.rb +9 -0
- data/lib/generators/pageflow/seeds/seeds_generator.rb +4 -4
- data/lib/generators/pageflow/seeds/templates/seeds.rb +30 -0
- data/lib/pageflow/configuration.rb +47 -1
- data/lib/pageflow/page_type.rb +25 -0
- data/lib/pageflow/revision_component.rb +39 -0
- data/lib/pageflow/seeds.rb +153 -71
- data/lib/pageflow/theme.rb +7 -2
- data/lib/pageflow/themes.rb +2 -2
- data/lib/pageflow/version.rb +1 -1
- data/lib/pageflow/zencoder_audio_output_definition.rb +3 -3
- data/lib/pageflow/zencoder_output_definition.rb +46 -7
- data/lib/pageflow/zencoder_video_output_definition.rb +51 -35
- data/spec/factories/entries.rb +6 -2
- metadata +687 -668
- data/app/assets/javascripts/pageflow/editor/collections/failed_records_collection.js +0 -18
@@ -2,7 +2,7 @@ module Pageflow
|
|
2
2
|
class EntriesController < Pageflow::ApplicationController
|
3
3
|
before_filter :authenticate_user!, :except => [:index, :show, :page]
|
4
4
|
|
5
|
-
|
5
|
+
before_filter :prevent_ssl, :only => [:index, :show], :unless => lambda { |controller| controller.request.format.json? }
|
6
6
|
|
7
7
|
helper_method :render_to_string
|
8
8
|
|
@@ -11,14 +11,9 @@ module Pageflow
|
|
11
11
|
helper RenderJsonHelper
|
12
12
|
|
13
13
|
def index
|
14
|
-
theming = Theming.
|
15
|
-
@account = Account.with_landing_page.find_by_theming!(theming)
|
14
|
+
theming = Theming.for_request(request).with_home_url.first!
|
16
15
|
|
17
|
-
|
18
|
-
format.html {
|
19
|
-
render :template => "pageflow/entries/index/#{@account.landing_page_name}", :layout => "pageflow/basic"
|
20
|
-
}
|
21
|
-
end
|
16
|
+
redirect_to(theming.home_url)
|
22
17
|
end
|
23
18
|
|
24
19
|
def show
|
@@ -71,7 +66,7 @@ module Pageflow
|
|
71
66
|
protected
|
72
67
|
|
73
68
|
def entry_params
|
74
|
-
params.require(:entry).permit(:title, :summary, :credits, :manual_start)
|
69
|
+
params.require(:entry).permit(:title, :summary, :credits, :manual_start, :home_url, :home_button_enabled)
|
75
70
|
end
|
76
71
|
|
77
72
|
def entry_request_scope
|
@@ -1,11 +1,7 @@
|
|
1
1
|
module Pageflow
|
2
2
|
module EntriesHelper
|
3
3
|
def pretty_entry_url(entry)
|
4
|
-
|
5
|
-
short_entry_url(entry.to_model, :host => entry.theming.cname)
|
6
|
-
else
|
7
|
-
short_entry_url(entry.to_model)
|
8
|
-
end
|
4
|
+
pageflow.short_entry_url(entry.to_model, Pageflow.config.theming_url_options(entry.theming))
|
9
5
|
end
|
10
6
|
|
11
7
|
def entry_collection_for_parent(parent)
|
@@ -29,7 +25,7 @@ module Pageflow
|
|
29
25
|
end
|
30
26
|
|
31
27
|
def entry_stylesheet_link_tag(entry)
|
32
|
-
stylesheet_link_tag(polymorphic_path(entry.stylesheet_model, :format
|
28
|
+
stylesheet_link_tag(polymorphic_path(entry.stylesheet_model, v: entry.stylesheet_cache_key, format: 'css'), media: 'all')
|
33
29
|
end
|
34
30
|
|
35
31
|
def entry_mobile_navigation_pages(entry)
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module ThemingsHelper
|
3
|
+
DEFAULT_PUBLIC_ENTRY_OPTIONS = lambda do |theming|
|
4
|
+
theming.cname.present? ? {host: theming.cname} : nil
|
5
|
+
end
|
6
|
+
|
7
|
+
def pretty_theming_url(theming)
|
8
|
+
public_root_url(Pageflow.config.theming_url_options(theming))
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
@@ -41,8 +41,8 @@ module Pageflow
|
|
41
41
|
|
42
42
|
def self.fetch_thumbnail(file)
|
43
43
|
return unless file.respond_to?(:thumbnail)
|
44
|
-
file.thumbnail = URI.parse(file.zencoder_thumbnail.url)
|
45
|
-
file.poster = URI.parse(file.zencoder_poster.url)
|
44
|
+
file.thumbnail = URI.parse(file.zencoder_thumbnail.url(default_protocol: 'http'))
|
45
|
+
file.poster = URI.parse(file.zencoder_poster.url(default_protocol: 'http'))
|
46
46
|
rescue OpenURI::HTTPError
|
47
47
|
throw(:halt, :pending)
|
48
48
|
end
|
@@ -30,7 +30,9 @@ module Pageflow
|
|
30
30
|
scope :published, -> { joins(:published_revision) }
|
31
31
|
scope :editing, -> { joins(:edit_lock).merge(Pageflow::EditLock.active) }
|
32
32
|
|
33
|
-
after_create
|
33
|
+
after_create do
|
34
|
+
create_draft!(home_button_enabled: theming.home_button_enabled_by_default)
|
35
|
+
end
|
34
36
|
|
35
37
|
def edit_lock
|
36
38
|
super || EditLock::Null.new(self)
|
@@ -0,0 +1,37 @@
|
|
1
|
+
module Pageflow
|
2
|
+
class HomeButton
|
3
|
+
attr_reader :revision, :theming
|
4
|
+
|
5
|
+
def initialize(revision, theming)
|
6
|
+
@revision = revision
|
7
|
+
@theming = theming
|
8
|
+
end
|
9
|
+
|
10
|
+
def url
|
11
|
+
revision.home_url.presence || theming_home_button_url
|
12
|
+
end
|
13
|
+
|
14
|
+
def enabled?
|
15
|
+
revision.home_button_enabled? &&
|
16
|
+
theming.theme.has_home_button? &&
|
17
|
+
url.present?
|
18
|
+
end
|
19
|
+
|
20
|
+
def url_value
|
21
|
+
revision.home_url
|
22
|
+
end
|
23
|
+
|
24
|
+
def enabled_value
|
25
|
+
revision.home_button_enabled?
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def theming_home_button_url
|
31
|
+
if theming.home_url.present?
|
32
|
+
options = Pageflow.config.theming_url_options(theming) || {}
|
33
|
+
options.merge(controller: 'entries', action: 'index')
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -22,6 +22,10 @@ module Pageflow
|
|
22
22
|
custom_revision? ? revision : entry
|
23
23
|
end
|
24
24
|
|
25
|
+
def stylesheet_cache_key
|
26
|
+
revision.cache_key
|
27
|
+
end
|
28
|
+
|
25
29
|
def thumbnail
|
26
30
|
pages.first.try(:thumbnail) || ImageFile.new.processed_attachment
|
27
31
|
end
|
@@ -34,6 +38,10 @@ module Pageflow
|
|
34
38
|
"#{self.class.model_name.cache_key}/#{entry.cache_key}-#{revision.cache_key}"
|
35
39
|
end
|
36
40
|
|
41
|
+
def home_button
|
42
|
+
HomeButton.new(revision, theming)
|
43
|
+
end
|
44
|
+
|
37
45
|
private
|
38
46
|
|
39
47
|
def custom_revision?
|
@@ -2,6 +2,9 @@ module Pageflow
|
|
2
2
|
class Theming < ActiveRecord::Base
|
3
3
|
belongs_to :account
|
4
4
|
|
5
|
+
scope :with_home_url, -> { where.not(home_url: '') }
|
6
|
+
scope :for_request, ->(request) { Pageflow.config.theming_request_scope.call(all, request) }
|
7
|
+
|
5
8
|
validates :account, :presence => true
|
6
9
|
validates_inclusion_of :theme_name, :in => ->(_) { Pageflow.config.themes.names }
|
7
10
|
|
@@ -1,16 +1,20 @@
|
|
1
1
|
module Pageflow
|
2
2
|
class ZencoderAttachment
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
3
|
+
|
4
|
+
cattr_accessor :default_options
|
5
|
+
self.default_options = {
|
6
|
+
path: "/:zencoder_asset_version/:host/:class/:id_partition/:filename",
|
7
|
+
url: ":zencoder_protocol//:zencoder_host_alias:zencoder_path",
|
8
|
+
hls_url: ":zencoder_protocol//:zencoder_hls_host_alias:zencoder_path",
|
9
|
+
hls_origin_url: ":zencoder_protocol//:zencoder_hls_origin_host_alias:zencoder_path"
|
10
|
+
}
|
7
11
|
|
8
12
|
attr_reader :file_name_pattern, :instance, :options, :styles
|
9
13
|
|
10
14
|
def initialize(instance, file_name_pattern, options = {})
|
11
15
|
@instance = instance
|
12
16
|
@file_name_pattern = file_name_pattern
|
13
|
-
@options = options
|
17
|
+
@options = options.merge(default_options)
|
14
18
|
|
15
19
|
@styles = {}
|
16
20
|
end
|
@@ -32,30 +36,44 @@ module Pageflow
|
|
32
36
|
end
|
33
37
|
|
34
38
|
def path
|
35
|
-
Paperclip::Interpolations.interpolate(
|
39
|
+
Paperclip::Interpolations.interpolate(options[:path], self, 'default')
|
36
40
|
end
|
37
41
|
|
38
42
|
def url(url_options = {})
|
39
|
-
|
40
|
-
|
41
|
-
when :hls
|
42
|
-
HLS_URL
|
43
|
-
when :hls_origin
|
44
|
-
HLS_ORIGIN_URL
|
45
|
-
else
|
46
|
-
URL
|
47
|
-
end
|
48
|
-
|
49
|
-
Paperclip::Interpolations.interpolate(base_url + suffix(url_options), self, 'default')
|
43
|
+
ensure_default_protocol(interpolate(url_pattern(url_options)),
|
44
|
+
url_options)
|
50
45
|
end
|
51
46
|
|
52
47
|
private
|
53
48
|
|
49
|
+
def ensure_default_protocol(url, url_options)
|
50
|
+
url =~ /^http/ ? url : [url_options[:default_protocol], url].compact.join(':')
|
51
|
+
end
|
52
|
+
|
53
|
+
def url_pattern(url_options)
|
54
|
+
base_url(url_options) + suffix(url_options)
|
55
|
+
end
|
56
|
+
|
57
|
+
def base_url(url_options)
|
58
|
+
case (url_options[:host] || options[:host])
|
59
|
+
when :hls
|
60
|
+
options[:hls_url]
|
61
|
+
when :hls_origin
|
62
|
+
options[:hls_origin_url]
|
63
|
+
else
|
64
|
+
options[:url]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
54
68
|
def suffix(url_options)
|
55
69
|
[
|
56
70
|
options[:url_suffix],
|
57
71
|
url_options[:unique_id] ? "?n=#{url_options[:unique_id]}" : nil
|
58
72
|
].compact.join
|
59
73
|
end
|
74
|
+
|
75
|
+
def interpolate(url)
|
76
|
+
Paperclip::Interpolations.interpolate(url, self, 'default')
|
77
|
+
end
|
60
78
|
end
|
61
79
|
end
|
@@ -2,9 +2,17 @@
|
|
2
2
|
<%= f.inputs do %>
|
3
3
|
<%= f.input :name %>
|
4
4
|
<%= f.input :default_file_rights %>
|
5
|
-
|
6
|
-
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
<%= f.semantic_fields_for :default_theming do |theming| %>
|
8
|
+
<%= f.inputs do %>
|
7
9
|
<%= theming.input :theme_name, :include_blank => false, :collection => Pageflow.config.themes.names %>
|
10
|
+
<%= theming.input :cname %>
|
11
|
+
<%= theming.input :home_url %>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<%= f.inputs do %>
|
15
|
+
<%= theming.input :home_button_enabled_by_default %>
|
8
16
|
<%= theming.input :imprint_link_label %>
|
9
17
|
<%= theming.input :imprint_link_url %>
|
10
18
|
<%= theming.input :copyright_link_label %>
|
@@ -15,4 +23,8 @@
|
|
15
23
|
<%= f.action(:submit) %>
|
16
24
|
<%= f.action(:cancel, :wrapper_html => {:class => 'cancel'}) %>
|
17
25
|
<% end %>
|
26
|
+
|
27
|
+
<script id="theme_options" type="application/json">
|
28
|
+
<%= themes_options_json_seed %>
|
29
|
+
</script>
|
18
30
|
<% end %>
|
@@ -4,6 +4,6 @@ para do
|
|
4
4
|
end
|
5
5
|
span(link_to(I18n.t("admin.entries.preview"), preview_admin_entry_path(entry), :class => 'preview button'))
|
6
6
|
if entry.published?
|
7
|
-
span(link_to(I18n.t("admin.entries.show_public"),
|
7
|
+
span(link_to(I18n.t("admin.entries.show_public"), pretty_entry_url(entry), :class => 'show_public button'))
|
8
8
|
end
|
9
9
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<!--[if lt IE 9]>
|
2
|
-
<%= stylesheet_link_tag "lt_ie9", :media => 'all' %>
|
3
|
-
<%= javascript_include_tag "lt_ie9" %>
|
2
|
+
<%= stylesheet_link_tag "pageflow/lt_ie9", :media => 'all' %>
|
3
|
+
<%= javascript_include_tag "pageflow/lt_ie9" %>
|
4
4
|
<![endif]-->
|
5
5
|
<!--[if IE 9]>
|
6
|
-
<%= stylesheet_link_tag "ie9", :media => 'all' %>
|
7
|
-
<%= javascript_include_tag "ie9" %>
|
6
|
+
<%= stylesheet_link_tag "pageflow/ie9", :media => 'all' %>
|
7
|
+
<%= javascript_include_tag "pageflow/ie9" %>
|
8
8
|
<![endif]-->
|
@@ -0,0 +1 @@
|
|
1
|
+
<% # To be overriden in application views %>
|
@@ -1,3 +1,7 @@
|
|
1
1
|
json.(entry, :id, :title, :summary, :credits, :published_until, :manual_start, :slug)
|
2
|
+
|
3
|
+
json.home_url entry.home_button.url_value
|
4
|
+
json.home_button_enabled entry.home_button.enabled_value
|
5
|
+
|
2
6
|
json.default_file_rights entry.account.default_file_rights
|
3
7
|
json.published(entry.published?)
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
<%= content_tag :div, class: ["navigation", entry.home_button.enabled? ? 'with_home_button' : nil].compact.join(' ') do %>
|
2
2
|
<%= render 'pageflow/entries/navigation/bar_top', :entry => entry %>
|
3
3
|
<div class="scroller">
|
4
4
|
<ul class="navigation_thumbnails">
|
@@ -66,4 +66,4 @@
|
|
66
66
|
</ul>
|
67
67
|
</div>
|
68
68
|
</div>
|
69
|
-
|
69
|
+
<% end %>
|
@@ -41,6 +41,7 @@
|
|
41
41
|
videoFiles: <%= render_json_seed(@entry.video_files.with_usage_id) %>,
|
42
42
|
audioFiles: <%= render_json_seed(@entry.audio_files.with_usage_id) %>,
|
43
43
|
|
44
|
+
theming: <%= render_json_seed(@entry.theming) %>,
|
44
45
|
page_types: <%= page_type_json_seeds %>
|
45
46
|
});
|
46
47
|
});
|
@@ -48,3 +49,5 @@
|
|
48
49
|
</script>
|
49
50
|
|
50
51
|
<%= page_type_templates %>
|
52
|
+
|
53
|
+
<%= render('pageflow/editor/entries/analytics', entry: @entry) %>
|
@@ -5,8 +5,9 @@
|
|
5
5
|
<span class="button"></span>
|
6
6
|
</a>
|
7
7
|
</li>
|
8
|
+
<%= render('pageflow/entries/navigation/home_button', home_button: entry.home_button) %>
|
8
9
|
<li>
|
9
|
-
<a class="navigation_bullet
|
10
|
+
<a class="navigation_bullet navigation_top" <%= "href=##{entry.pages.first.perma_id} data-link=#{entry.pages.first.id}" unless entry.pages.nil? || entry.pages.first.nil? %> tabindex="2" title="Zur ersten Seite">
|
10
11
|
<span class="hint">zum Anfang</span>
|
11
12
|
<span class="button"></span>
|
12
13
|
</a>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% if home_button.enabled? %>
|
2
|
+
<li>
|
3
|
+
<%= link_to(home_button.url, class: "navigation_bullet navigation_home", tabindex: "2", title: "Startseite anzeigen") do %>
|
4
|
+
<span class="hint">zurück zur Startseite</span>
|
5
|
+
<span class="button"></span>
|
6
|
+
<% end %>
|
7
|
+
</li>
|
8
|
+
<% end %>
|
@@ -9,9 +9,14 @@ Pageflow.after_configure do
|
|
9
9
|
|
10
10
|
Pageflow::ZencoderOutputDefinition.default_output_bucket_name = zencoder_options.fetch(:output_bucket) { raise "Missing output_bucket option in Pageflow.config.zencoder_options." }
|
11
11
|
Pageflow::ZencoderOutputDefinition.default_sftp_host = zencoder_options[:sftp_host]
|
12
|
+
Pageflow::ZencoderOutputDefinition.default_akamai_host = zencoder_options[:akamai_host]
|
13
|
+
Pageflow::ZencoderOutputDefinition.default_akamai_credentials = zencoder_options[:akamai_credentials]
|
14
|
+
Pageflow::ZencoderVideoOutputDefinition.skip_hls = zencoder_options.fetch(:skip_hls, false)
|
12
15
|
|
13
16
|
raise "Missing s3_host_alias option in Pageflow.config.zencoder_options." unless zencoder_options.has_key?(:s3_host_alias)
|
14
17
|
raise "Missing s3_protocol option in Pageflow.config.zencoder_options." unless zencoder_options.has_key?(:s3_protocol)
|
18
|
+
|
19
|
+
Pageflow::ZencoderAttachment.default_options.merge!(zencoder_options.slice(:path))
|
15
20
|
end
|
16
21
|
|
17
22
|
Paperclip.interpolates(:zencoder_host_alias) do |attachment, style|
|
@@ -27,9 +32,14 @@ Paperclip.interpolates(:zencoder_hls_origin_host_alias) do |attachment, style|
|
|
27
32
|
end
|
28
33
|
|
29
34
|
Paperclip.interpolates(:zencoder_protocol) do |attachment, style|
|
30
|
-
Pageflow.config.zencoder_options.fetch(:s3_protocol)
|
35
|
+
protocol = Pageflow.config.zencoder_options.fetch(:s3_protocol)
|
36
|
+
protocol.empty? ? protocol : "#{protocol}:"
|
31
37
|
end
|
32
38
|
|
33
39
|
Paperclip.interpolates(:zencoder_asset_version) do |attachment, style|
|
34
40
|
Pageflow.config.zencoder_options.fetch(:attachments_version)
|
35
41
|
end
|
42
|
+
|
43
|
+
Paperclip.interpolates(:zencoder_path) do |attachment, style|
|
44
|
+
attachment.path
|
45
|
+
end
|