Upgrade to Pro — share decks privately, control downloads, hide ads and more …

An Introduction To RefineryCMS

An Introduction To RefineryCMS

A presentation about RefineryCMS that was shown as part of the March meetup for AdelaideRB on 05-03-2013

Avatar for Nick Hayden

Nick Hayden

March 04, 2013
Tweet

Other Decks in Programming

Transcript

  1. What  is  RefineryCMS?   •  RefineryCMS  is  a  content  management

     system   for  Ruby  on  Rails,  similar  to  WordPress,  Drupal   and  Joomla   •  Founded  in  2004   •  Version  1.0  released  in  2011   •  Built  on  Rails  3   •  Created  by  Philip  Arndt   •  Open  Source  and  Free  
  2. Why  Use  A  Prebuilt  CMS?   •  A  philosophy  and

     methodology  for  content   modelling   •  A  permissions  model   •  A  versioning  system   •  A  system  to  render  content  through  templates  
  3. Why  Use  RefineryCMS?   •  100%  Free  and  Open  Source

      •  Always  updates  with  latest  versions  of  Rails   •  Super  simple  set  up  and  modifica+on  with  extensive   documenta+on   •  Easy  for  non-­‐technical  users  with  a  well  designed   interface   •  Mul+lingual  (over  21  languages)   •  Large  and  ac+ve  community   •  Rails  Way  –  Refinery  uses  standard  Rails  conven+ons   that  you’ll  find  in  most  other  apps   •  Can  be  added  to  a  previous  app  
  4. Who  Maintains  RefineryCMS?   •  Phillip  Arndt  (Original  creator  and

     current  lead   developer)   •  Ugis  Ozols   •  Rob  Yurkowski   •  The  Community!  
  5. What  Do  You  Need?   •  Ruby  1.8.7,  1.9.2,  1.9.3,

     Rubinus  or  JRuby   •  RubyGems   •  Rails  3.2  or  Higher   •  Database  (SQLite3,  MySQL,  Postgres)   •  ImageMagick  (and  the  Rmagick  gem)  
  6. How  do  you  install  and  get  started   with  RefineryCMS?

      •  Gem  install  refinerycms   •  `Refinerycms  [app_name]`   •  Use  the  –d  switch  to  set  your  apps  database  (or   change  it  in  database.yml   •  CD  into  the  directory  and  start  up  the  rails  server   (`rails  s`)   •  Access  your  site  and  begin  set  up  at  localhost: 3000   •  Customize  basic  features  of  your  site  in  config/ in(alizers/refinery/core.rb  
  7. How  do  you  change  the  design?   •  Views  are

     originally  owned  by  Refinery   •  You  can  override  the  views  with  a  `rake  refinery:override`   •  Put  config.new_page_parts  =  true  into  config/ini+alizers/ refinery/pages.rb  to  add  addi+onal  page  parts   •  Add  content  areas  with  <%=raw  @page.content_for(: [area_name])  %>   •  Structure  page  with  regular  HTML/CSS   •  Edit  content  in  Refinery  admin  dashboard   •  Make  CSS  changes  in  app/assets/stylesheets/ applica(on.css   •  Your  homepage  will  have  a  Home.css  file  available  
  8. Default  Refinery  Extensions   •  Refinery  comes  with  several  useful

     default  extensions   •  Authen(ca(on  –  Use  Refinery  to  create  users  and  manage   sessions   •  Core  –  The  core  Refinery  library  includes:  JS,  CSS,  Layouts,   Views  and  hooks  to  connect  with  Rails   •  Dashboard  –  The  main  dashboard  of  your  site   •  Images  –  Handles  image  upload  and  processing  using   Dragonfly   •  Pages  –  Allows  authorized  users  to  control  and  manipulate   pages   •  Resources  –  Handles  file  upload  and  storage   •  You  can  find  user  created  engines  on  refinerycms.com  
  9. Using  Your  Own  Engines  to  extend   RefineryCMS   • 

    Engines  are  like  mini  Rails  apps   •  Use  others  or  make  your  own   •  Generate  an  Engine  with  `rails  g  refinery:engine`   •  Engines  can  be  found  in  vendor/extensions     •  You  can  run  tests  on  your  Engine   •  Engines  have  access  to  the  Asset  Pipeline   (Images,  JavaScript,  CSS)   •  Use  Crudify  to  modify  searching  and  sor+ng  with   your  Engine  
  10. A  Few  Extra  Points   •  Refinery  uses  mini  Rails

     apps  (engines)  for  extra   func+onality  to  let  the  user  modify  the  top  level  /app   directory.   •  Refinery  is  a  big  gem  and  may  take  a  while  to  install   •  May  have  trouble  installing/using  with  Windows   machines   •  The  install  does  a  lot  for  you  so  it  may  fail  on  some   parts.  READ  YOUR  LOGS!   •  Many  of  Refinery’s  features  can  be  edited  in  /config/ in(alizers/refinery   •  You  can  change  the  order  of  Dashboard  tabs  using  the   Reorder  Menu  (two  green  arrows)  
  11. Cri+cisms  You’ll  Hear   •  Rails  should  be  used  for

     apps  not  a  CMS   •  Most  Rails  apps  get  the  func+onality  of  a  CMS   by  without  needing  a  full  system (authen+ca+on,  content  edi+ng,  templa+ng)  
  12. Where  to  get  help?   •  IRC  -­‐  #refinerycms,  #RubyOnRails

     and  #reddit-­‐ webdesign  on  Freenode   •  Tutorial  Guides-­‐  hEp://refinerycms.com/guides   •  Google  Group  –  hEp://group.refinerycms.org   •  API  –  hEp://api.refinerycms.org   •  GitHub  Wiki  -­‐   hEps://github.com/refinery/refinerycms/wiki   •  RailsCasts  –  Episode  332  
  13. Thanks  for  Listening!   These  slides  are  available  at  

    hEp://www.speakerdeck.com/ haydos585/an-­‐introduc+on-­‐to-­‐ refinerycms