tag:blogger.com,1999:blog-9112704294318731944.comments2009-02-17T08:05:01.789-08:00Philipp Bracher (Magnolia)Philipp Bärfusshttp://www.blogger.com/profile/15402313894436505808noreply@blogger.comBlogger10125tag:blogger.com,1999:blog-9112704294318731944.post-67179442513653107772009-02-17T08:05:00.000-08:002009-02-17T08:05:00.000-08:00The credits in that perspective goes mainly to Tim...The credits in that perspective goes mainly to Timo Wirth and his great team at Aperto. They developed the prototype on which we based our STK.<BR/><BR/>So I would like to thank them on this occasion.Philipp Bärfusshttps://www.blogger.com/profile/15402313894436505808noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-27595016204974519452009-02-17T07:37:00.000-08:002009-02-17T07:37:00.000-08:00This is some great work on the STK, Philipp. (I th...This is some great work on the STK, Philipp. (I thought the idea of a layout that varies according to screen width especially clever.) I'm giving some thought as to how we might be able to take advantage of this in future revisions to the University's sites.Seanhttps://www.blogger.com/profile/03617077014830436783noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-243259312884788352009-02-17T00:36:00.000-08:002009-02-17T00:36:00.000-08:00Hi WolfI will try to answer your questions step by...Hi Wolf<BR/><BR/>I will try to answer your questions step by step in my blog. Once you have created successfully your custom form I would appreciate if you could add a cookbook page to the wiki [1] (nothing sophisticated, a bullet list is enough).<BR/><BR/>[1] http://wiki.magnolia-cms.com/display/DEV/Standard+Templating+KitPhilipp Bärfusshttps://www.blogger.com/profile/15402313894436505808noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-68685019638560741222009-02-12T09:13:00.000-08:002009-02-12T09:13:00.000-08:00Here we go:I'll provide my questions within a smal...Here we go:<BR/><BR/>I'll provide my questions within a small report of my journey to the centre of magnolia's world. This may give you a chance to better understand and correct all my misunderstandings. <BR/><BR/>After having clicked on two pages of the demo project seeing the STK at work (being supersonic here) I want to create a new custom template for my module: A subscribe form for a newsletter. It should fit into the STK and produce STK-like HTML (reusing themes for STK). <BR/><BR/>Since a documentation is leaking starting with the new magnolia4.0 STK is far from being supersonic. I'm moving more like a shell, digging my way through the ground of source code, filtering out small pieces of information.<BR/><BR/>First of all I really like the new way of defining a page structure. Not on the jsp template any more but in the template definition space in the module configuration part. Admin central becomes kind of simple schema editor for structured content. Go on this way.<BR/><BR/>To create a new template I just copied a stk template to the template folder of my module. I choosed 'stkForm' and copied it to myModule/templates/newsletter. <BR/><BR/>Now I had a look on the template config options. Many! And here I hit the ground with supersonic speed. To understand what I'm doing with these parameters (node data) I need some background information about the ideas behind your templating architecture. What I found an guessed: <BR/>- category: ?? sounds interesting. Is it linked do page structure, navigation, site structure? What can we do with this?<BR/>- subCategory: interesting again. How to use it?<BR/>- class: Obviously a model class for a STK page providing access to page components (areas) like navigation, breadcrumb, header, mainArea, extrasArea, footer... and other config parameters like category, subcategory. Why do you hard code part of the page structure here? Developing extensions seems to be a time consuming issue relaying on a new, undocumented and probably instable api (please tell me that I'm wrong :-)). Which classes does the stk provide and what are they used for? Basically I see classes for all the supported page areas (see below).<BR/>- dialog: OK, the well known dialog that specifies which (editable!) properties we have for this page. Seeing this I learned that there are configurable and editable properties. Looking into this dialog I see that we can use references to other dialogs. Is this a nice new feature in version 4.0?<BR/>- i18nBasename: I'll provide the base name of my module localization resource bundle. <BR/>- modelClass: ops - another class. Why do we have 2? Many methods look quiet similar. What is the difference to the other class? What options do we have here and what are the implications?<BR/>- templatePath: the webapp path to the template file. If we store the template within magnolia, what should we provide here?<BR/>- title: clear<BR/>- type: the template type - but in which context? What types do we have? If there are others than 'stk' how to use them?<BR/>- visible: toggles the visibility but in which context? In template select box in website repository?<BR/>- any other config options? <BR/>- breadcrumb: toggle on/off the rendering of a breadcrumb navigation, right?<BR/><BR/>Looking into the page structure I learned that templates can be structured into areas like header, mainArea, footer... . Basically such an area seems to be just a sub contentNode of the page/template node with some configuration settings and optional sub contents. And it is backed by a model class. Thus we cannot easily declare new areas, right?<BR/><BR/>What kind of areas are supported? <BR/>What config parameters do we have and what options/values do they accept?<BR/>What are the ideas/concepts behind the areas and all the config parameters? <BR/>What are the default values? <BR/><BR/>I think, it would be a good idea for a demo project to provide ALL allowed parameters for all nodes with a (default) value. This is verbose but can help saving days of reverse engineering.<BR/><BR/>What I see is, that there are probably different kinds of parameters. Their intention I guess as follows: <BR/>- 'general' config parameters<BR/>-- class: Some kind of content model class? <BR/>-- template: OK, the template to be used for rendering some kind of frame for the sub contents<BR/>-- extreTemplate: ?? a simple alternative (template only) if no class, sub contents and template is given; A configuration option for 'static' (not edited - automatically generated) content like HTML header, navigation... ??<BR/>-- more?<BR/>- template parameters: controls the rendering<BR/>-- editable: ? a flag denoting if the value should be changeable by the authors ?<BR/>-- showSectionHeader: controls rendering of section header?<BR/>-- floating.columns: ?<BR/>-- floating.enbled: ?<BR/>-- opener.enabled: ?<BR/>-- more?<BR/><BR/>Finally we can declare the paragraphs that may be added into a page area. As far as I understood this depends on the model class given for the page area. Using info.magnolia.module.templatingkit.templates.SectionMainArea for example allows to declare a choice of paragraphs within stkSektion/mainArea/paragraphs. Using info.magnolia.module.templatingkit.templates.SingletonParagraphMainArea just allows adding one paragraph. <BR/><BR/>What are the configuration options of the various area classes?<BR/>Can we add paragraphs directly to the page, outside an area?<BR/>What about some more advanced schema editing options like <BR/>- declaring a sequence of paragraphs?<BR/>- declaring a sequence of choices?<BR/>- declaring the cardinality of a paragraph (or a choice group) e.g. making a paragraph mandatory or restrict the number of teasers on a page to stop amok running authors?<BR/><BR/>Since the configuration options depend on the backing model class of the area (page, paragraph?), why not automatically generate all allowed sub nodes with their default values?<BR/><BR/>OK, this is RC3 of version 1.0 and what we already have is a great step forward. It makes me dreaming of more to come...<BR/><BR/>Opening eyes again and looking on my new custom template, this is what I have: <BR/>- a copy of the stkForm page<BR/>- adapted i18nBaseName <BR/>- changed title (using a localisation key)<BR/>- changed singeltonParagraph in main area: using a simple stkTextImage<BR/><BR/>This works fine without understanding much of what I have done. But the main task - adding a form paragraph with a custom form action - is still open. <BR/><BR/>Best regards<BR/>Wolfwolfhttps://www.blogger.com/profile/01346905177334521450noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-85764342816720575662009-02-10T03:53:00.000-08:002009-02-10T03:53:00.000-08:00Stupid beginner question: what is a theme, which a...Stupid beginner question: what is a theme, which aspects can you change with a theme?Philippehttps://www.blogger.com/profile/00183492434713662454noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-69808821826953110532008-05-16T00:18:00.000-07:002008-05-16T00:18:00.000-07:00Hi Oli,Good point. The spring and JSF integration ...Hi Oli,<BR/><BR/>Good point. The spring and JSF integration moved a bit in the background. The main reason has been that we haven't been needing any changes in magnolia itself to achieve that.<BR/><BR/>This two modules are more a kind of a demo (currently still in the EE svn). But thanks for the hint. I might write about it soonish.<BR/><BR/>Since 3.5 the main obstacles have been removed. It is more a matter of demonstrating that fact.Philipp Bärfusshttps://www.blogger.com/profile/15402313894436505808noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-88579665616988363792008-05-15T13:51:00.000-07:002008-05-15T13:51:00.000-07:00Hi Philipp, thanks for opening up this info. You'v...Hi Philipp, thanks for opening up this info. You've talked about a lot of the 3.6 features but not about "show nice integration of JSF and Spring (Webflow or MVC)". Can you elaborate on this a little bit?Anonymoushttps://www.blogger.com/profile/03551581637738378877noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-61348446002746028722008-05-15T02:33:00.000-07:002008-05-15T02:33:00.000-07:00Hi SeanMagnolia 3.6 still sticks to a page level c...Hi Sean<BR/><BR/>Magnolia 3.6 still sticks to a page level caching. But you can plug in your own strategies (caching, flushing) to achieve a path based caching (based on page properties for example).<BR/><BR/>Note that ehcache can be configured and one of the options is content expiration.<BR/><BR/>If needed your templates can use the ehcache directly (to cache paragraphs).<BR/><BR/>To see what we plan I motivate you to visit this two pages:<BR/><BR/>http://wiki.magnolia.info/display/DEV/Concept+Caching<BR/><BR/>http://wiki.magnolia.info/display/DEV/2008/05/14/Startup+tasks%2C+voters+and+ironyPhilipp Bärfusshttps://www.blogger.com/profile/15402313894436505808noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-8050472086564215772008-05-14T14:31:00.000-07:002008-05-14T14:31:00.000-07:00Out of curiosity, will there be a way to specify c...Out of curiosity, will there be a way to specify certain paragraph types an uncacheable? (Or required their content to be updated at a specified interval?) We've left caching off in our installation so that things like our Department Directory (which pulls data from other systems on our campus) are kept current.Seanhttps://www.blogger.com/profile/03617077014830436783noreply@blogger.comtag:blogger.com,1999:blog-9112704294318731944.post-20795950658626437112008-05-14T13:57:00.000-07:002008-05-14T13:57:00.000-07:00This is all very exciting stuff. Is there an esti...This is all very exciting stuff. Is there an estimated date for 3.6 yet? I don't think I can rate one of these better than any of the others, they all are so significant in how much they'll help. Thank for all of the hard work.tomjensenhttps://www.blogger.com/profile/12724783204383883679noreply@blogger.com