Alchemy CMS Präsentation Rails UG HH 09.2011
Upcoming SlideShare
Loading in...5
×
 

Alchemy CMS Präsentation Rails UG HH 09.2011

on

  • 1,213 views

Ruby On Rails based Alchemy CMS presentation.

Ruby On Rails based Alchemy CMS presentation.

Statistics

Views

Total Views
1,213
Views on SlideShare
1,210
Embed Views
3

Actions

Likes
0
Downloads
0
Comments
0

3 Embeds 3

http://twitter.com 1
http://www.hanrss.com 1
http://coderwall.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Alchemy CMS Präsentation Rails UG HH 09.2011 Alchemy CMS Präsentation Rails UG HH 09.2011 Presentation Transcript

    • Moin, moin! • Thomas von Deyen (@tvdeyen) • 1976 geb. in Hamburg • verheiratet, 1 Sohn • HAW Hamburg Medientechnik • 2007: PHP2Ruby • macabi • 2007..2009 • ThinkWorkDone • 2009..2010 • magic labs* • 2010..Time.nowDonnerstag, 15. September 11
    • OMFGPNAOSCMSWAHX* *Oh my f*#&ing god, please not another opensource CMS, we already have X!Donnerstag, 15. September 11
    • History • Motivation: flexibel wie Typo 3, trotzdem bedienbar • Von 2007 bis 2010 als proprietäre Software: • Softwarepflege / Weiterentwicklung • Gewährleistung • Verwertungsrechte • Seit 2010 OpenSourceDonnerstag, 15. September 11
    • Facts • Rails Engine • Rails 2 (plugin) • Rails 3 (gem) • RMagick • Ferret* • FastGettext • GPLv3 *WTF?Donnerstag, 15. September 11
    • Was macht Alchemy?nicht? Alchemy • Alchemy speichert Inhalte einer Web-Seite in kleinsten Einheiten: • Atome @page.body = <<BODY <h1>Welcome</h1> • Moleküle <p> • Lorem ipsum dolor Zellen <img style="float: right" src="image.jpg"> </p> BODY @page.meta_description = "fancy rails cms" @page.saveDonnerstag, 15. September 11
    • Was macht Alchemy? • Alchemy speichert Inhalte einer Web-Seite in kleinsten Einheiten: • Atome • Moleküle • ZellenDonnerstag, 15. September 11
    • What you need is what you get • 100% Trennung zwischen Inhalt und Styling • Extrem flexible Anpassungsmöglichkeiten • Wie in einem Chemiebaukasten liefert Alchemy nur die grundlegenden Essenzen • Welche Elemente daraus zusammengestellt werden ist komplett dem Entwickler überlassenDonnerstag, 15. September 11
    • Rendering Tree • Layout ➡ app/views/layout/pages.html.erb • PageLayout ➡ app/views/page_layouts/_standard.html.erb ActionCaching • Cell ➡ app/views/cells/_right_column.html.erb • Element ➡ app/views/elements/_article_view.html.erb • Essence ➡ app/views/layout/_essence_text_view.html.erbDonnerstag, 15. September 11
    • Code!Donnerstag, 15. September 11
    • Example page_layouts.yml #config/alchemy/page_layouts.yml - name: standard elements: [headline, article, gallery] autogenerate: [headline] - name: news feed: true elements: [news] - name: contact unique: true cache: false elements: [contactform] autogenerate: [contactform]Donnerstag, 15. September 11
    • Example elements.yml #config/alchemy/elements.yml - name: article contents: - name: headline type: EssenceText - name: text type: EssenceRichtext - name: image type: EssencePicture - name: news contents: - name: title type: EssenceText - name: date type: EssenceDate - name: body type: EssenceRichtextDonnerstag, 15. September 11
    • Example layout: # app/views/layouts/pages.html.erb <!DOCTYPE> <html> <head> <%= stylesheet_link_tag "styles" %> </head> <body> <div id="page"> <div id="navigation"> <%= render_navigation %> </div> <div id="content"> <%= yield %> </div> </div> </body> </html>Donnerstag, 15. September 11
    • Example page layout partial: # app/views/page_layouts/_standard.html.erb <div id="main_content"> <%= render_elements(:except => right_info) %> </div> <div id="right_column"> <%= render_elements(:only => right_info) %> </div>Donnerstag, 15. September 11
    • Example elements view partial: # app/views/elements/_article_view.html.erb <div class="article"> <h1> <%= render_essence_view_by_name(element, headline) %> </h1> <p> <%= render_essence_view_by_name(element, text) %> <%= render_essence_view_by_type(element, EssencePicture, :image_size => "80x120", :crop => true ) %> </p> </div>Donnerstag, 15. September 11
    • Example elements editor partial: # app/views/elements/_article_editor.html.erb <%= render_essence_editor_by_name(element, headline) %> <%= render_essence_editor_by_name(element, text) %> <%= render_picture_editor(element, :image_size => "80x120", :crop => true ) %>Donnerstag, 15. September 11
    • There is a task* for that! • Create new project ➡ alchemy new fancypage • Or prepare existing rails app for Alchemy ➡ rake alchemy:prepare • Scaffold necessary folders and files ➡ rails g alchemy:scaffold:all • Install standard set (default layout) ➡ rake alchemy:standard_set:install * and or generatorDonnerstag, 15. September 11
    • DemoDonnerstag, 15. September 11
    • We need help! Wir brauchen Contributer: • Entwicklung • Dokumentation • Testing • Bug ReportingDonnerstag, 15. September 11
    • Help us! https://github.com/magiclabs/alchemy_cms Follow me: @alchemy_cmsDonnerstag, 15. September 11
    • Danke! @alchemy_cmsDonnerstag, 15. September 11