Radiant CMS
          no fluff, just stuff!
          Eine Einführung

                                 iTeh DI Edmund Sieg...
Vorstellung

               Edmund Haselwanter
               seit August 2008 selbständig
               Focus auf IT Con...
Warum Radiant?

               Zuerst Versuch mit enterprise-level CMS Systemen und
               Blog Engines wie Wordpr...
Die 80-20 Regel

               Zu 80% verwendet man 20% der Funktionen
               Zumeist will man nur “Seiten” erste...
Installation

                          gem install radiant
                          radiant meine-webseite
             ...
Admin Interface
          unter /admin

Mittwoch, 31. März 2010
Der Content




          Der Content
          Hierarchische Seitenstruktur

Mittwoch, 31. März 2010
Workflow Status


                          Der Content




         Workflow Status
          auf einen Blick Status aller ...
Workflow Status


                          Der Content

                                    Seiten
                       ...
Mittwoch, 31. März 2010
Titel




Mittwoch, 31. März 2010
Titel
                          Url Teil




Mittwoch, 31. März 2010
Titel
                          Url Teil
                                     Breadcrumb




Mittwoch, 31. März 2010
Titel
                          Url Teil
                                     Breadcrumb


                          Seite...
Titel
                          Url Teil
                                     Breadcrumb


                          Seite...
Titel
                          Url Teil
                                     Breadcrumb


                          Seite...
Titel
                               Url Teil
                                          Breadcrumb


                     ...
Titel
                               Url Teil
                                           Breadcrumb


                    ...
Layouts
          Site Wireframe - Sind die Templates einer Seite

Mittwoch, 31. März 2010
Layouts
          Definieren Content Type
          --> Auch XML, CSS, Javascript, ... möglich
Mittwoch, 31. März 2010
Snippets
          Wiederverwendbare Mini Templates

Mittwoch, 31. März 2010
Snippets
          Über den Namen ansprechbar

Mittwoch, 31. März 2010
Typisches CMS
                          Seite     Layout   Ergebnis

                                    Header    Header
...
Ein besseres Model
                          Seite      Layout   Ergebnis
                          body       Header    H...
Umsetzung
              <html>
                <head>
                   <title>Eine Beispielseite</title>
               ...
Umsetzung
              <html>                                Titel
                <head>
                   <title>Eine ...
Umsetzung
              <html>
                <head>
                   <title><r:title/></title>
                </head>...
Umsetzung
              <html>
                <head>
                   <title><r:title/></title>            Wiederkehren...
Umsetzung
              <html>
                <head>
                   <title><r:title/></title>
                </head>...
Umsetzung
              <html>
                <head>
                   <title><r:title/></title>
                </head>...
Umsetzung
              <html>
                <head>
                   <title><r:title/></title>
                </head>...
Umsetzung
              <html>
                 <head>
                   <title><r:title/></title>
                 </hea...
Radiant und Radius

               Radius ist eine Tag basierte Template Sprache
               Radiant hat im Kern 50 Rad...
Radiant Tags Content
               <r:author/>                                            <r:meta [tag="true|false"]/>

 ...
Radiant Tags Context
               <r:page>...</r:page>

               <r:children>...</r:children>

               <r:c...
Radiant Tags Conditional
               <r:if_first>...</r:if_first>                            <r:if_ancestor_or_self>...</...
Beispiel für Conditionals
        <r:find url="/news">
          <r:if_children>
            <ul>
              <r:childre...
Beispiel für Conditionals
        <r:find url="/news">
          <r:if_children>
            <ul>
              <r:childre...
Beispiel für Conditionals
        <r:find url="/news">
          <r:if_children>
            <ul>
              <r:childre...
Beispiel für Conditionals
        <r:find url="/news">
          <r:if_children>
            <ul>
              <r:childre...
Und die restlichen 20% ?
               Es gibt ca. 200 Erweiterungen (http://ext.radiantcms.org/)
               von ein ...
Populäre Erweiterungen
               Paperclipped
               Mailer
               share_layouts
               Galle...
Zusammenfassung
               Pros:
                     Sehr gut geeignet für typische Web Auftritte
                   ...
Weiterführende Links
               Repo: http://github.com/radiant/radiant
               Wiki: http://wiki.github.com/ra...
Nächste SlideShare
Wird geladen in …5
×

Webmontag Graz Radiant CMS

1.185 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.185
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
23
Aktionen
Geteilt
0
Downloads
6
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Webmontag Graz Radiant CMS

  1. 1. Radiant CMS no fluff, just stuff! Eine Einführung iTeh DI Edmund Siegfried Haselwanter (office@iteh.at) Mittwoch, 31. März 2010
  2. 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. 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. 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. 5. Installation gem install radiant radiant meine-webseite rake db:bootstrap Mittwoch, 31. März 2010
  6. 6. Admin Interface unter /admin Mittwoch, 31. März 2010
  7. 7. Der Content Der Content Hierarchische Seitenstruktur Mittwoch, 31. März 2010
  8. 8. Workflow Status Der Content Workflow Status auf einen Blick Status aller Seiten Mittwoch, 31. März 2010
  9. 9. Workflow Status Der Content Seiten erstellen/löschen Seiten in der Hierarchie erstellen oder löschen Mittwoch, 31. März 2010
  10. 10. Mittwoch, 31. März 2010
  11. 11. Titel Mittwoch, 31. März 2010
  12. 12. Titel Url Teil Mittwoch, 31. März 2010
  13. 13. Titel Url Teil Breadcrumb Mittwoch, 31. März 2010
  14. 14. Titel Url Teil Breadcrumb Seiten Teile Mittwoch, 31. März 2010
  15. 15. Titel Url Teil Breadcrumb Seiten Teile Filter Mittwoch, 31. März 2010
  16. 16. Titel Url Teil Breadcrumb Seiten Teile Filter Content Mittwoch, 31. März 2010
  17. 17. Titel Url Teil Breadcrumb Seiten Teile Filter Content Layout Mittwoch, 31. März 2010
  18. 18. Titel Url Teil Breadcrumb Seiten Teile Filter Content Layout Seiten Typ Mittwoch, 31. März 2010
  19. 19. Layouts Site Wireframe - Sind die Templates einer Seite Mittwoch, 31. März 2010
  20. 20. Layouts Definieren Content Type --> Auch XML, CSS, Javascript, ... möglich Mittwoch, 31. März 2010
  21. 21. Snippets Wiederverwendbare Mini Templates Mittwoch, 31. März 2010
  22. 22. Snippets Über den Namen ansprechbar Mittwoch, 31. März 2010
  23. 23. Typisches CMS Seite Layout Ergebnis Header Header Content Content Footer Footer Mittwoch, 31. März 2010
  24. 24. Ein besseres Model Seite Layout Ergebnis body Header Header sidebar sidebar extended body extended Footer Footer Mittwoch, 31. März 2010
  25. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 42. Populäre Erweiterungen Paperclipped Mailer share_layouts Gallery nav Mittwoch, 31. März 2010
  43. 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. 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

×