Your SlideShare is downloading. ×
Webmontag Graz Radiant CMS
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Webmontag Graz Radiant CMS

936
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
936
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Radiant CMS no fluff, just stuff! Eine Einführung iTeh DI Edmund Siegfried Haselwanter (office@iteh.at) Mittwoch, 31. März 2010
  • 2. Vorstellung Edmund Haselwanter seit August 2008 selbständig Focus auf IT Consulting / Rails und IT Automatisierung seit ca. 2 Jahren verschiedene Radiant Webseiten online Mittwoch, 31. März 2010
  • 3. Warum Radiant? Zuerst Versuch mit enterprise-level CMS Systemen und Blog Engines wie Wordpress Zu viele Funktionen, zu kompliziert oder zu unflexibel Will “einfach” Seiten machen Ruby/Rails Fan-Boy ;-) Mittwoch, 31. März 2010
  • 4. Die 80-20 Regel Zu 80% verwendet man 20% der Funktionen Zumeist will man nur “Seiten” erstellen Radiant bietet Pages, Layouts und Snippets für diese Aufgabe Der Rest kann mit im Moment ca. 200 Erweiterungen oder einfach selbst programmiert werden Mittwoch, 31. März 2010
  • 5. Installation gem install radiant radiant meine-webseite rake db:bootstrap Mittwoch, 31. März 2010
  • 6. Admin Interface unter /admin Mittwoch, 31. März 2010
  • 7. Der Content Der Content Hierarchische Seitenstruktur Mittwoch, 31. März 2010
  • 8. Workflow Status Der Content Workflow Status auf einen Blick Status aller Seiten Mittwoch, 31. März 2010
  • 9. Workflow Status Der Content Seiten erstellen/löschen Seiten in der Hierarchie erstellen oder löschen Mittwoch, 31. März 2010
  • 10. Mittwoch, 31. März 2010
  • 11. Titel Mittwoch, 31. März 2010
  • 12. Titel Url Teil Mittwoch, 31. März 2010
  • 13. Titel Url Teil Breadcrumb Mittwoch, 31. März 2010
  • 14. Titel Url Teil Breadcrumb Seiten Teile Mittwoch, 31. März 2010
  • 15. Titel Url Teil Breadcrumb Seiten Teile Filter Mittwoch, 31. März 2010
  • 16. Titel Url Teil Breadcrumb Seiten Teile Filter Content Mittwoch, 31. März 2010
  • 17. Titel Url Teil Breadcrumb Seiten Teile Filter Content Layout Mittwoch, 31. März 2010
  • 18. Titel Url Teil Breadcrumb Seiten Teile Filter Content Layout Seiten Typ Mittwoch, 31. März 2010
  • 19. Layouts Site Wireframe - Sind die Templates einer Seite Mittwoch, 31. März 2010
  • 20. Layouts Definieren Content Type --> Auch XML, CSS, Javascript, ... möglich Mittwoch, 31. März 2010
  • 21. Snippets Wiederverwendbare Mini Templates Mittwoch, 31. März 2010
  • 22. Snippets Über den Namen ansprechbar Mittwoch, 31. März 2010
  • 23. Typisches CMS Seite Layout Ergebnis Header Header Content Content Footer Footer Mittwoch, 31. März 2010
  • 24. Ein besseres Model Seite Layout Ergebnis body Header Header sidebar sidebar extended body extended Footer Footer Mittwoch, 31. März 2010
  • 25. Umsetzung <html> <head> <title>Eine Beispielseite</title> </head> <body> <div id="header”><img src="logo.gif" /></div> <div id="content"> <h1>Eine Beispielseite</h1> <p>Das ist eine Beispielseite.</p> </div> <div id="sidebar"> <p>sidebar Sachen kommen hierher</p> </div> <div id="footer"> <p>Copyright 2010, Max Mustermann</p> </div> </body> </html> Mittwoch, 31. März 2010
  • 26. Umsetzung <html> Titel <head> <title>Eine Beispielseite</title> </head> <body> <div id="header”><img src="logo.gif" /></div> <div id="content"> <h1>Eine Beispielseite</h1> <p>Das ist eine Beispielseite.</p> </div> <div id="sidebar"> <p>sidebar Sachen kommen hierher</p> </div> <div id="footer"> <p>Copyright 2010, Max Mustermann</p> </div> </body> </html> Mittwoch, 31. März 2010
  • 27. Umsetzung <html> <head> <title><r:title/></title> </head> <body> <div id="header”><img src="logo.gif" /></div> <div id="content"> <h1><r:title/></h1> <p>Das ist eine Beispielseite.</p> </div> <div id="sidebar"> <p>sidebar Sachen kommen hierher</p> </div> <div id="footer"> <p>Copyright 2010, Max Mustermann</p> </div> </body> </html> Mittwoch, 31. März 2010
  • 28. Umsetzung <html> <head> <title><r:title/></title> Wiederkehrender </head> <body> Kopfteil <div id="header”><img src="logo.gif" /></div> <div id="content"> <h1><r:title/></h1> <p>Das ist eine Beispielseite.</p> </div> <div id="sidebar"> <p>sidebar Sachen kommen hierher</p> </div> <div id="footer"> <p>Copyright 2010, Max Mustermann</p> </div> </body> Wiederkehrender </html> Fussteil Mittwoch, 31. März 2010
  • 29. Umsetzung <html> <head> <title><r:title/></title> </head> <body> <r:snippet name="header"/> <div id="content"> <h1><r:title/></h1> <p>Das ist eine Beispielseite.</p> </div> <div id="sidebar"> <p>sidebar Sachen kommen hierher</p> </div> <r:snippet name="footer"/> </body> </html> Mittwoch, 31. März 2010
  • 30. Umsetzung <html> <head> <title><r:title/></title> </head> <body> <r:snippet name="header"/> <div id="content"> <h1><r:title/></h1> <p>Das ist eine Beispielseite.</p> Body </div> <div id="sidebar"> <p>sidebar Sachen kommen hierher</p> Seitenleiste </div> <r:snippet name="footer"/> </body> </html> Mittwoch, 31. März 2010
  • 31. Umsetzung <html> <head> <title><r:title/></title> </head> <body> <r:snippet name="header"/> <div id="content"> <h1><r:title/></h1> <r:content part="body" /> <r:content part="extended" /> </div> <div id="sidebar"> <r:content part="sidebar" /> </div> <r:snippet name="footer"/> </body> </html> Mittwoch, 31. März 2010
  • 32. Umsetzung <html> <head> <title><r:title/></title> </head> <body> <r:snippet name="header"/> <div id="content"> mehr dazu unter <h1><r:title/></h1> http://wiki.github.com/radiant/radiant/getting-started <r:content part="body" /> <r:content part="extended" /> </div> <div id="sidebar"> <r:content part="sidebar" /> </div> <r:snippet name="footer"/> </body> </html> Mittwoch, 31. März 2010
  • 33. Radiant und Radius Radius ist eine Tag basierte Template Sprache Radiant hat im Kern 50 Radius Tags Sehr einfach erweiterbar durch eigene Tags http://radius.rubyforge.org/ Mittwoch, 31. März 2010
  • 34. Radiant Tags Content <r:author/> <r:meta [tag="true|false"]/> <r:breadcrumb/> <r:navigation urls="[Title: url|Title: url]>...</ r:navigation> <r:breadcrumbs [separator="separator_string"] [nolinks="true|false"]/> <r:option/> <r:comment/> <r:rfc1123_date/> <r:content [part="part_name"] [inherit="true|false"] <r:slug/> [contextual="true|false"]/> <r:snippet name="snippet_name"/> <r:count/> <r:snippet name="snippet_name">...</r:snippet> <r:cycle values="1, 2, 3" [reset="true|false"] [name="cycle"]/> <r:status [downcase='true|false']/> <r:date [format="%A, %B %d, %Y"] <r:title/> [for="created_at|now|published_at|updated_at"]/> <r:url/> <r:escape_html/> <r:yield/> <r:link [anchor="name"] [other attributes...]/> <r:link [anchor="name"] [other attributes...]>...</ r:link> <r:meta:description [tag="true|false"]/> <r:meta:keywords [tag="true|false"]/> Mittwoch, 31. März 2010
  • 35. Radiant Tags Context <r:page>...</r:page> <r:children>...</r:children> <r:children:first>...</r:children:first> <r:children:last>...</r:children:last> <r:children:each [offset="number"] [limit="number"] [by="attribute"] [order="asc|desc"] [status="draft|reviewed|published|hidden|all"]>...</ r:children:each> <r:children:each:child>...</r:children:each:child> <r:parent>...</r:parent> <r:find url="value_to_find">...</r:find> <r:random>...</r:random> Mittwoch, 31. März 2010
  • 36. Radiant Tags Conditional <r:if_first>...</r:if_first> <r:if_ancestor_or_self>...</r:if_ancestor_or_self> <r:unless_first>...</r:unless_first> <r:unless_ancestor_or_self>...</ r:unless_ancestor_or_self> <r:if_last>...</r:if_last> <r:if_self>...</r:if_self> <r:unless_last>...</r:unless_last> <r:unless_self>...</r:unless_self> <r:if_parent>...</r:if_parent> <r:if_dev>...</r:if_dev> <r:unless_parent>...</r:unless_parent> <r:unless_dev>...</r:unless_dev> <r:if_children [status="published|draft|hidden| reviewed"]>...</r:if_children> <r:header [name="header_name"] [restart="name1 [;name2;...]>...</r:header> <r:unless_children [status="published|draft|hidden| reviewed"]>...</r:unless_children> <r:if_content [part="part_name, other_part"] [inherit="true"] [find="any"]>...</r:if_content> <r:unless_content [part="part_name, other_part"] [inherit="true"] [find="any"]>...</r:unless_content> <r:if_url matches="regexp" [ignore_case="true| false"]>...</r:if_url> <r:unless_url matches="regexp" [ignore_case="true|false"]>...</ r:unless_url> Mittwoch, 31. März 2010
  • 37. Beispiel für Conditionals <r:find url="/news"> <r:if_children> <ul> <r:children:each> <li><r:title/></li> </r:children:each> </ul> </r:if_children> <r:unless_children> <p>There are no news stories just now. Please check back later.</p> </r:unless_children> </r:find> Mittwoch, 31. März 2010
  • 38. Beispiel für Conditionals <r:find url="/news"> <r:if_children> <ul> <r:children:each> <li><r:title/></li> </r:children:each> </ul> </r:if_children> <r:unless_children> <p>There are no news stories just now. Please check back later.</p> </r:unless_children> </r:find> Mittwoch, 31. März 2010
  • 39. Beispiel für Conditionals <r:find url="/news"> <r:if_children> <ul> <r:children:each> <li><r:title/></li> </r:children:each> </ul> </r:if_children> <r:unless_children> <p>There are no news stories just now. Please check back later.</p> </r:unless_children> </r:find> Mittwoch, 31. März 2010
  • 40. Beispiel für Conditionals <r:find url="/news"> <r:if_children> <ul> <r:children:each> <li><r:title/></li> </r:children:each> </ul> </r:if_children> <r:unless_children> <p>There are no news stories just now. Please check back later.</p> </r:unless_children> </r:find> Mittwoch, 31. März 2010
  • 41. Und die restlichen 20% ? Es gibt ca. 200 Erweiterungen (http://ext.radiantcms.org/) von ein paar Tags bis CRM Integration nichts dabei? -> selbst schreiben! Sehr flexibles Extension Interface Admin Bereich einfach erweiterbar Radiant Teile mit Ruby Metaprogramming mehr/ andere Funktionalität geben http://wiki.github.com/radiant/radiant/creating- extensions Mittwoch, 31. März 2010
  • 42. Populäre Erweiterungen Paperclipped Mailer share_layouts Gallery nav Mittwoch, 31. März 2010
  • 43. Zusammenfassung Pros: Sehr gut geeignet für typische Web Auftritte flexibel und einfach erweiterbar Cons: produktiv einsetzbar, aber erst Version 0.9 Extensions finden und installieren mitunter schwierig Mittwoch, 31. März 2010
  • 44. Weiterführende Links Repo: http://github.com/radiant/radiant Wiki: http://wiki.github.com/radiant/radiant/ Extensions: http://ext.radiantcms.org/ Viele Extensions auf github.com irc: #radiantcms channel auf irc.freenode.net Mailinglist: http://radiantcms.org/mailing-list/ Mittwoch, 31. März 2010