Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Themes as features #765

Merged
merged 11 commits into from
Jun 1, 2017
Merged

Themes as features #765

merged 11 commits into from
Jun 1, 2017

Conversation

aviav
Copy link
Contributor

@aviav aviav commented May 19, 2017

Integrate themes with feature flags

config.themes.register(:named_theme)
end

theming = build(:theming, :theme_name => 'named_theme')

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use the new Ruby 1.9 hash syntax.

@@ -44,6 +44,10 @@ class Revision < ActiveRecord::Base
validate :published_until_unchanged, :if => :published_until_was_in_past?
validate :published_until_blank, :if => :published_at_blank?

validates_inclusion_of(:theme_name, in: lambda do |revision|
Pageflow.config_for(revision.entry.account).themes.names
end)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

end at 49, 27 is not aligned with lambda do |revision| at 47, 44 or validates_inclusion_of(:theme_name, in: lambda do |revision| at 47, 4.

include RenderJsonHelper

def themes_options_json_seed(config = Pageflow.config)
config.themes.each_with_object({}) do |theme, options|

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefer {...} over do...end for multi-line chained blocks.

Copy link
Member

@tf tf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like the migration is missing.

@aviav aviav assigned tf May 22, 2017
@coveralls
Copy link

Coverage Status

Coverage increased (+0.02%) to 99.053% when pulling 6b317c6 on aviav:themes-as-features into 81a3276 on codevise:master.

Copy link
Member

@tf tf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tf tf removed their assignment May 24, 2017
- also move setting home_button_enabled to theming
- rename copy_default_meta_tags to reflect this change and make it
  private
- test the public API method instead of the now private helper
@aviav
Copy link
Contributor Author

aviav commented May 28, 2017

Is it the reasoning for including the commit that we create entries from the admin?

@aviav aviav assigned tf May 28, 2017
@coveralls
Copy link

coveralls commented May 28, 2017

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 0191ddb on aviav:themes-as-features into 81a3276 on codevise:master.

@@ -5,15 +5,17 @@ module Pageflow
describe '#url' do
it 'returns home_url of revision' do
revision = Revision.new(home_url: 'http://example.com')
theming = Theming.new
theming = Theming.new(account: create(:account))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using the :theming factory would be easier since it would automatically create the account.

@@ -44,6 +44,11 @@ class Revision < ActiveRecord::Base
validate :published_until_unchanged, :if => :published_until_was_in_past?
validate :published_until_blank, :if => :published_at_blank?

validates_inclusion_of(:theme_name,
in: lambda do |revision|
Pageflow.config_for(revision.entry.account).themes.names
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't we mean to allow entry level theme feature flags?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I had that in some other branch. Yes, that is what we want here

@tf
Copy link
Member

tf commented May 29, 2017

The PR includes a migration that copies the theme names to the revisions. Without the mentioned commit there is no way to create new entries with theme names in their revision, though.

I hadn't noticed it before, but I think it would even make sense to include the changes to entry_theme_stylesheet_link_tag ([1], [2]) since the PR already goes have the way of moving theme_name to Revision. With these changes the moved data would also be used.

The other PR would then mainly be "allow switching themes inside the editor".

@tf
Copy link
Member

tf commented May 29, 2017

Alternatively, this validation should not have been part of the PR in the first place. Then the migration would not have been required and the PR would really just have been "Themes as (account) features".

@aviav aviav changed the title Themes as features [WIP] Themes as features May 29, 2017
@coveralls
Copy link

coveralls commented May 29, 2017

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling ed9779d on aviav:themes-as-features into 81a3276 on codevise:master.

@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 9829d74 on aviav:themes-as-features into b452c34 on codevise:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 9829d74 on aviav:themes-as-features into b452c34 on codevise:master.

@coveralls
Copy link

coveralls commented May 30, 2017

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 49c183c on aviav:themes-as-features into b452c34 on codevise:master.

@tf tf modified the milestone: v12.1 May 30, 2017
@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 4f57385 on aviav:themes-as-features into b452c34 on codevise:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 4f57385 on aviav:themes-as-features into b452c34 on codevise:master.

@aviav aviav assigned tf May 30, 2017
@aviav aviav changed the title [WIP] Themes as features Themes as features May 30, 2017
@aviav aviav unassigned tf May 30, 2017
@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 9aef442 on aviav:themes-as-features into a1cba5a on codevise:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 9aef442 on aviav:themes-as-features into a1cba5a on codevise:master.

@aviav aviav assigned tf and unassigned tf May 30, 2017
Copy link
Member

@tf tf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why have those preview image changes now been included in the PR? Isn't that more related to "switching themes in editor"? On the other hand the stylesheet helper changes mentioned in the previous comment are still not part of the commits.

If it helps move things forward, I'd be open to merging this PR. Regarding the preview images though, I'm wondering if they really need to be that large (especially the preview thumbnail). As noted in the internal ticket system, preview images take quite long to load inside the editor.

@tf tf assigned aviav and unassigned tf May 30, 2017
@coveralls
Copy link

coveralls commented May 31, 2017

Coverage Status

Coverage decreased (-0.7%) to 98.382% when pulling 1d77154 on aviav:themes-as-features into 4f2a9d9 on codevise:master.

@tf
Copy link
Member

tf commented Jun 1, 2017

Specs are failing

@@ -60,33 +94,52 @@ module Pageflow
end
end

describe '#copy_default_meta_tags' do
describe '#copy_defaults_to' do

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Block has too many lines. [29/25]

@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 48cf002 on aviav:themes-as-features into 4f2a9d9 on codevise:master.

1 similar comment
@coveralls
Copy link

Coverage Status

Coverage increased (+0.03%) to 99.058% when pulling 48cf002 on aviav:themes-as-features into 4f2a9d9 on codevise:master.

@aviav aviav assigned tf and unassigned aviav Jun 1, 2017
@tf tf merged commit da119ad into codevise:master Jun 1, 2017
tilsammans added a commit to scrollytelling/app that referenced this pull request Nov 12, 2017
2017-11-07

[Compare changes](codevise/pageflow@12-0-stable...v12.1.0)

- Include HLS in output presences of legacy files
  ([#872](codevise/pageflow#872),
   [#867](codevise/pageflow#867))

  The database migration for Pageflow 12.0 which updates output
  presences of existing video files is missing the HLS variant. This
  causes HLS urls of existing video files to be rendered as
  `undefined`.

  To apply the fix, install migrations and migrate your database. This
  fix has previously been released as part of version 12.0.2.

- Add Resque::Server to the generated routes
  ([#871](codevise/pageflow#871))

  Mounting the Resque web server makes it easier to inspect background
  workers and restart jobs that have failed. See the issue description
  of [#856](codevise/pageflow#856) on how to
  add this to existing apps.

- The theme configured on account level now only acts as a default for
  new entries. After enabling the `selectable_themes` feature, a theme
  selection dialog is available inside the editor from the "Title and
  Options > Appearance" tab. The dialog allows configuring the theme
  on a per revision basis.
  ([#781](codevise/pageflow#781),
   [#897](codevise/pageflow#897))

- Use page from url hash es landing page
  ([#832](codevise/pageflow#832))
- Do not record history when changing pages via scrolling
  ([#831](codevise/pageflow#831))
- Improve text tracks and info box display logic
  ([#826](codevise/pageflow#826))
- Bug fix: Fix order of public i18n fallback
  ([#883](codevise/pageflow#883))
- Bug fix: Prevent display of NaN duration in video controls
  ([#878](codevise/pageflow#878))
- Bug fix: Prevent 404 when share image has been deleted
  ([#816](codevise/pageflow#816))

- Use searchable select boxes in admin forms
  ([#888](codevise/pageflow#888))
- Remove sensitive data from active admin downloads
  ([#899](codevise/pageflow#899))
- Add config option to prevent multi account users
  ([#848](codevise/pageflow#848),
   [#868](codevise/pageflow#868))
- Add config options to restrict account manager permissions
  ([#849](codevise/pageflow#849))
- Fix N+1 query in account admin users tab
  ([#877](codevise/pageflow#877))
- Bug fix: Hide restore link and snapshot button for entry previewers
  ([#853](codevise/pageflow#853))
- Bug fix: Use copy of current_user in profile form
  ([#850](codevise/pageflow#850))
- Bug fix: Ensure new entry button is hidden for editors
  ([#847](codevise/pageflow#847))
- Bug fix: Show folder edit button only for publishers and above
  ([#838](codevise/pageflow#838))
- Bug fix: Allow :create entry only for publishers on accounts, not on entries
  ([#836](codevise/pageflow#836))

- Widget configuration
  ([#694](codevise/pageflow#694),
   [#809](codevise/pageflow#809))
- Bug fix: Ensure page order in editor preview stays up to date
  ([#898](codevise/pageflow#898))
- Bug fix: Switch off file meta data edit links when uploading
  ([#857](codevise/pageflow#857))
- Bug fix: Improve polling for HostedFile state
  ([#822](codevise/pageflow#822))
- Bug fix: Handle undefined page title.
  ([#763](codevise/pageflow#763))

- Use relative urls inside dash and hls playlists
  ([#842](codevise/pageflow#842))
- Use web audio api for volume fading if available
  ([#800](codevise/pageflow#800),
   [#863](codevise/pageflow#863))

- Add panorama_mask image file style
  ([#830](codevise/pageflow#830))
- Bug fix: Make url template generation more robust
  ([#876](codevise/pageflow#876))

- Themes can now be guarded by feature flags
  ([#765](codevise/pageflow#765))
- Extend EncodingConfirmation by public account attribute
  ([#817](codevise/pageflow#817))
- Extend query interface
  ([#815](codevise/pageflow#815))
- Accept options for accounts admin menu via config
  ([#811](codevise/pageflow#811))
- Add placeholder options to textareainputview
  ([#807](codevise/pageflow#807))
- Call hook on entry publication
  ([#806](codevise/pageflow#806))
- Add rake task and resque job to delete old auto snapshots
  ([#861](codevise/pageflow#861),
   [#882](codevise/pageflow#882))
- Generate a secure password in the seeds
  ([#775](codevise/pageflow#775))

- Allow specifying opacity of image variant logo
  ([#799](codevise/pageflow#799))
- Allow setting size of custom loading spinner background
  ([#798](codevise/pageflow#798))
- Add theme option to right align logo in desktop layout
  ([#797](codevise/pageflow#797))
- Add theme option to hide scroll indicator
  ([#790](codevise/pageflow#790))
- Make content text max width configurable
  ([#780](codevise/pageflow#780),
   [#804](codevise/pageflow#804))

- Import nginx-upload-module guide from wiki
  ([#814](codevise/pageflow#814),
   [#821](codevise/pageflow#821))
- Add documentation for versioning policy
  ([#866](codevise/pageflow#866))
- Fix small typos
  ([#787](codevise/pageflow#787))

- Precompile assets in Travis run
  ([#873](codevise/pageflow#873))
- Test workflow improvements
  ([#803](codevise/pageflow#803))
- Generate admins with account membership in specs
  ([#840](codevise/pageflow#840))
- Use rails 4.2.9 in tests
  ([#837](codevise/pageflow#837))
- Clean up memberships admin code
  ([#835](codevise/pageflow#835))
- Basic tests for UsersTab add user button
  ([#805](codevise/pageflow#805))
- Use codevise/teaspoon for logging backtraces on console
  ([#786](codevise/pageflow#786))
- Split vendored code from our own
  ([#885](codevise/pageflow#885))
- Introduce ApplicationRecord
  ([#889](codevise/pageflow#889))
- Move configuration into a concern
  ([#794](codevise/pageflow#794))
- Read the attribute instead of super
  ([#810](codevise/pageflow#810))
- Destroy widgets when parent subject is destroyed
  ([#834](codevise/pageflow#834))
- Fix dummy app generation on Travis for Rubygems 2.7
  ([#893](codevise/pageflow#893))
- Update contents of gemspec
  ([#891](codevise/pageflow#891))
- Bug fix: Work around breaking change in resque_mailer 2.4.3
  ([#894](codevise/pageflow#894))

See
[12-0-stable](https://github.com/codevise/pageflow/blob/12-0-stable/CHANGELOG.md)
branch for previous changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants