Proper multi theme by issue and locale handling (CS-5844)
m038 opened this issue · 8 comments
Problem
Within a publication in Newscoop it's possible to add multiple issues with each their own theme. These issues can be translated and those translations also can have different themes assigned to them. See the scheme below for a more visual explanation. The problem however resides on the homepage, it uses the theme of the latest added issue (not taking into account the workflow status and locale).
Publication
- Issue 1
- Issue 1 in English published with theme GlobalNews
- Issue 1 in German published with theme Quetzal
- Issue 2
- Issue 2 in English not published with theme Rockstar
- Issue 2 in German not published with theme Broadcaster (This is the last added issue, this will be used for frontpage)
My suggestion
My solution contains 2 parts, the first is a direct link between a theme and a publication, the second is a proper implementation of using the theme from the latest issue (taking the properties into account).
Theme for publication
On the publication edit page there will be a new dropdown. It contains a list of themes, linked to the publication in the theme manager, but by default the value is set to Use theme from issue. So it will use the second part of the solution which is also closest in functionality to the current Newscoop implementation. The point of giving the user a override method is to simply theme handling for end users, but it would also allow to easily use a temporary theme for you publication, in case of breaking news or something like that.
Proper latest issue
The current implementation is incomplete, because it doesn't take workflow status and locale into account. My suggestion is to create a proper method getPublishedIssueByPublicationAndLocale. So on the default homepage the default language for the publication will be used and the published issue for that language with the highest number will provide a theme. Using highest number, instead of publication date, will allow users to create a theme base issue, Newscoop will then keep using that theme, no matter which themes are assigned to later published issues. In this scenario also language homepages (example.com/cz or example.com/de) will work with the proper theme.
The only technical problem here is that in our Locale listener we process the issue before taking the language from the url, this needs to be solved
I don't like this hack:
This will also allow users to create a theme base issue with a very high Number, Newscoop will then keep using that theme, no matter which themes are assigned to later published issues.
Default theme for publication will not handle that case?
You are right, default theme for publication can handle this case. But then we might need to come up with a solution for different languages, because translated issues could be based on different themes.
My proposal would be to list all languages used by publication issues in section "Frontpage themes" and allow for user choose wanted theme for that language in this publication with default option - Use theme from issue
yeah I agree with the solution proposed by @ahilles107 . It's much clearer for the user to manage frontpage themes than using "some magic" or to figure it out how to make it happen.
We shouldn't also forget about implementing some check (that the theme is assigned to the publication frontpage) when removing theme from Theme management.
Yeah, it's probably a bit more work then we estimate to build in all the checks. Good catch.
So we will have a list of all (issue translated) languages in the publication edit screen and per language you can select a theme. Sounds good to me as well.
So we, @ahilles107 and @takeit , agree on Pawełs solution and that's it, or should we plannen a brainstorm session/meeting?
Try to implement it and we will discuss more in PR.
Hey Mischa,
I would like to introduce Darko in this discussion, since I think this
might need an easy to understand interface. Maybe we can meet on this end
of the week, to introduce the idea and its UI challenges to Darko? What do
you think?
All the best Gideon
On Mon, Jun 29, 2015 at 9:41 AM, Mischa Gorinskat notifications@github.com
wrote:
So we, @ahilles107 https://github.com/ahilles107 and @takeit
https://github.com/takeit , agree on Pawełs solution and that's it, or
should we plannen a brainstorm session/meeting?—
Reply to this email directly or view it on GitHub
#1211 (comment)
.
Gideon Lehmann
Head of Client Projects, Sourcefabric
gideon.lehmann@sourcefabric.org
www.sourcefabric.org
Prinzessinnenstrasse 20, 10969 Berlin, Germany
+49 (0) 30 616 29 281
+49 (0) 177 3121010
skype: gideon.lehmann