Posts Tagged ‘CMS’
TYPO3 Developer Template “if20″ released
Ralf-Rene Schroeder - one of your moderators from the YAML community forums - has just released a brand new TYPO3 extension to ease the work with the YAML framework in TYPO3. Its projects is named "if20" and started these days (April,1st 2010) with a new project homepage and its first stable release v1.0 (based on YAML 3.2.1). It supports TYPO3 standard templating system as well as Autoparser and TemplVoila optionally.
Ralf describes the goal of the new extension in his own words ...
The goal of if20 is to make TYPO3 template building easier. In the if20 structure (modul > area > page) it will be easier for beginners to place objects with TypoScript into the template. In the near future, you will be able to load and include inividual screen designs, that are built on if20 technology. And, of course, you can update YAML separately. Another main goal was to have an english documentation for the developer template right from the beginning. Hopefully that makes it easier to start using if20 for the growing international YAML community.
Ralf-René Schröder
if20 Project Team
More information on the project, and the complete documentation can be found here: http://www.if-20.com. Besides the base extension if_yaml (which is already available in the TYPO3 Extension Repository) you can download a clean developer template, based on YAML's Simple Project, called "if_ready2go" from the download area on the project homepage.
Good luck to the if20 team and their new project!
Dirk Jesse
conceptCMS & YAML
This article is a guest post written by Stefan Lamby, one of the developers of "conceptCMS", a feature-rich open source content management system with a complete integration of the YAML CSS framework.
The number of Content Management Systems directly supporting YAML is growing. Today, I just want to point your attention to another Open Source CMS with built-in YAML support. The product, conceptcms (www.conceptcms.com), has been developed as commercial software since 2001. Now it is available under the GNU GPL since the end of 2008. Apart from features like out-of-the-box support for multi-customers and multi-languages, it comes with a rather sophisticated CSS handling. You are able to create as many style sheets you need and they can be organized in groups. There is a "Master CSS" (+ a version for IE) which will automatically be included into all templates. There is even a small CSS editor tool to work on your style sheet code.
Using YAML in conceptcms is easy: Just download the free YAML package here (either CSS only or a version with a simple example template) and do an import in your existing conceptcms-Installation. A selection of YAML CSS will be available in the "Styles" section of conceptcms, grouped into "YAML" (the core) and "MyYaml" (Styles you might want to modify).

YAML CSS in conceptcms "Styles" tab

conceptcms CSS editor
Importing and working with YAML within conceptcms is described in detail on this page.
Contrary to many other CMS, conceptcms does not ship with any "built-in" default template to display a Website, but you can either create your individual template/s from scratch (as a combination of menu item templates, structural/functional templates and HTML templates), or use free themes and templates available for download and import. These are all build on YAML style definitions. As an additional feature, conceptcms allows you to define "CSS exceptions" at menu item level (a "menu item" in conceptcms represents a navigation item and is used to dynamically integrate content from different documents or other sources), so the developer has full control where YAML CSS should be included and where not. This might be very useful if you want to implement new parts of your existing Website using YAML, but can't change existing style definitions for older parts. Another interesting feature: conceptcms supports code generated by YAML Builder. You can use YAML Builder and paste the code into the respective CSS. When saving the CSS, conceptcms will re-write all paths (e.g. to images required for the sliding door navigation) to fit the directory logic of conceptcms. No further manual editing required.
The HTML code geneated by YAML Builder can then be used as a basic template for a "Menu Item Template" in conceptcms.
Once you feel comfortable with the numerous options the system provides in the styles context, it is very simple to work with YAML in this CMS. In addition, the conceptcms team is committed to use YAML as their standard for every theme or template they will offer in the future.
Learning Management Software OLAT and YAML – a success story
This article is a guest post written by Florian Gnägi, one of the developers of OLAT, an online learning and training software that successfully uses the YAML CSS framework within their template engine.
OLAT (Online Learning And Training) is an open source learning management System (LMS) used worldwide in education. It is complex system with a ten years development record that is now available in release 6.1. In the early days, everything was table- and font-tag based. Over the years, more and more CSS elements got used instead but the basic layout was still table based.
In 2007 and 2008 a project was financed by University of Zuerich to redesign the entire graphical layer. Frentix, a spin-off company that offers commercial support for this open source e-learning system, was commissioned to implement project. The goal was to have a new look and feel, to improve accessibility and to move all the layout declarations from the program code to CSS rules and thus make the system theme-able.
Now, OLAT is a large component based web application and not a content management system (CMS). Every element on the screen is drawn by its own component renderer and there is no global template as it is often the case in CMS applications. This makes it difficult to implement a pure CSS based layout. Everyone who ever used a float knows that when using floats it is crucial to know where the float area ends and when a clearing needs to be done. But, how do you deal with this when every element on your screen is rendered completely independent of each other?
Due to the accessibility goals it was clear that we wanted to implement a pure CSS layout without using tables unless it is used for tabular data. After evaluating several CSS layout frameworks we came to the conclusion that YAML matched best our requirements. OLAT has a standard three columns layout with a tabbed-pane like navigation at the top of the content area- It also uses a top navigation menu for logout and other links and has a standard footer element. This is exactly what YAML offers. And by looking at the YAML code it was obviously that the people behind YAML really know what they talk about. In no other framework we found the expertise that goes that deep and evenly important, by buying the YAML book we found that the authors are even willing to share their valuable knowledge. I recommend the YAML book for everyone who has to write HTML and CSS, even when not using YAML as a framework at all because it explains so many basic problems and errors that are fundamental to know in any case.
Implementing YAML in a web application has some pitfalls though. They are actually not YAML specific but more general CSS problems and the reason why CSS based layouts are so hard to implement compared to table based layouts which are really easy to read and understand by everybody (but have their own drawbacks). Our main problem was that the width of the column one and three is unknown in our application. Column one is used for the menu which can contain infinite numbers of submenus, and column three contains something we call toolbox which also can have long or short entrance. Depending on the language (OLAT is translated in more than 15 languages) the entries in the column one or three are longer or shorter. The YAML column width must be specified. The solution to this was to uses some JavaScript code to make the columns resizable by users. We save this settings for each e-learning course so that a short menu in one course does not affect the layout of a long menu in another course.
We used the YAML template for the basic layout and reused many of the YAML components in OLAT components as well. We also followed YAML in the way how to load and integrate CSS and to provide patch rules for IE browsers. This mechanism works very well. On top of this we implemented our theming engine that allows the development of custom themes by overriding standard CSS rules. The screenshots below show the same page in a course with the frentix and the default theme.


We are very happy that we chose YAML as the base framework for the layout engine. Now we can leave it up to HTML and CSS professionals to find solutions to new browser problems and spend more time ourselves on application related issues. For example, we just saw that YAML has now solutions to implement layouts for right-to-reft languages - something we desperately need in order to support some asian and arabic languages in OLAT. It is of great value that we can build once again on top of something that is already there and has proven to work.
Thanks YAML team for this great work and keep it on going!
