pageflow 0.9.2 → 0.10.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.

Files changed (263) hide show
  1. checksums.yaml +5 -13
  2. data/CHANGELOG.md +193 -11
  3. data/README.md +9 -1
  4. data/Rakefile +5 -0
  5. data/admins/pageflow/accounts.rb +2 -1
  6. data/admins/pageflow/entry.rb +21 -1
  7. data/admins/pageflow/revisions.rb +1 -1
  8. data/app/assets/fonts/pageflow/entypo-license.txt +358 -0
  9. data/app/assets/fonts/pageflow/fontawesome-license.txt +1 -0
  10. data/app/assets/fonts/pageflow/sourcesanspro-bold-webfont.eot +0 -0
  11. data/app/assets/fonts/pageflow/sourcesanspro-bold-webfont.svg +1236 -194
  12. data/app/assets/fonts/pageflow/sourcesanspro-bold-webfont.ttf +0 -0
  13. data/app/assets/fonts/pageflow/sourcesanspro-bold-webfont.woff +0 -0
  14. data/app/assets/fonts/pageflow/sourcesanspro-license.txt +93 -0
  15. data/app/assets/fonts/pageflow/sourcesanspro-light-webfont.eot +0 -0
  16. data/app/assets/fonts/pageflow/sourcesanspro-light-webfont.svg +1153 -839
  17. data/app/assets/fonts/pageflow/sourcesanspro-light-webfont.ttf +0 -0
  18. data/app/assets/fonts/pageflow/sourcesanspro-light-webfont.woff +0 -0
  19. data/app/assets/fonts/pageflow/sourcesanspro-regular-webfont.eot +0 -0
  20. data/app/assets/fonts/pageflow/sourcesanspro-regular-webfont.svg +1252 -199
  21. data/app/assets/fonts/pageflow/sourcesanspro-regular-webfont.ttf +0 -0
  22. data/app/assets/fonts/pageflow/sourcesanspro-regular-webfont.woff +0 -0
  23. data/app/assets/javascripts/pageflow/base.js +2 -0
  24. data/app/assets/javascripts/pageflow/browser/agent.js +25 -0
  25. data/app/assets/javascripts/pageflow/browser/css_animations.js +18 -0
  26. data/app/assets/javascripts/pageflow/browser/mobile_platform.js +1 -4
  27. data/app/assets/javascripts/pageflow/browser/video.js +8 -1
  28. data/app/assets/javascripts/pageflow/chapter_filter.js +6 -16
  29. data/app/assets/javascripts/pageflow/editor/api.js +6 -2
  30. data/app/assets/javascripts/pageflow/editor/api/page_type.js +12 -0
  31. data/app/assets/javascripts/pageflow/editor/base.js +4 -0
  32. data/app/assets/javascripts/pageflow/editor/collections/chapter_pages_collection.js +4 -1
  33. data/app/assets/javascripts/pageflow/editor/collections/chapters_collection.js +1 -5
  34. data/app/assets/javascripts/pageflow/editor/collections/mixins/add_and_return_model.js +11 -0
  35. data/app/assets/javascripts/pageflow/editor/collections/mixins/ordered_collection.js +6 -4
  36. data/app/assets/javascripts/pageflow/editor/collections/ordered_page_links_collection.js +9 -0
  37. data/app/assets/javascripts/pageflow/editor/collections/page_links_collection.js +78 -0
  38. data/app/assets/javascripts/pageflow/editor/collections/pages_collection.js +9 -3
  39. data/app/assets/javascripts/pageflow/editor/collections/storyline_chapters_collection.js +35 -0
  40. data/app/assets/javascripts/pageflow/editor/collections/storylines_collection.js +33 -0
  41. data/app/assets/javascripts/pageflow/editor/controllers/sidebar_controller.js +19 -2
  42. data/app/assets/javascripts/pageflow/editor/initializers/edit_lock.js +1 -1
  43. data/app/assets/javascripts/pageflow/editor/initializers/setup_collections.js +11 -0
  44. data/app/assets/javascripts/pageflow/editor/initializers/setup_common_seed.js +3 -0
  45. data/app/assets/javascripts/pageflow/editor/initializers/stylesheet_reloading.js +11 -0
  46. data/app/assets/javascripts/pageflow/editor/models/chapter.js +14 -7
  47. data/app/assets/javascripts/pageflow/editor/models/chapter_scaffold.js +13 -0
  48. data/app/assets/javascripts/pageflow/editor/models/edit_lock_container.js +4 -4
  49. data/app/assets/javascripts/pageflow/editor/models/entry.js +33 -4
  50. data/app/assets/javascripts/pageflow/editor/models/mixins/persited_promise.js +18 -0
  51. data/app/assets/javascripts/pageflow/editor/models/page.js +4 -0
  52. data/app/assets/javascripts/pageflow/editor/models/page_link.js +37 -0
  53. data/app/assets/javascripts/pageflow/editor/models/page_link_file_selection_handler.js +14 -0
  54. data/app/assets/javascripts/pageflow/editor/models/preview_entry_data.js +15 -0
  55. data/app/assets/javascripts/pageflow/editor/models/scaffold.js +26 -0
  56. data/app/assets/javascripts/pageflow/editor/models/storyline.js +99 -0
  57. data/app/assets/javascripts/pageflow/editor/models/storyline_configuration.js +15 -0
  58. data/app/assets/javascripts/pageflow/editor/models/storyline_ordering.js +117 -0
  59. data/app/assets/javascripts/pageflow/editor/models/storyline_scaffold.js +23 -0
  60. data/app/assets/javascripts/pageflow/editor/models/storyline_transitive_child_pages.js +33 -0
  61. data/app/assets/javascripts/pageflow/editor/routers/sidebar_router.js +3 -0
  62. data/app/assets/javascripts/pageflow/editor/templates/edit_entry.jst.ejs +1 -6
  63. data/app/assets/javascripts/pageflow/editor/templates/edit_page_link.jst.ejs +3 -0
  64. data/app/assets/javascripts/pageflow/editor/templates/edit_storyline.jst.ejs +12 -0
  65. data/app/assets/javascripts/pageflow/editor/templates/page_link_item.jst.ejs +1 -0
  66. data/app/assets/javascripts/pageflow/editor/templates/page_selection.jst.ejs +2 -2
  67. data/app/assets/javascripts/pageflow/editor/templates/storyline_outline.jst.ejs +4 -0
  68. data/app/assets/javascripts/pageflow/editor/templates/storyline_picker.jst.ejs +7 -0
  69. data/app/assets/javascripts/pageflow/editor/utils/reload_stylesheet.js +9 -0
  70. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/options.js +2 -2
  71. data/app/assets/javascripts/pageflow/editor/views/configuration_editors/groups/page_link.js +10 -0
  72. data/app/assets/javascripts/pageflow/editor/views/edit_chapter_view.js +0 -4
  73. data/app/assets/javascripts/pageflow/editor/views/edit_entry_view.js +9 -15
  74. data/app/assets/javascripts/pageflow/editor/views/edit_meta_data_view.js +14 -6
  75. data/app/assets/javascripts/pageflow/editor/views/edit_page_link_view.js +47 -0
  76. data/app/assets/javascripts/pageflow/editor/views/edit_storyline_view.js +97 -0
  77. data/app/assets/javascripts/pageflow/editor/views/editor_view.js +6 -3
  78. data/app/assets/javascripts/pageflow/editor/views/entry_preview_view.js +13 -7
  79. data/app/assets/javascripts/pageflow/editor/views/file_item_view.js +1 -1
  80. data/app/assets/javascripts/pageflow/editor/views/inputs/page_link_input_view.js +3 -1
  81. data/app/assets/javascripts/pageflow/editor/views/locked_view.js +3 -3
  82. data/app/assets/javascripts/pageflow/editor/views/mixins/loadable.js +1 -1
  83. data/app/assets/javascripts/pageflow/editor/views/page_item_view.js +2 -0
  84. data/app/assets/javascripts/pageflow/editor/views/page_link_configuration_editor_view.js +7 -0
  85. data/app/assets/javascripts/pageflow/editor/views/page_link_item_view.js +8 -1
  86. data/app/assets/javascripts/pageflow/editor/views/page_preview_view.js +1 -1
  87. data/app/assets/javascripts/pageflow/editor/views/page_selection_view.js +13 -12
  88. data/app/assets/javascripts/pageflow/editor/views/storyline_outline_view.js +33 -0
  89. data/app/assets/javascripts/pageflow/editor/views/storyline_picker_view.js +114 -0
  90. data/app/assets/javascripts/pageflow/entry_data.js +38 -4
  91. data/app/assets/javascripts/pageflow/highlighted_page.js +5 -5
  92. data/app/assets/javascripts/pageflow/history.js +1 -1
  93. data/app/assets/javascripts/pageflow/native_scrolling.js +14 -0
  94. data/app/assets/javascripts/pageflow/page_transitions.js +3 -1
  95. data/app/assets/javascripts/pageflow/page_type.js +2 -0
  96. data/app/assets/javascripts/pageflow/ready.js +4 -1
  97. data/app/assets/javascripts/pageflow/seed_entry_data.js +28 -1
  98. data/app/assets/javascripts/pageflow/slideshow.js +11 -8
  99. data/app/assets/javascripts/pageflow/slideshow/dom_order_scroll_navigator.js +93 -8
  100. data/app/assets/javascripts/pageflow/slideshow/hidden_text_indicator_widget.js +5 -3
  101. data/app/assets/javascripts/pageflow/slideshow/lazy_page_widget.js +4 -0
  102. data/app/assets/javascripts/pageflow/slideshow/page_widget.js +15 -6
  103. data/app/assets/javascripts/pageflow/ui/templates/tooltip.jst.ejs +2 -0
  104. data/app/assets/javascripts/pageflow/ui/views/inputs/text_area_input_view.js +17 -4
  105. data/app/assets/javascripts/pageflow/ui/views/mixins/tooltip_container.js +42 -0
  106. data/app/assets/javascripts/pageflow/ui/views/tooltip_view.js +49 -0
  107. data/app/assets/javascripts/pageflow/video_player.js +2 -2
  108. data/app/assets/javascripts/pageflow/video_player/{filter_for_silk.js → filter_sources.js} +2 -2
  109. data/app/assets/javascripts/pageflow/widgets/navigation.js +17 -14
  110. data/app/assets/javascripts/pageflow/widgets/navigation_mobile.js +7 -2
  111. data/app/assets/javascripts/pageflow/widgets/overview.js +9 -6
  112. data/app/assets/javascripts/pageflow/widgets/page_navigation_list.js +51 -13
  113. data/app/assets/javascripts/pageflow/widgets/page_navigation_list_animation.js +48 -0
  114. data/app/assets/javascripts/pageflow/widgets/parent_page_button.js +9 -2
  115. data/app/assets/stylesheets/pageflow/admin.css.scss +2 -15
  116. data/app/assets/stylesheets/pageflow/admin/features.scss +5 -0
  117. data/app/assets/stylesheets/pageflow/admin/forms.scss +18 -0
  118. data/app/assets/stylesheets/pageflow/animations.css.scss +1 -0
  119. data/app/assets/stylesheets/pageflow/animations/navigation_bar.scss +89 -0
  120. data/app/assets/stylesheets/pageflow/delayed_text_fade_in.css.scss +1 -1
  121. data/app/assets/stylesheets/pageflow/editor/base.css.scss +5 -0
  122. data/app/assets/stylesheets/pageflow/editor/menu.css.scss +1 -0
  123. data/app/assets/stylesheets/pageflow/editor/outline.css.scss +5 -0
  124. data/app/assets/stylesheets/pageflow/editor/page_links.css.scss +9 -1
  125. data/app/assets/stylesheets/pageflow/editor/page_selection.css.scss +7 -1
  126. data/app/assets/stylesheets/pageflow/editor/storyline_picker.css.scss +32 -0
  127. data/app/assets/stylesheets/pageflow/extendables.scss +26 -0
  128. data/app/assets/stylesheets/pageflow/mixins/pageflow.css.scss +25 -0
  129. data/app/assets/stylesheets/pageflow/navigation_bar.css.scss +64 -4
  130. data/app/assets/stylesheets/pageflow/navigation_mobile.css.scss +56 -0
  131. data/app/assets/stylesheets/pageflow/page_transitions.css.scss +4 -1
  132. data/app/assets/stylesheets/pageflow/page_transitions/scroll_over_from_left.scss +12 -0
  133. data/app/assets/stylesheets/pageflow/page_transitions/scroll_over_from_right.scss +12 -0
  134. data/app/assets/stylesheets/pageflow/page_types/video.css.scss +5 -1
  135. data/app/assets/stylesheets/pageflow/themes/default/page.css.scss +180 -42
  136. data/app/assets/stylesheets/pageflow/ui.css.scss +1 -0
  137. data/app/assets/stylesheets/pageflow/ui/forms.css.scss +11 -2
  138. data/app/assets/stylesheets/pageflow/ui/input/extended_select_input.css.scss +1 -0
  139. data/app/assets/stylesheets/pageflow/ui/tabs_view.css.scss +0 -3
  140. data/app/assets/stylesheets/pageflow/ui/tooltip.scss +57 -0
  141. data/app/controllers/concerns/pageflow/entry_password_protection.rb +13 -0
  142. data/app/controllers/pageflow/chapters_controller.rb +24 -9
  143. data/app/controllers/pageflow/edit_locks_controller.rb +2 -2
  144. data/app/controllers/pageflow/editor/files_controller.rb +0 -2
  145. data/app/controllers/pageflow/editor/widgets_controller.rb +1 -1
  146. data/app/controllers/pageflow/entries_controller.rb +5 -9
  147. data/app/controllers/pageflow/files_controller.rb +3 -0
  148. data/app/controllers/pageflow/storylines_controller.rb +69 -0
  149. data/app/helpers/pageflow/admin/features_helper.rb +17 -6
  150. data/app/helpers/pageflow/admin/widgets_helper.rb +18 -0
  151. data/app/helpers/pageflow/audio_files_helper.rb +2 -2
  152. data/app/helpers/pageflow/common_entry_seed_helper.rb +52 -0
  153. data/app/helpers/pageflow/entries_helper.rb +7 -1
  154. data/app/helpers/pageflow/entry_json_seed_helper.rb +27 -10
  155. data/app/helpers/pageflow/meta_tags_helper.rb +11 -0
  156. data/app/helpers/pageflow/page_types_helper.rb +9 -5
  157. data/app/helpers/pageflow/pages_helper.rb +9 -96
  158. data/app/helpers/pageflow/public_i18n_helper.rb +13 -0
  159. data/app/helpers/pageflow/social_share_helper.rb +1 -1
  160. data/app/helpers/pageflow/video_files_helper.rb +133 -0
  161. data/app/helpers/pageflow/widgets_helper.rb +3 -9
  162. data/app/models/concerns/pageflow/feature_target.rb +21 -3
  163. data/app/models/concerns/pageflow/hosted_file.rb +4 -0
  164. data/app/models/pageflow/account.rb +2 -2
  165. data/app/models/pageflow/chapter.rb +4 -4
  166. data/app/models/pageflow/chapter_scaffold.rb +33 -0
  167. data/app/models/pageflow/cname_theming_request_scope.rb +7 -1
  168. data/app/models/pageflow/draft_entry.rb +13 -2
  169. data/app/models/pageflow/edit_lock.rb +2 -2
  170. data/app/models/pageflow/entry.rb +3 -2
  171. data/app/models/pageflow/image_file.rb +6 -0
  172. data/app/models/pageflow/published_entry.rb +13 -2
  173. data/app/models/pageflow/revision.rb +17 -4
  174. data/app/models/pageflow/storyline.rb +23 -0
  175. data/app/models/pageflow/storyline_scaffold.rb +27 -0
  176. data/app/models/pageflow/theming.rb +4 -0
  177. data/app/models/pageflow/widget.rb +16 -12
  178. data/app/views/admin/accounts/_form.html.erb +8 -12
  179. data/app/views/admin/accounts/_widgets_inline_help.html.erb +5 -0
  180. data/app/views/layouts/pageflow/application.html.erb +4 -1
  181. data/app/views/pageflow/admin/widgets/_fields.html.erb +9 -0
  182. data/app/views/pageflow/config/_editor_seeds.json.jbuilder +1 -1
  183. data/app/views/pageflow/editor/entries/_entry.json.jbuilder +2 -2
  184. data/app/views/pageflow/editor/entries/_other_entry.json.jbuilder +1 -0
  185. data/app/views/pageflow/editor/entries/index.json.jbuilder +1 -1
  186. data/app/views/pageflow/editor/entries/seed.json.erb +4 -1
  187. data/app/views/pageflow/editor/files/_file.json.jbuilder +4 -0
  188. data/app/views/pageflow/editor/themings/_theming.json.jbuilder +1 -0
  189. data/app/views/pageflow/entries/_entry.html.erb +2 -2
  190. data/app/views/pageflow/entries/_ie8_hint.html.erb +2 -2
  191. data/app/views/pageflow/entries/_indicators.html.erb +3 -3
  192. data/app/views/pageflow/entries/_mobile_navigation.html.erb +6 -5
  193. data/app/views/pageflow/entries/_multimedia_alert.html.erb +6 -6
  194. data/app/views/pageflow/entries/_non_js_hint.html.erb +1 -1
  195. data/app/views/pageflow/entries/_skip_links.html.erb +3 -3
  196. data/app/views/pageflow/entries/edit.html.erb +4 -2
  197. data/app/views/pageflow/entries/navigation/_bar_bottom.html.erb +6 -5
  198. data/app/views/pageflow/entries/navigation/_bar_top.html.erb +13 -13
  199. data/app/views/pageflow/entries/navigation/_home_button.html.erb +2 -2
  200. data/app/views/pageflow/entries/navigation/_page.html.erb +1 -1
  201. data/app/views/pageflow/entries/overview/_chapter.html.erb +1 -1
  202. data/app/views/pageflow/entries/overview/_entry.html.erb +7 -6
  203. data/app/views/pageflow/entries/share_menu/_facebook_link.html.erb +1 -1
  204. data/app/views/pageflow/entries/share_menu/_google_link.html.erb +1 -1
  205. data/app/views/pageflow/entries/share_menu/_twitter_link.html.erb +1 -1
  206. data/app/views/pageflow/entries/show.html.erb +4 -1
  207. data/app/views/pageflow/file_types/_thumbnails.css.erb +2 -0
  208. data/app/views/pageflow/meta_tags/_entry.html.erb +4 -0
  209. data/app/views/pageflow/pages/_page.html.erb +2 -2
  210. data/app/views/pageflow/pages/templates/_audio.html.erb +2 -2
  211. data/app/views/pageflow/pages/templates/_audio_loop.html.erb +1 -1
  212. data/app/views/pageflow/pages/templates/_background_video.html.erb +8 -3
  213. data/app/views/pageflow/pages/templates/_video.html.erb +9 -4
  214. data/app/views/pageflow/public_i18n/_javascript_tag.html.erb +5 -0
  215. data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
  216. data/app/views/pageflow/video_files/_script_tag.html.erb +3 -0
  217. data/app/views/pageflow/video_files/_video_file.html.erb +4 -1
  218. data/app/views/pageflow/video_files/_video_tag.html.erb +7 -0
  219. data/config/initializers/admin_resource_tabs.rb +1 -0
  220. data/config/initializers/features.rb +3 -1
  221. data/config/initializers/paperclip.rb +5 -0
  222. data/config/locales/de.yml +205 -601
  223. data/config/locales/en.yml +198 -405
  224. data/config/routes.rb +10 -2
  225. data/db/migrate/20150826125417_create_pageflow_storylines.rb +12 -0
  226. data/db/migrate/20150826125744_add_storyline_id_to_chapters.rb +6 -0
  227. data/db/migrate/20150826125745_insert_main_storylines.rb +28 -0
  228. data/db/migrate/20150830105831_remove_revision_id_from_chapters.rb +5 -0
  229. data/db/migrate/20150830110006_remove_entry_id_from_chapters.rb +5 -0
  230. data/db/migrate/20160201130118_add_additional_cnames_to_themings.rb +5 -0
  231. data/db/migrate/20160216130336_add_meta_fields_to_revision.rb +7 -0
  232. data/lib/generators/pageflow/initializer/templates/pageflow.rb +7 -0
  233. data/lib/pageflow/ability_mixin.rb +7 -1
  234. data/lib/pageflow/configuration.rb +27 -2
  235. data/lib/pageflow/engine.rb +4 -1
  236. data/lib/pageflow/features.rb +24 -0
  237. data/lib/pageflow/global_config_api.rb +1 -0
  238. data/lib/pageflow/seeds.rb +4 -2
  239. data/lib/pageflow/theme.rb +4 -0
  240. data/lib/pageflow/version.rb +1 -1
  241. data/spec/factories/chapters.rb +6 -3
  242. data/spec/factories/storylines.rb +13 -0
  243. metadata +1021 -928
  244. data/app/assets/fonts/pageflow/FranklinGothic-Demi-webfont.eot +0 -0
  245. data/app/assets/fonts/pageflow/FranklinGothic-Demi-webfont.svg +0 -768
  246. data/app/assets/fonts/pageflow/FranklinGothic-Demi-webfont.ttf +0 -0
  247. data/app/assets/fonts/pageflow/FranklinGothic-Demi-webfont.woff +0 -0
  248. data/app/assets/fonts/pageflow/FranklinGothic-Hvy-webfont.eot +0 -0
  249. data/app/assets/fonts/pageflow/FranklinGothic-Hvy-webfont.svg +0 -968
  250. data/app/assets/fonts/pageflow/FranklinGothic-Hvy-webfont.ttf +0 -0
  251. data/app/assets/fonts/pageflow/FranklinGothic-Hvy-webfont.woff +0 -0
  252. data/app/assets/fonts/pageflow/thesansboldplain.eot +0 -0
  253. data/app/assets/fonts/pageflow/thesansboldplain.svg +0 -228
  254. data/app/assets/fonts/pageflow/thesansboldplain.ttf +0 -0
  255. data/app/assets/fonts/pageflow/thesansboldplain.woff +0 -0
  256. data/app/assets/fonts/pageflow/thesanssemiboldplain.eot +0 -0
  257. data/app/assets/fonts/pageflow/thesanssemiboldplain.svg +0 -228
  258. data/app/assets/fonts/pageflow/thesanssemiboldplain.ttf +0 -0
  259. data/app/assets/fonts/pageflow/thesanssemiboldplain.woff +0 -0
  260. data/app/assets/javascripts/pageflow/browser/hashchange_support.js +0 -8
  261. data/app/assets/javascripts/pageflow/widgets/button.js +0 -22
  262. data/app/views/layouts/pageflow/_meta_tags.html.erb +0 -5
  263. data/app/views/pageflow/pages/_video_tag.html.erb +0 -13
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MjU4YjdlMzQyNGJiNDcxZjJhZmEyNGVlYmY4MmM1MmU3OTkzZjlmYQ==
5
- data.tar.gz: !binary |-
6
- YmFmZWM5NTE4ZWJkNWQwOTM4ZjI5ZWRkYzU2YjlkNTAxM2I3Yzk4ZQ==
2
+ SHA1:
3
+ metadata.gz: a4f7e93e1fdb9b1a6c4625f17790cd20cf430757
4
+ data.tar.gz: f9e5c482fbc496bea80d27a92160d123679d0249
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- ZTcwNDEwYjI2ODBjYzFiMWYxODEzYzBjZjEwN2FhYTRjZWJlZTVkYzNkODgz
10
- ZjgwZDc0ODY5NDQwM2IwZDhhODhiYzBjM2E4MTY4OTgyZDg5YWEzMTIyMGM5
11
- MDRlYzVjMmFlODc2NTRlMDJhNDJiZmI4MmQwMDIwMjZkMzFjNDg=
12
- data.tar.gz: !binary |-
13
- ZDM5MmJjNGIyY2I0OTJlOGZlNjZhYzVkMmU1MzY5NTUwZjRkMGJkM2IwMmEx
14
- NGY1NTkxODQxMWE0YWQ2YjYzM2M1OTI2NmEzMWY5NzZlZTJiMTUxMjA4ZGI2
15
- Yjk1ZWIzYjliMzk0Mzc0OTRkOWM0YjZiNzdmZjY4YTRmMmM2YjY=
6
+ metadata.gz: 1b5741d9d5e09276c7eb3381ba101068e5c18717141102cf6f9de75e8d2022e0a474ac90b54d2b8f1ed41051c722a83d264b753111acb30121071066bf3a3ffc
7
+ data.tar.gz: 4385c385039d5dacd5abeea0ea3d9b5ddc5381e5b845c5ab0c836bdac2e8334a4ba561e666e86db29b13b3670ae3f482b91b91bb993d708a7dedba626f33808c
@@ -1,22 +1,204 @@
1
1
  # CHANGELOG
