{"action":"opened","issue":{"url":"https://api.github.com/repos/plone/plone.app.mosaic/issues/125","labels_url":"https://api.github.com/repos/plone/plone.app.mosaic/issues/125/labels{/name}","comments_url":"https://api.github.com/repos/plone/plone.app.mosaic/issues/125/comments","events_url":"https://api.github.com/repos/plone/plone.app.mosaic/issues/125/events","html_url":"https://github.com/plone/plone.app.mosaic/issues/125","id":101150535,"number":125,"title":"Mosaic terminology","user":{"login":"datakurre","id":160447,"avatar_url":"https://avatars.githubusercontent.com/u/160447?v=3","gravatar_id":"","url":"https://api.github.com/users/datakurre","html_url":"https://github.com/datakurre","followers_url":"https://api.github.com/users/datakurre/followers","following_url":"https://api.github.com/users/datakurre/following{/other_user}","gists_url":"https://api.github.com/users/datakurre/gists{/gist_id}","starred_url":"https://api.github.com/users/datakurre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/datakurre/subscriptions","organizations_url":"https://api.github.com/users/datakurre/orgs","repos_url":"https://api.github.com/users/datakurre/repos","events_url":"https://api.github.com/users/datakurre/events{/privacy}","received_events_url":"https://api.github.com/users/datakurre/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-08-15T07:49:56Z","updated_at":"2015-08-15T07:49:56Z","closed_at":null,"body":"@agitator @pbauer Since you are probably presenting Mosaic at the Conference...\r\n\r\nAre we all clear on Mosaic terminology and is there anything we should fix in it?\r\n\r\n* site layout (default site layout, section site layout, page site layout)\r\n* panel\r\n* content layout (aka page layout)\r\n* tile (text tiles, field tiles, app tiles)\r\n\r\nSite layout replaces main template. It was supposed to be so simple that a site section even a single page could have its own site layout (section site layout or page site layout), if required (and that does not result similar chaos to customizing main_template, because site layouts are centrally managed in plone.resource directories). Yet, because users still expect Plone to look Plone, the default site layouts look pretty messy, and we are mostly relying on bbb magic, which creates default site layout from main_template.\r\n\r\nPanel is a named customizable area in site layout, not completely different from metal:slot. Site layout can define any amount of panels. Main template generated site layout has only one panel, named \"content\". To make things easier, we assume \"content\" panel to always exist and there's even some magic code to map \"content\" panel into \"#content\" element when it does not exist.\r\n\r\nContent layout replaces browser view templates. It contains reference for required site layout and content instance specific layout in one more named panel elements. (In the original Deco vision there was to be only one content type called \"Page\" and therefore \"content layout\" is still referred as \"page layout\" in some places; more generic \"content layout\" term was invented in Barcelona Mosaic Sprint.) When content layout is rendred, site layout is fetched and matching content layout's panels are merged into similarly named panels in site layout. All layout outside panels in content layout is dropped.\r\n\r\nTile is a special browser view template referred in layouts and rendered and merged into them after panels are merged. Some systems call tiles \"blocks\", but that might be confusing in Plone, because the layout engine merging layouts and tiles is called \"blocks\".\r\n\r\nContent in content layout panels is usually contained in tiles to make them editable in Mosaic layout editor. The editor has very verbose grid syntax. Text tiles are not \"plone.tiles\", but just HTML within the layout HTML. Field tiles are all \"plone.app.standardtiles.field\" tiles with different configuration. All the rest \"plone.tiles\" tiles are called application tiles.\r\n\r\nYet, because we seem to be hesitating to move to use site layouts (because main_template based bbb layer works too well), we are introducing a one more layer into Mosaic: editors can define such \"content type view\" layouts outside content instances that they are merged into site layout before  the content instance layout is merged. And content instance layout is merged only after that. In practice, this would allow such named views in \"Display menu\", that changing view would alter how content instance specific layouts is rendered, e.g. changing from 1 panel layout to 2 panal layout or multi row layout or anything while preserving editor made panel layouts.\r\n\r\nIs this all ok? Any ideas to make these more clear. How to explaine the latest one better?\r\n\r\n\r\n"}}