So as I've searched through drupal.stackexchange I see this question hasn't been fully answered, I guess it will be asked again and again until good solution is found I will try to summarize the problem and present found solutions.
Imagine a site which uses panels and views. The site has several areas, and each of them has its layout, its blocks and design differences. Every area can be represented by number of nodes and number of views.
So nodes are displayed by panels - they are wonderful to work with, you just create variant and specify the selection rules. All selected nodes have one variant, they share the same layout and have same blocks. Perfect! Pure pleasure to deal with!
What about views as a part of this structure? Since views are also part of the area, I want them ideally to appear in the same variant as the above node, but I can't. The out of the box way that is coming from design of the views and panels modules is like this: create view content pane, then create new panel with its own URL, then select it's layout, add the created view content pane, and then add and configure the same blocks, all just like in the previous paragraph.
Since there are a number of views in the same site area, this has to be done over and over again. And of course, support: in the case some block needs to be changed, then it has to be changed in all of the panels that present this site area. That's a lot of clicking overhead, prone to errors and.. just doesn't feel right!
There are four solutions that I found in the internet, but all of them are lacking the beauty and cleanliness.
- panels everywhere site template that would provide the required layout and blocks. Result: two variants to support (one in node panel, one in site template panel) and some CSS work since the blocks would be in different html hierarchy.
- panels multiple url module (dont remember the name) that would allow multiple urls to be routed through the same panel. Every view will require adding it's page url into the panel and then adding it to variant. Result: two variants to support, CSS: ok.
- special panel for all views. url of this panel would look like /view/%view_name/%argument1/%argument2/... After such panel is created, you will need an URL alias to be created too. Result: two variants to support, CSS: ok
- nodes acting as selectors for panels and views. every such "special" node is considered to be a view content and panels variant would remove the node itself and display a view content block instead. This could be the most beautiful way, but since it is a system panel, it lacks arguments that can be passed to view from url. So, no go. Result: one variant to support!! CSS: perfect! Minus: no support for arguments, so views with arguments would have to use another approach. Not perfect again.
Can anyone who has experience with panels/panels_everywhere in combination with multiple views on their sites shed some light on this? Which of these approaches do you prefer? Are you using any other, more flexible, way to do that (maybe context module or any other, that I haven't started digging yet)?
Update: a simple example. There is a part of site named "corpo pages", which includes several types of content (news, press_releases, available_jobs, Q&A and couple of other), and a number of views, listing all this content in different ways. All of them should have same layout and same blocks in the sidebar and below the content. So, viewing content nodes is covered by panels.
Then the issues start when trying to add 5 views. Creating new views with content panes is followed by creating new panels with duplicated everything inside. Which is sort of no problem because it all can be cloned, the hard time starts with support, when the user wants to remove or add a new block, he will have to carefully go through all panels repeating the same action over and over again. I can already see his pain because something will be definitely forgotten.
Mini panels does pretty good job here, reducing such support effort and minimizing the human factor. But it comes with a price of in-place editor not working and overall user experience.