2
2
 
3
- ### Version 0.9.2
3
+ ### Version 0.10.0
4
4
 
5
- 2016-02-02
5
+ 2016-06-09
6
6
 
7
- [Compare changes](https://github.com/codevise/pageflow/compare/v0.9.1...v0.9.2)
7
+ [Compare changes](https://github.com/codevise/pageflow/compare/v0.9.0...v0.10.0)
8
8
 
9
- - Bug fix: Prevent unauthorized access of password protected entries.
10
- ([#484](https://github.com/codevise/pageflow/pull/484))
9
+ ##### Breaking Changes
10
+
11
+ - Except for icon fonts, Pageflow now only packages the Source Sans
12
+ Pro font, which is used by the default theme. If your theme depends
13
+ on one of the additional fonts that were included so far, you need
14
+ to supply these in your own app from now on.
15
+ ([#498](https://github.com/codevise/pageflow/pull/498))
16
+
17
+ - HTML meta tags for published entries can now be configured in the
18
+ Pageflow initializer. The partial
19
+ `layouts/pageflow/_meta_tags.html.erb` is no longer used and can be
20
+ removed.
21
+ ([#508](https://github.com/codevise/pageflow/pull/508),
22
+ [#517](https://github.com/codevise/pageflow/pull/517))
23
+
24
+ ##### Manual Update Step
25
+
26
+ - Image file Paperclip attachments need to be refreshed to ensure the
27
+ new `thumbnail_large` styles
28
+ ([#466](https://github.com/codevise/pageflow/pull/466)) are present:
29
+
30
+ $ bin/rake paperclip:refresh:thumbnails \
31
+ CLASS=Pageflow::ImageFile \
32
+ ATTACHMENT=processed_attachment \
33
+ STYLES=thumbnail_large
11
34
 
12
- ### Version 0.9.1
35
+ $ bin/rake paperclip:refresh:thumbnails \
36
+ CLASS=Pageflow::VideoFile \
37
+ ATTACHMENT=poster \
38
+ STYLES=thumbnail_large
39
+
40
+ $ bin/rake paperclip:refresh:thumbnails \
41
+ CLASS=Pageflow::VideoFile \
42
+ ATTACHMENT=thumbnail \
43
+ STYLES=thumbnail_large
13
44
 
14
- 2015-10-30
45
+ If you use plugins that provide file types with thumbnails, you need
46
+ to reprocess their attachments as well.
15
47
 
16
- [Compare changes](https://github.com/codevise/pageflow/compare/v0.9.0...v0.9.1)
48
+ ##### Public Site
17
49
 
50
+ - Support entries with multiple storylines
51
+ ([#409](https://github.com/codevise/pageflow/pull/409),
52
+ [#461](https://github.com/codevise/pageflow/pull/461),
53
+ [#462](https://github.com/codevise/pageflow/pull/462),
54
+ [#467](https://github.com/codevise/pageflow/pull/467),
55
+ [#485](https://github.com/codevise/pageflow/pull/485))
56
+ - Display chapters of main storyline in overview
57
+ ([#455](https://github.com/codevise/pageflow/pull/455))
58
+ - Add css class to prevent display of hidden text indicator
59
+ ([#435](https://github.com/codevise/pageflow/pull/435))
60
+ - Use shared translations `pageflow-public-i18n` gem for published
61
+ entries.
62
+ ([#451](https://github.com/codevise/pageflow/pull/451),
63
+ [#450](https://github.com/codevise/pageflow/pull/450),
64
+ [#410](https://github.com/codevise/pageflow/pull/410))
65
+ - Fade scroll indicators on classic navigation bar
66
+ ([#464](https://github.com/codevise/pageflow/pull/464))
67
+ - Bug fix: Ensure background videos loop on desktop safari 9
68
+ ([#527](https://github.com/codevise/pageflow/pull/527))
69
+ - Bug fix: Use current entry in non-js media links, fix video tag
70
+ rendering and apply password protection to non-js files pages.
71
+ ([#530](https://github.com/codevise/pageflow/pull/530),
72
+ [#529](https://github.com/codevise/pageflow/pull/529))
73
+ - Bug fix: Remove html entities from social share description
74
+ ([#486](https://github.com/codevise/pageflow/pull/486))
75
+ - Bug fix: Prevent accessing password protected entries
76
+ ([#483](https://github.com/codevise/pageflow/pull/483))
77
+ - Bug fix: Use history pushstateadapter on ios 8 and above
78
+ ([#479](https://github.com/codevise/pageflow/pull/479))
79
+ - Bug fix: Use correct key in navigation share box
80
+ ([#454](https://github.com/codevise/pageflow/pull/454))
81
+ - Bug fix: Replace source sans pro to support czech characters
82
+ ([#497](https://github.com/codevise/pageflow/pull/497))
83
+ - Bug fix: Decouple overview and navigation widgets
84
+ ([#505](https://github.com/codevise/pageflow/pull/505))
85
+ - Bug fix: Ensure delayed text is displayed id no css animation support
86
+ ([#525](https://github.com/codevise/pageflow/pull/525))
87
+
88
+ ##### Admin
89
+
90
+ - Add feature tab to entry admin
91
+ ([#432](https://github.com/codevise/pageflow/pull/432))
92
+ - Allow associating multiple CNAMES with a theming
93
+ ([#482](https://github.com/codevise/pageflow/pull/482))
94
+ - Improve feature state inheritance
95
+ ([#528](https://github.com/codevise/pageflow/pull/528))
96
+ - Add inline help for account default widgets form
97
+ ([#522](https://github.com/codevise/pageflow/pull/522))
98
+
99
+ ##### Editor
100
+
101
+ - Scaffold pages and chapters in editor
102
+ ([#456](https://github.com/codevise/pageflow/pull/456))
103
+ - Disallow links in overview description
104
+ ([#440](https://github.com/codevise/pageflow/pull/440))
105
+ - Make page transitions to storylines more configurable
106
+ ([#526](https://github.com/codevise/pageflow/pull/526))
107
+ - Add storyline help topic
108
+ ([#460](https://github.com/codevise/pageflow/pull/460))
109
+ - Improve display of page type pictograms in select box
110
+ ([#434](https://github.com/codevise/pageflow/pull/434))
111
+ - Improve reloading logic for widgets inside editor
112
+ ([#429](https://github.com/codevise/pageflow/pull/429))
113
+ - Reload dynamically generated entry stylesheet
114
+ ([#426](https://github.com/codevise/pageflow/pull/426))
115
+ - Improve inline help in forms
116
+ ([#480](https://github.com/codevise/pageflow/pull/480))
117
+ - Debounce widget update in editor
118
+ ([#444](https://github.com/codevise/pageflow/pull/444))
119
+ - Improve native scrolling prevention
120
+ ([#477](https://github.com/codevise/pageflow/pull/477))
121
+ - Bug fix: Improve storyline management
122
+ ([#515](https://github.com/codevise/pageflow/pull/515))
123
+ - Bug fix: Prevent creation of loops in the storyline hierarchy
124
+ ([#533](https://github.com/codevise/pageflow/pull/533))
125
+ - Bug fix: Prevent edit lock warning when editing reused file
126
+ ([#524](https://github.com/codevise/pageflow/pull/524))
127
+ - Make fetching other entries faster for file reuse
128
+ ([#523](https://github.com/codevise/pageflow/pull/523))
129
+ - Bug fix: Optimize sidebar for text box compatibility
130
+ ([#478](https://github.com/codevise/pageflow/pull/478))
18
131
  - Bug fix: Fix editor blank slate background color
19
- ([#436](https://github.com/codevise/pageflow/pull/436))
132
+ ([#433](https://github.com/codevise/pageflow/pull/433))
133
+ - Bug fix: Offer original image for download in editor
134
+ ([#442](https://github.com/codevise/pageflow/pull/442))
135
+ - Bug fix: Ensure pages are preloaded in editor after type change
136
+ ([#430](https://github.com/codevise/pageflow/pull/430))
137
+ - Bug fix: Correctly detect links to prevent default for in editor
138
+ ([#431](https://github.com/codevise/pageflow/pull/431))
139
+
140
+ ##### Rails Engine
141
+
142
+ - Let page type opt out of default scroller creation
143
+ ([#427](https://github.com/codevise/pageflow/pull/427))
144
+ - Add theme option to control page change at storyline boundaries
145
+ ([#458](https://github.com/codevise/pageflow/pull/458))
146
+ - Allow registering default widget types in features
147
+ ([#521](https://github.com/codevise/pageflow/pull/521))
148
+ - Add mixin to generate page type pictogram theme css
149
+ ([#449](https://github.com/codevise/pageflow/pull/449))
150
+ - Introduce SCSS extendables
151
+ ([#463](https://github.com/codevise/pageflow/pull/463))
152
+ - Introduce SCSS variables for page typography
153
+ ([#520](https://github.com/codevise/pageflow/pull/520))
154
+ - Add image css classes to lazy load thumbnails
155
+ ([#488](https://github.com/codevise/pageflow/pull/488))
156
+ - Add cleanup page type hook
157
+ ([#489](https://github.com/codevise/pageflow/pull/489))
158
+ - Reorganize seed data
159
+ ([#465](https://github.com/codevise/pageflow/pull/465),
160
+ [#532](https://github.com/codevise/pageflow/pull/532))
161
+ - Allow using i18n-js in published entries.
162
+ ([#531](https://github.com/codevise/pageflow/pull/531))
163
+ - Default implementation for editor page links collection and views
164
+ ([#415](https://github.com/codevise/pageflow/pull/415))
165
+ - Implement options for disabling rich text and links in TextAreaInputView
166
+ ([#404](https://github.com/codevise/pageflow/pull/404))
167
+ - Trigger event on editor api when chapter or page is added
168
+ ([#457](https://github.com/codevise/pageflow/pull/457))
169
+ - Set PAGEFLOW_EDITOR global
170
+ ([#428](https://github.com/codevise/pageflow/pull/428))
171
+ - Improve page navigation list widget
172
+ ([#443](https://github.com/codevise/pageflow/pull/443))
173
+ - Also set filter css class on navigation bar item
174
+ ([#459](https://github.com/codevise/pageflow/pull/459))
175
+ - Optionally specify a host for the dummy instance
176
+ ([#503](https://github.com/codevise/pageflow/pull/503))
177
+ - Ensure multijson uses yajl JSON adapter.
178
+ ([#487](https://github.com/codevise/pageflow/pull/487))
179
+ - Improve guides and specs
180
+ ([#502](https://github.com/codevise/pageflow/pull/502),
181
+ [#501](https://github.com/codevise/pageflow/pull/501),
182
+ [#473](https://github.com/codevise/pageflow/pull/473),
183
+ [#472](https://github.com/codevise/pageflow/pull/472),
184
+ [#514](https://github.com/codevise/pageflow/pull/514))
185
+ - Improve test coverage of page type interface
186
+ ([#518](https://github.com/codevise/pageflow/pull/518))
187
+ - Bug fix: Destroy dependent account objects
188
+ ([#493](https://github.com/codevise/pageflow/pull/493))
189
+ - Bug fix: Prevent incorrectly called page type hook on manual start
190
+ ([#441](https://github.com/codevise/pageflow/pull/441))
191
+ - Bug fix: Explicitly set available locales in config
192
+ ([#452](https://github.com/codevise/pageflow/pull/452))
193
+ - Bug fix: Fix migration rename command in readme
194
+ ([#448](https://github.com/codevise/pageflow/pull/448))
195
+
196
+ ##### Internals
197
+
198
+ - Install semmy release rake tasks
199
+ ([#534](https://github.com/codevise/pageflow/pull/534))
200
+ - Update travis to use ruby 2.1
201
+ ([#506](https://github.com/codevise/pageflow/pull/506))
20
202
 
21
203
  ### Version 0.9.0
22
204
 
@@ -59,9 +241,9 @@
59
241
  account's admin page to view a list of available feature
60
242
  toggles.
61
243
  - Image file Paperclip attachments need to be refreshed to ensure the
62
- new panorama styles
244
+ new panorama styles
63
245
  ([#344](https://github.com/codevise/pageflow/pull/344)) are present:
64
-
246
+
65
247
  $ bin/rake paperclip:refresh:thumbnails \
66
248
  CLASS=Pageflow::ImageFile \
67
249
  ATTACHMENT=processed_attachment \
data/README.md CHANGED
@@ -121,7 +121,7 @@ _Devise migration name fix_: In some cases, the Devise generator creates
121
121
  a migration file without file extension. This needs to be fixed manually
122
122
  at the moment:
123
123
 
124
- $ mv db/migrate/*_devise_create_users{,.rb}
124
+ $ rename 's/$/.rb/' db/migrate/*_devise_create_users
125
125
 
126
126
  Now you can migrate the database.
127
127
 
@@ -177,3 +177,11 @@ development environment.
177
177
 
178
178
  If you run into problems during the installation of Pageflow, please refer to the [Troubleshooting](https://github.com/codevise/pageflow/wiki/Troubleshooting) wiki
179
179
  page. If that doesn't help, consider [filing an issue](https://github.com/codevise/pageflow/issues?state=open).
180
+
181
+ ## Special Thanks
182
+
183
+ We would like to express our special thanks to the following services
184
+ for supporting Pageflow through free open source plans:
185
+
186
+ [![BrowserStack](doc/supporter_logos/browser_stack.png)](https://browserstack.com)
187
+ [![Travis CI](doc/supporter_logos/travis_ci.png)](https://travis-ci.com/)
data/Rakefile CHANGED
@@ -14,6 +14,11 @@ RDoc::Task.new(:rdoc) do |rdoc|
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
17
+ require 'semmy'
18
+ Semmy::Tasks.install do |config|
19
+ config.github_repository = 'codevise/pageflow'
20
+ end
21
+
17
22
  require File.expand_path('spec/support/pageflow/rails_version', File.dirname(__FILE__))
18
23
  APP_RAKEFILE = File.expand_path("../spec/dummy/rails-#{Pageflow::RailsVersion.detect}/Rakefile", __FILE__)
19
24
 
@@ -24,8 +24,8 @@ module Pageflow
24
24
 
25
25
  controller do
26
26
  helper Pageflow::Admin::FeaturesHelper
27
+ helper Pageflow::Admin::WidgetsHelper
27
28
  helper ThemesHelper
28
- helper WidgetsHelper
29
29
 
30
30
  def new
31
31
  @account = Account.new
@@ -81,6 +81,7 @@ module Pageflow
81
81
  def permitted_theming_attributes
82
82
  [
83
83
  :cname,
84
+ :additional_cnames,
84
85
  :theme_name,
85
86
  :imprint_link_url,
86
87
  :imprint_link_label,
@@ -114,8 +114,15 @@ module Pageflow
114
114
  controller do
115
115
  helper FoldersHelper
116
116
  helper EntriesHelper
117
+ helper Pageflow::Admin::FeaturesHelper
117
118
  helper Pageflow::Admin::RevisionsHelper
118
119
 
120
+ def update
121
+ update! do |success, _|
122
+ success.html { redirect_to(admin_entry_path(resource, params.slice(:tab))) }
123
+ end
124
+ end
125
+
119
126
  def scoped_collection
120
127
  params.key?(:folder_id) ? super.where(:folder_id => params[:folder_id]) : super
121
128
  end
@@ -128,7 +135,13 @@ module Pageflow
128
135
  end
129
136
 
130
137
  def permitted_params
131
- params.permit(entry: permitted_attributes)
138
+ result = params.permit(entry: permitted_attributes)
139
+
140
+ if result[:entry]
141
+ permit_feature_states(result[:entry])
142
+ end
143
+
144
+ result
132
145
  end
133
146
 
134
147
  private
@@ -143,6 +156,13 @@ module Pageflow
143
156
  result << :folder_id if authorized?(:manage, Folder)
144
157
  result
145
158
  end
159
+
160
+ def permit_feature_states(attributes)
161
+ if authorized?(:read, Account)
162
+ feature_states = params[:entry][:feature_states].try(:permit!)
163
+ attributes.merge!(feature_states: feature_states || {})
164
+ end
165
+ end
146
166
  end
147
167
  end
148
168
  end
@@ -11,7 +11,7 @@ module Pageflow
11
11
  entry = revision.entry
12
12
  authorize!(:restore, entry)
13
13
 
14
- entry.edit_lock.aquire(current_user)
14
+ entry.edit_lock.acquire(current_user)
15
15
  revision.entry.restore(:revision => revision, :creator => current_user)
16
16
  entry.edit_lock.release(current_user)
17
17
 
@@ -0,0 +1,358 @@
1
+ Creative Commons Legal Code
2
+
3
+ Attribution-ShareAlike 3.0 Unported
4
+
5
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6
+ LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
7
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8
+ INFORMATION ON AN “AS-IS” BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9
+ REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
10
+ DAMAGES RESULTING FROM ITS USE.
11
+
12
+ License
13
+
14
+ THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE
15
+ COMMONS PUBLIC LICENSE (“CCPL” OR “LICENSE”). THE WORK IS PROTECTED BY
16
+ COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS
17
+ AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
18
+
19
+ BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE
20
+ TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY
21
+ BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS
22
+ CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND
23
+ CONDITIONS.
24
+
25
+ 1. Definitions
26
+
27
+ a. “Adaptation” means a work based upon the Work, or upon the Work and
28
+ other pre-existing works, such as a translation, adaptation,
29
+ derivative work, arrangement of music or other alterations of a
30
+ literary or artistic work, or phonogram or performance and includes
31
+ cinematographic adaptations or any other form in which the Work may be
32
+ recast, transformed, or adapted including in any form recognizably
33
+ derived from the original, except that a work that constitutes a
34
+ Collection will not be considered an Adaptation for the purpose of
35
+ this License. For the avoidance of doubt, where the Work is a musical
36
+ work, performance or phonogram, the synchronization of the Work in
37
+ timed-relation with a moving image (“synching”) will be considered an
38
+ Adaptation for the purpose of this License.
39
+ b. “Collection” means a collection of literary or artistic works, such as
40
+ encyclopedias and anthologies, or performances, phonograms or
41
+ broadcasts, or other works or subject matter other than works listed
42
+ in Section 1(f) below, which, by reason of the selection and
43
+ arrangement of their contents, constitute intellectual creations, in
44
+ which the Work is included in its entirety in unmodified form along
45
+ with one or more other contributions, each constituting separate and
46
+ independent works in themselves, which together are assembled into a
47
+ collective whole. A work that constitutes a Collection will not be
48
+ considered an Adaptation (as defined below) for the purposes of this
49
+ License.
50
+ c. “Creative Commons Compatible License” means a license that is listed
51
+ at https://creativecommons.org/compatiblelicenses that has been
52
+ approved by Creative Commons as being essentially equivalent to this
53
+ License, including, at a minimum, because that license: (i) contains
54
+ terms that have the same purpose, meaning and effect as the License
55
+ Elements of this License; and, (ii) explicitly permits the relicensing
56
+ of adaptations of works made available under that license under this
57
+ License or a Creative Commons jurisdiction license with the same
58
+ License Elements as this License.
59
+ d. “Distribute” means to make available to the public the original and
60
+ copies of the Work or Adaptation, as appropriate, through sale or
61
+ other transfer of ownership.
62
+ e. “License Elements” means the following high-level license attributes
63
+ as selected by Licensor and indicated in the title of this License:
64
+ Attribution, ShareAlike.
65
+ f. “Licensor” means the individual, individuals, entity or entities that
66
+ offer(s) the Work under the terms of this License.
67
+ g. “Original Author” means, in the case of a literary or artistic work,
68
+ the individual, individuals, entity or entities who created the Work
69
+ or if no individual or entity can be identified, the publisher; and in
70
+ addition (i) in the case of a performance the actors, singers,
71
+ musicians, dancers, and other persons who act, sing, deliver, declaim,
72
+ play in, interpret or otherwise perform literary or artistic works or
73
+ expressions of folklore; (ii) in the case of a phonogram the producer
74
+ being the person or legal entity who first fixes the sounds of a
75
+ performance or other sounds; and, (iii) in the case of broadcasts, the
76
+ organization that transmits the broadcast.
77
+ h. “Work” means the literary and/or artistic work offered under the terms
78
+ of this License including without limitation any production in the
79
+ literary, scientific and artistic domain, whatever may be the mode or
80
+ form of its expression including digital form, such as a book,
81
+ pamphlet and other writing; a lecture, address, sermon or other work
82
+ of the same nature; a dramatic or dramatico-musical work; a
83
+ choreographic work or entertainment in dumb show; a musical
84
+ composition with or without words; a cinematographic work to which are
85
+ assimilated works expressed by a process analogous to cinematography;
86
+ a work of drawing, painting, architecture, sculpture, engraving or
87
+ lithography; a photographic work to which are assimilated works
88
+ expressed by a process analogous to photography; a work of applied
89
+ art; an illustration, map, plan, sketch or three-dimensional work
90
+ relative to geography, topography, architecture or science; a
91
+ performance; a broadcast; a phonogram; a compilation of data to the
92
+ extent it is protected as a copyrightable work; or a work performed by
93
+ a variety or circus performer to the extent it is not otherwise
94
+ considered a literary or artistic work.
95
+ i. “You” means an individual or entity exercising rights under this
96
+ License who has not previously violated the terms of this License with
97
+ respect to the Work, or who has received express permission from the
98
+ Licensor to exercise rights under this License despite a previous
99
+ violation.
100
+ j. “Publicly Perform” means to perform public recitations of the Work and
101
+ to communicate to the public those public recitations, by any means or
102
+ process, including by wire or wireless means or public digital
103
+ performances; to make available to the public Works in such a way that
104
+ members of the public may access these Works from a place and at a
105
+ place individually chosen by them; to perform the Work to the public
106
+ by any means or process and the communication to the public of the
107
+ performances of the Work, including by public digital performance; to
108
+ broadcast and rebroadcast the Work by any means including signs,
109
+ sounds or images.
110
+ k. “Reproduce” means to make copies of the Work by any means including
111
+ without limitation by sound or visual recordings and the right of
112
+ fixation and reproducing fixations of the Work, including storage of a
113
+ protected performance or phonogram in digital form or other electronic
114
+ medium.
115
+
116
+ 2. Fair Dealing Rights. Nothing in this License is intended to reduce,
117
+ limit, or restrict any uses free from copyright or rights arising from
118
+ limitations or exceptions that are provided for in connection with the
119
+ copyright protection under copyright law or other applicable laws.
120
+
121
+ 3. License Grant. Subject to the terms and conditions of this License,
122
+ Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
123
+ perpetual (for the duration of the applicable copyright) license to
124
+ exercise the rights in the Work as stated below:
125
+
126
+ a. to Reproduce the Work, to incorporate the Work into one or more
127
+ Collections, and to Reproduce the Work as incorporated in the
128
+ Collections;
129
+ b. to create and Reproduce Adaptations provided that any such Adaptation,
130
+ including any translation in any medium, takes reasonable steps to
131
+ clearly label, demarcate or otherwise identify that changes were made
132
+ to the original Work. For example, a translation could be marked “The
133
+ original work was translated from English to Spanish,” or a
134
+ modification could indicate “The original work has been modified.”;
135
+ c. to Distribute and Publicly Perform the Work including as incorporated
136
+ in Collections; and,
137
+ d. to Distribute and Publicly Perform Adaptations.
138
+ e. For the avoidance of doubt:
139
+
140
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in
141
+ which the right to collect royalties through any statutory or
142
+ compulsory licensing scheme cannot be waived, the Licensor
143
+ reserves the exclusive right to collect such royalties for any
144
+ exercise by You of the rights granted under this License;
145
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in
146
+ which the right to collect royalties through any statutory or
147
+ compulsory licensing scheme can be waived, the Licensor waives the
148
+ exclusive right to collect such royalties for any exercise by You
149
+ of the rights granted under this License; and,
150
+ iii. Voluntary License Schemes. The Licensor waives the right to
151
+ collect royalties, whether individually or, in the event that the
152
+ Licensor is a member of a collecting society that administers
153
+ voluntary licensing schemes, via that society, from any exercise
154
+ by You of the rights granted under this License.
155
+
156
+ The above rights may be exercised in all media and formats whether now
157
+ known or hereafter devised. The above rights include the right to make
158
+ such modifications as are technically necessary to exercise the rights in
159
+ other media and formats. Subject to Section 8(f), all rights not expressly
160
+ granted by Licensor are hereby reserved.
161
+
162
+ 4. Restrictions. The license granted in Section 3 above is expressly made
163
+ subject to and limited by the following restrictions:
164
+
165
+ a. You may Distribute or Publicly Perform the Work only under the terms
166
+ of this License. You must include a copy of, or the Uniform Resource
167
+ Identifier (URI) for, this License with every copy of the Work You
168
+ Distribute or Publicly Perform. You may not offer or impose any terms
169
+ on the Work that restrict the terms of this License or the ability of
170
+ the recipient of the Work to exercise the rights granted to that
171
+ recipient under the terms of the License. You may not sublicense the
172
+ Work. You must keep intact all notices that refer to this License and
173
+ to the disclaimer of warranties with every copy of the Work You
174
+ Distribute or Publicly Perform. When You Distribute or Publicly
175
+ Perform the Work, You may not impose any effective technological
176
+ measures on the Work that restrict the ability of a recipient of the
177
+ Work from You to exercise the rights granted to that recipient under
178
+ the terms of the License. This Section 4(a) applies to the Work as
179
+ incorporated in a Collection, but this does not require the Collection
180
+ apart from the Work itself to be made subject to the terms of this
181
+ License. If You create a Collection, upon notice from any Licensor You
182
+ must, to the extent practicable, remove from the Collection any credit
183
+ as required by Section 4(c), as requested. If You create an
184
+ Adaptation, upon notice from any Licensor You must, to the extent
185
+ practicable, remove from the Adaptation any credit as required by
186
+ Section 4(c), as requested.
187
+ b. You may Distribute or Publicly Perform an Adaptation only under the
188
+ terms of: (i) this License; (ii) a later version of this License with
189
+ the same License Elements as this License; (iii) a Creative Commons
190
+ jurisdiction license (either this or a later license version) that
191
+ contains the same License Elements as this License (e.g.,
192
+ Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible
193
+ License. If you license the Adaptation under one of the licenses
194
+ mentioned in (iv), you must comply with the terms of that license. If
195
+ you license the Adaptation under the terms of any of the licenses
196
+ mentioned in (i), (ii) or (iii) (the “Applicable License”), you must
197
+ comply with the terms of the Applicable License generally and the
198
+ following provisions: (I) You must include a copy of, or the URI for,
199
+ the Applicable License with every copy of each Adaptation You
200
+ Distribute or Publicly Perform; (II) You may not offer or impose any
201
+ terms on the Adaptation that restrict the terms of the Applicable
202
+ License or the ability of the recipient of the Adaptation to exercise
203
+ the rights granted to that recipient under the terms of the Applicable
204
+ License; (III) You must keep intact all notices that refer to the
205
+ Applicable License and to the disclaimer of warranties with every copy
206
+ of the Work as included in the Adaptation You Distribute or Publicly
207
+ Perform; (IV) when You Distribute or Publicly Perform the Adaptation,
208
+ You may not impose any effective technological measures on the
209
+ Adaptation that restrict the ability of a recipient of the Adaptation
210
+ from You to exercise the rights granted to that recipient under the
211
+ terms of the Applicable License. This Section 4(b) applies to the
212
+ Adaptation as incorporated in a Collection, but this does not require
213
+ the Collection apart from the Adaptation itself to be made subject to
214
+ the terms of the Applicable License.
215
+ c. If You Distribute, or Publicly Perform the Work or any Adaptations or
216
+ Collections, You must, unless a request has been made pursuant to
217
+ Section 4(a), keep intact all copyright notices for the Work and
218
+ provide, reasonable to the medium or means You are utilizing: (i) the
219
+ name of the Original Author (or pseudonym, if applicable) if supplied,
220
+ and/or if the Original Author and/or Licensor designate another party
221
+ or parties (e.g., a sponsor institute, publishing entity, journal) for
222
+ attribution (“Attribution Parties”) in Licensor’s copyright notice,
223
+ terms of service or by other reasonable means, the name of such party
224
+ or parties; (ii) the title of the Work if supplied; (iii) to the
225
+ extent reasonably practicable, the URI, if any, that Licensor
226
+ specifies to be associated with the Work, unless such URI does not
227
+ refer to the copyright notice or licensing information for the Work;
228
+ and (iv) , consistent with Ssection 3(b), in the case of an
229
+ Adaptation, a credit identifying the use of the Work in the Adaptation
230
+ (e.g., “French translation of the Work by Original Author,” or
231
+ “Screenplay based on original Work by Original Author”). The credit
232
+ required by this Section 4(c) may be implemented in any reasonable
233
+ manner; provided, however, that in the case of a Adaptation or
234
+ Collection, at a minimum such credit will appear, if a credit for all
235
+ contributing authors of the Adaptation or Collection appears, then as
236
+ part of these credits and in a manner at least as prominent as the
237
+ credits for the other contributing authors. For the avoidance of
238
+ doubt, You may only use the credit required by this Section for the
239
+ purpose of attribution in the manner set out above and, by exercising
240
+ Your rights under this License, You may not implicitly or explicitly
241
+ assert or imply any connection with, sponsorship or endorsement by the
242
+ Original Author, Licensor and/or Attribution Parties, as appropriate,
243
+ of You or Your use of the Work, without the separate, express prior
244
+ written permission of the Original Author, Licensor and/or Attribution
245
+ Parties.
246
+ d. Except as otherwise agreed in writing by the Licensor or as may be
247
+ otherwise permitted by applicable law, if You Reproduce, Distribute or
248
+ Publicly Perform the Work either by itself or as part of any
249
+ Adaptations or Collections, You must not distort, mutilate, modify or
250
+ take other derogatory action in relation to the Work which would be
251
+ prejudicial to the Original Author’s honor or reputation. Licensor
252
+ agrees that in those jurisdictions (e.g. Japan), in which any exercise
253
+ of the right granted in Section 3(b) of this License (the right to
254
+ make Adaptations) would be deemed to be a distortion, mutilation,
255
+ modification or other derogatory action prejudicial to the Original
256
+ Author’s honor and reputation, the Licensor will waive or not assert,
257
+ as appropriate, this Section, to the fullest extent permitted by the
258
+ applicable national law, to enable You to reasonably exercise Your
259
+ right under Section 3(b) of this License (right to make Adaptations)
260
+ but not otherwise.
261
+
262
+ 5. Representations, Warranties and Disclaimer
263
+
264
+ UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR
265
+ OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY
266
+ KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
267
+ INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
268
+ FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
269
+ LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS,
270
+ WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
271
+ OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
272
+
273
+ 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE
274
+ LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR
275
+ ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES
276
+ ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS
277
+ BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
278
+
279
+ 7. Termination
280
+
281
+ a. This License and the rights granted hereunder will terminate
282
+ automatically upon any breach by You of the terms of this License.
283
+ Individuals or entities who have received Adaptations or Collections
284
+ from You under this License, however, will not have their licenses
285
+ terminated provided such individuals or entities remain in full
286
+ compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will
287
+ survive any termination of this License.
288
+ b. Subject to the above terms and conditions, the license granted here is
289
+ perpetual (for the duration of the applicable copyright in the Work).
290
+ Notwithstanding the above, Licensor reserves the right to release the
291
+ Work under different license terms or to stop distributing the Work at
292
+ any time; provided, however that any such election will not serve to
293
+ withdraw this License (or any other license that has been, or is
294
+ required to be, granted under the terms of this License), and this
295
+ License will continue in full force and effect unless terminated as
296
+ stated above.
297
+
298
+ 8. Miscellaneous
299
+
300
+ a. Each time You Distribute or Publicly Perform the Work or a Collection,
301
+ the Licensor offers to the recipient a license to the Work on the same
302
+ terms and conditions as the license granted to You under this License.
303
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor
304
+ offers to the recipient a license to the original Work on the same
305
+ terms and conditions as the license granted to You under this License.
306
+ c. If any provision of this License is invalid or unenforceable under
307
+ applicable law, it shall not affect the validity or enforceability of
308
+ the remainder of the terms of this License, and without further action
309
+ by the parties to this agreement, such provision shall be reformed to
310
+ the minimum extent necessary to make such provision valid and
311
+ enforceable.
312
+ d. No term or provision of this License shall be deemed waived and no
313
+ breach consented to unless such waiver or consent shall be in writing
314
+ and signed by the party to be charged with such waiver or consent.
315
+ e. This License constitutes the entire agreement between the parties with
316
+ respect to the Work licensed here. There are no understandings,
317
+ agreements or representations with respect to the Work not specified
318
+ here. Licensor shall not be bound by any additional provisions that
319
+ may appear in any communication from You. This License may not be
320
+ modified without the mutual written agreement of the Licensor and You.
321
+ f. The rights granted under, and the subject matter referenced, in this
322
+ License were drafted utilizing the terminology of the Berne Convention
323
+ for the Protection of Literary and Artistic Works (as amended on
324
+ September 28, 1979), the Rome Convention of 1961, the WIPO Copyright
325
+ Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996
326
+ and the Universal Copyright Convention (as revised on July 24, 1971).
327
+ These rights and subject matter take effect in the relevant
328
+ jurisdiction in which the License terms are sought to be enforced
329
+ according to the corresponding provisions of the implementation of
330
+ those treaty provisions in the applicable national law. If the
331
+ standard suite of rights granted under applicable copyright law
332
+ includes additional rights not granted under this License, such
333
+ additional rights are deemed to be included in the License; this
334
+ License is not intended to restrict the license of any rights under
335
+ applicable law.
336
+
337
+ Creative Commons Notice
338
+
339
+ Creative Commons is not a party to this License, and makes no warranty
340
+ whatsoever in connection with the Work. Creative Commons will not be
341
+ liable to You or any party on any legal theory for any damages
342
+ whatsoever, including without limitation any general, special,
343
+ incidental or consequential damages arising in connection to this
344
+ license. Notwithstanding the foregoing two (2) sentences, if Creative
345
+ Commons has expressly identified itself as the Licensor hereunder, it
346
+ shall have all rights and obligations of Licensor.
347
+
348
+ Except for the limited purpose of indicating to the public that the
349
+ Work is licensed under the CCPL, Creative Commons does not authorize
350
+ the use by either party of the trademark “Creative Commons” or any
351
+ related trademark or logo of Creative Commons without the prior
352
+ written consent of Creative Commons. Any permitted use will be in
353
+ compliance with Creative Commons’ then-current trademark usage
354
+ guidelines, as may be published on its website or otherwise made
355
+ available upon request from time to time. For the avoidance of doubt,
356
+ this trademark restriction does not form part of the License.
357
+
358
+ Creative Commons may be contacted at https://creativecommons.org/.