SlideShare une entreprise Scribd logo
1  sur  29
Télécharger pour lire hors ligne
RailsAdmin
                             The right way of doing data administration




                                       RubyAndRails 2010
                                           Bogdan Gaza


RubyAndRails 2010                                                         @hurrycane
Thursday, October 21, 2010
$	
  whoami
                  Student at Faculty of Computer Science, Iasi, Romania

                                Freelance web developer


                                 RubySOC 2010 student


                                bogdan.gaza@info.uaic.ro


                                 @hurrycane

RubyAndRails 2010                                                         @hurrycane
Thursday, October 21, 2010
Data administration is ________*
                                          SPEAK UP!




  * talking in the context of a web app
RubyAndRails 2010                                @hurrycane
Thursday, October 21, 2010
...	
  the	
  way	
  you	
  organize	
  and	
  control	
  your	
  data

RubyAndRails 2010                                                                           @hurrycane
Thursday, October 21, 2010
Data administration means the admin panel.

RubyAndRails 2010                                               @hurrycane
Thursday, October 21, 2010
HOW?
                             Both	
  simple,	
  secure	
  and	
  fast




RubyAndRails 2010                                                       @hurrycane
Thursday, October 21, 2010
Most people write custom
                          admin panels.

                               prone	
  to	
  errors
                             definitely	
  NOT	
  fast
                              not	
  very	
  simple

RubyAndRails 2010                                       @hurrycane
Thursday, October 21, 2010
Other use CMSs

                                  usually	
  secure
                                       NOT	
  fast
                               simple	
  but	
  not	
  flexible


RubyAndRails 2010                                                @hurrycane
Thursday, October 21, 2010
The Rails way of doing it
                using a plugin engine.
                             usually	
  secure
                                   fast
                                 simple

RubyAndRails 2010                                @hurrycane
Thursday, October 21, 2010
And the choices are:



RubyAndRails 2010                                   @hurrycane
Thursday, October 21, 2010
lipsiaAdmin




                             ExtJS | permissions | Rails 2.x
                                      www.lipsiadmin.com


RubyAndRails 2010                                              @hurrycane
Thursday, October 21, 2010
ActiveScaffold




                 Embed-able | Third-Party-Plugins | Rails 2.x
                               http://www.activescaffold.com/


RubyAndRails 2010                                               @hurrycane
Thursday, October 21, 2010
Hobo




                        WebAppBuilder | Permissions | Rails 3.x
                                      http://hobocentral.net/


RubyAndRails 2010                                                 @hurrycane
Thursday, October 21, 2010
Introducing

                                 RailsAdmin

                             http://github.com/sferik/rails_admin/


RubyAndRails 2010                                                    @hurrycane
Thursday, October 21, 2010
RubySOC	
  2010	
  Project
                                     mentors
                               Erik Michaels-Ober,
                                   Yehuda Katz,
                             Rodrigo Rosenfeld Rosas,
                             Luke van der Hoeven and
                                  Rein Henrichs.

RubyAndRails 2010                                       @hurrycane
Thursday, October 21, 2010
Began	
  as	
  Erik’s	
  MerbAdmin	
  
                    and	
  then	
  got	
  ported	
  to	
  
                                  Rails	
  3



RubyAndRails 2010                                        @hurrycane
Thursday, October 21, 2010
RailsAdmin	
  is	
  a	
  Rails	
  Engine

RubyAndRails 2010                                                       @hurrycane
Thursday, October 21, 2010
Basic Engines
                                 controllers



    require 'rails_admin/abstract_model'

    module RailsAdmin
      class ApplicationController < ::ApplicationController

      end
    end




RubyAndRails 2010                                       @hurrycane
Thursday, October 21, 2010
Basic Engines
                                  models




     module RailsAdmin
       class History < ActiveRecord::Base

       end
     end




RubyAndRails 2010                            @hurrycane
Thursday, October 21, 2010
Basic Engines
                                        routes



                  Rails.application.routes.draw do

                      # Routes for rails_admin controller
                      controller "main" do
                        match "/", :to => :index, :as => "dashboard"
                        match "/:model_name", :to => :list, :as => "list"
                        ...
                      end
                  end




      For more info checkout the mountable apps RubySOC project.

RubyAndRails 2010                                                           @hurrycane
Thursday, October 21, 2010
RailsAdmin



                                                 }
                             C   Create new
                             R   Show
                             U   Easily Update
                                                     Your	
  Data
                             D   Safely Delete

                                 Automatic form validation
                             Authentication (using Devise)

                                   Multi-column-search
                             Use Action History (per row)

RubyAndRails 2010                                                   @hurrycane
Thursday, October 21, 2010
RailsAdmin	
  -­‐	
  simple	
  to	
  install

  Add in your Gemfile
 gem 'devise' # Devise must be required before RailsAdmin
 gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git'


  Run
  $ bundle update


  Also run:
  $ rails generate rails_admin:install_admin




RubyAndRails 2010                                                           @hurrycane
Thursday, October 21, 2010
With	
  Rails	
  3.1	
  Rails	
  Admin	
  will	
  be	
  
            mountable.	
  (Thanks	
  to	
  Piotr!)




RubyAndRails 2010                                               @hurrycane
Thursday, October 21, 2010
Rails.application.routes.draw do
    mount Admin::Engine => "/admin"
  end




RubyAndRails 2010               @hurrycane
Thursday, October 21, 2010
DEMO


RubyAndRails 2010                   @hurrycane
Thursday, October 21, 2010
Rails	
  3.1	
  and	
  RailsAdmin	
  1.0	
  around	
  the
                                       end	
  of	
  the	
  year.




RubyAndRails 2010                                                               @hurrycane
Thursday, October 21, 2010
e?        Do
                                      vi s       hav es it
                                    De              e au      nee
                               hy                        the
                                                             ntic
                                                                   d to
                             W

                                          QA
                                                                  atio
                                                                      n?


                             Con
                                 figur                          ns
                                        atio             i ssio
                                            n?     Perm



RubyAndRails 2010                                                          @hurrycane
Thursday, October 21, 2010
Configuration DSL
                                   experimental


                             Thanks to kappa (Petteri Kääpä)!

                                    http://gist.github.com/638153



RubyAndRails 2010                                                   @hurrycane
Thursday, October 21, 2010
Thanks!



RubyAndRails 2010                      @hurrycane
Thursday, October 21, 2010

Contenu connexe

Tendances

SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...Sébastien Levert
 
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)Fwdays
 
Building modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and LayrryBuilding modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and LayrryAndres Almiray
 
C# Async/Await Explained
C# Async/Await ExplainedC# Async/Await Explained
C# Async/Await ExplainedJeremy Likness
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedGil Fink
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)bryanbibat
 
SPA, Scalable Application & AngularJS
SPA, Scalable Application & AngularJSSPA, Scalable Application & AngularJS
SPA, Scalable Application & AngularJSMitch Chen
 
DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012kittenthecat
 
Advanced AngularJS Tips and Tricks
Advanced AngularJS Tips and TricksAdvanced AngularJS Tips and Tricks
Advanced AngularJS Tips and TricksJeremy Likness
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server RenderingDavid Amend
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginnerUmair Amjad
 
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure FunctionsEuropean Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure FunctionsSébastien Levert
 
Webpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itWebpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itMike Wilcox
 
Integrating AngularJS with Drupal 7
Integrating AngularJS with Drupal 7Integrating AngularJS with Drupal 7
Integrating AngularJS with Drupal 7andrewmriley
 
Building a dynamic SPA website with Angular
Building a dynamic SPA website with AngularBuilding a dynamic SPA website with Angular
Building a dynamic SPA website with AngularFilip Bruun Bech-Larsen
 
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた
Angular2 + AWS LambdaでサーバサイドレンダリングしてみたAngular2 + AWS Lambdaでサーバサイドレンダリングしてみた
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた暁 三宅
 
Namespace less engine
Namespace less engineNamespace less engine
Namespace less engineshaokun
 
Sizzle jQCon San Francisco 2012
Sizzle jQCon San Francisco 2012Sizzle jQCon San Francisco 2012
Sizzle jQCon San Francisco 2012livelogos
 

Tendances (20)

SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
SharePoint Saturday Lisbon 2017 - SharePoint Framework, Angular & Azure Funct...
 
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
 
Building modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and LayrryBuilding modular applications with the Java Platform Module System and Layrry
Building modular applications with the Java Platform Module System and Layrry
 
C# Async/Await Explained
C# Async/Await ExplainedC# Async/Await Explained
C# Async/Await Explained
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrived
 
Gemboys
GemboysGemboys
Gemboys
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
 
SPA, Scalable Application & AngularJS
SPA, Scalable Application & AngularJSSPA, Scalable Application & AngularJS
SPA, Scalable Application & AngularJS
 
Prototypejs
PrototypejsPrototypejs
Prototypejs
 
DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012DeveloperDeveloperDeveloper! Sydney 2012
DeveloperDeveloperDeveloper! Sydney 2012
 
Advanced AngularJS Tips and Tricks
Advanced AngularJS Tips and TricksAdvanced AngularJS Tips and Tricks
Advanced AngularJS Tips and Tricks
 
Client Vs. Server Rendering
Client Vs. Server RenderingClient Vs. Server Rendering
Client Vs. Server Rendering
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginner
 
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure FunctionsEuropean Collaboration Summit - SharePoint Framework Angular & Azure Functions
European Collaboration Summit - SharePoint Framework Angular & Azure Functions
 
Webpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itWebpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need it
 
Integrating AngularJS with Drupal 7
Integrating AngularJS with Drupal 7Integrating AngularJS with Drupal 7
Integrating AngularJS with Drupal 7
 
Building a dynamic SPA website with Angular
Building a dynamic SPA website with AngularBuilding a dynamic SPA website with Angular
Building a dynamic SPA website with Angular
 
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた
Angular2 + AWS LambdaでサーバサイドレンダリングしてみたAngular2 + AWS Lambdaでサーバサイドレンダリングしてみた
Angular2 + AWS Lambdaでサーバサイドレンダリングしてみた
 
Namespace less engine
Namespace less engineNamespace less engine
Namespace less engine
 
Sizzle jQCon San Francisco 2012
Sizzle jQCon San Francisco 2012Sizzle jQCon San Francisco 2012
Sizzle jQCon San Francisco 2012
 

Similaire à The right way of doing data administration with RailsAdmin

Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices ThoughtWorks
 
Introduction to OAuth2
Introduction to OAuth2Introduction to OAuth2
Introduction to OAuth2leondu
 
Scaling webappswithrabbitmq
Scaling webappswithrabbitmqScaling webappswithrabbitmq
Scaling webappswithrabbitmqAlvaro Videla
 
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]jtimberman
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby ConferenceJohn Woodell
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGuillaume Laforge
 
A Match Made In The Cloud
A Match Made In The CloudA Match Made In The Cloud
A Match Made In The CloudChapter Three
 
Web Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To ComplexWeb Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To ComplexBrian Hogan
 
JavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayJavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayWesley Hales
 
12 hours to rate a rails application
12 hours to rate a rails application12 hours to rate a rails application
12 hours to rate a rails applicationehuard
 
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013Ruby and Twitter at the Ruby drink-up of Sophia, January 2013
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013rivierarb
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Shaer Hassan
 
Webmontag München Cross Platform
Webmontag München Cross PlatformWebmontag München Cross Platform
Webmontag München Cross Platformwolframkriesing
 
Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4John Ballinger
 
IronRuby for the Rubyist
IronRuby for the RubyistIronRuby for the Rubyist
IronRuby for the RubyistWill Green
 

Similaire à The right way of doing data administration with RailsAdmin (20)

Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices Nick Sieger-Exploring Rails 3 Through Choices
Nick Sieger-Exploring Rails 3 Through Choices
 
Introduction to OAuth2
Introduction to OAuth2Introduction to OAuth2
Introduction to OAuth2
 
Scaling webappswithrabbitmq
Scaling webappswithrabbitmqScaling webappswithrabbitmq
Scaling webappswithrabbitmq
 
Chef in the cloud [dbccg]
Chef in the cloud [dbccg]Chef in the cloud [dbccg]
Chef in the cloud [dbccg]
 
Presentazione 28
Presentazione 28Presentazione 28
Presentazione 28
 
Railsconf 2010
Railsconf 2010Railsconf 2010
Railsconf 2010
 
Oscon 2010
Oscon 2010Oscon 2010
Oscon 2010
 
Red Dirt Ruby Conference
Red Dirt Ruby ConferenceRed Dirt Ruby Conference
Red Dirt Ruby Conference
 
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume LaforgeGaelyk - SpringOne2GX - 2010 - Guillaume Laforge
Gaelyk - SpringOne2GX - 2010 - Guillaume Laforge
 
A Match Made In The Cloud
A Match Made In The CloudA Match Made In The Cloud
A Match Made In The Cloud
 
Web Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To ComplexWeb Development With Ruby - From Simple To Complex
Web Development With Ruby - From Simple To Complex
 
JavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies TodayJavaOne 2011 - Going Mobile With Java Based Technologies Today
JavaOne 2011 - Going Mobile With Java Based Technologies Today
 
12 hours to rate a rails application
12 hours to rate a rails application12 hours to rate a rails application
12 hours to rate a rails application
 
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013Ruby and Twitter at the Ruby drink-up of Sophia, January 2013
Ruby and Twitter at the Ruby drink-up of Sophia, January 2013
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Upgrading to Rails 3
Upgrading to Rails 3Upgrading to Rails 3
Upgrading to Rails 3
 
Webmontag München Cross Platform
Webmontag München Cross PlatformWebmontag München Cross Platform
Webmontag München Cross Platform
 
Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4Bar Camp Auckland - Mongo DB Presentation BCA4
Bar Camp Auckland - Mongo DB Presentation BCA4
 
IronRuby for the Rubyist
IronRuby for the RubyistIronRuby for the Rubyist
IronRuby for the Rubyist
 
Node.js and Ruby
Node.js and RubyNode.js and Ruby
Node.js and Ruby
 

Plus de Bogdan Gaza

Weightlifting at SimplySocial
Weightlifting at SimplySocialWeightlifting at SimplySocial
Weightlifting at SimplySocialBogdan Gaza
 
Understanding and measuring web performance
Understanding and measuring web performanceUnderstanding and measuring web performance
Understanding and measuring web performanceBogdan Gaza
 
[CLIW] Web testing
[CLIW] Web testing[CLIW] Web testing
[CLIW] Web testingBogdan Gaza
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files OptimizationBogdan Gaza
 
De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?Bogdan Gaza
 
NoSQL in the context of Social Web
NoSQL in the context of Social WebNoSQL in the context of Social Web
NoSQL in the context of Social WebBogdan Gaza
 

Plus de Bogdan Gaza (8)

Weightlifting at SimplySocial
Weightlifting at SimplySocialWeightlifting at SimplySocial
Weightlifting at SimplySocial
 
Understanding and measuring web performance
Understanding and measuring web performanceUnderstanding and measuring web performance
Understanding and measuring web performance
 
[CLIW] Web testing
[CLIW] Web testing[CLIW] Web testing
[CLIW] Web testing
 
[TW] Node.js
[TW] Node.js[TW] Node.js
[TW] Node.js
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files Optimization
 
Fosdem2011
Fosdem2011Fosdem2011
Fosdem2011
 
De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?De ce sa nu folosim Ruby On Rails?
De ce sa nu folosim Ruby On Rails?
 
NoSQL in the context of Social Web
NoSQL in the context of Social WebNoSQL in the context of Social Web
NoSQL in the context of Social Web
 

Dernier

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

The right way of doing data administration with RailsAdmin

  • 1. RailsAdmin The right way of doing data administration RubyAndRails 2010 Bogdan Gaza RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 2. $  whoami Student at Faculty of Computer Science, Iasi, Romania Freelance web developer RubySOC 2010 student bogdan.gaza@info.uaic.ro @hurrycane RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 3. Data administration is ________* SPEAK UP! * talking in the context of a web app RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 4. ...  the  way  you  organize  and  control  your  data RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 5. Data administration means the admin panel. RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 6. HOW? Both  simple,  secure  and  fast RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 7. Most people write custom admin panels. prone  to  errors definitely  NOT  fast not  very  simple RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 8. Other use CMSs usually  secure NOT  fast simple  but  not  flexible RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 9. The Rails way of doing it using a plugin engine. usually  secure fast simple RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 10. And the choices are: RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 11. lipsiaAdmin ExtJS | permissions | Rails 2.x www.lipsiadmin.com RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 12. ActiveScaffold Embed-able | Third-Party-Plugins | Rails 2.x http://www.activescaffold.com/ RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 13. Hobo WebAppBuilder | Permissions | Rails 3.x http://hobocentral.net/ RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 14. Introducing RailsAdmin http://github.com/sferik/rails_admin/ RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 15. RubySOC  2010  Project mentors Erik Michaels-Ober, Yehuda Katz, Rodrigo Rosenfeld Rosas, Luke van der Hoeven and Rein Henrichs. RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 16. Began  as  Erik’s  MerbAdmin   and  then  got  ported  to   Rails  3 RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 17. RailsAdmin  is  a  Rails  Engine RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 18. Basic Engines controllers require 'rails_admin/abstract_model' module RailsAdmin   class ApplicationController < ::ApplicationController   end end RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 19. Basic Engines models module RailsAdmin   class History < ActiveRecord::Base   end end RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 20. Basic Engines routes Rails.application.routes.draw do     # Routes for rails_admin controller     controller "main" do       match "/", :to => :index, :as => "dashboard"       match "/:model_name", :to => :list, :as => "list"       ...     end end For more info checkout the mountable apps RubySOC project. RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 21. RailsAdmin } C Create new R Show U Easily Update Your  Data D Safely Delete Automatic form validation Authentication (using Devise) Multi-column-search Use Action History (per row) RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 22. RailsAdmin  -­‐  simple  to  install Add in your Gemfile gem 'devise' # Devise must be required before RailsAdmin gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git' Run $ bundle update Also run: $ rails generate rails_admin:install_admin RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 23. With  Rails  3.1  Rails  Admin  will  be   mountable.  (Thanks  to  Piotr!) RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 24. Rails.application.routes.draw do mount Admin::Engine => "/admin" end RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 25. DEMO RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 26. Rails  3.1  and  RailsAdmin  1.0  around  the end  of  the  year. RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 27. e? Do vi s hav es it De e au nee hy the ntic d to W QA atio n? Con figur ns atio i ssio n? Perm RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 28. Configuration DSL experimental Thanks to kappa (Petteri Kääpä)! http://gist.github.com/638153 RubyAndRails 2010 @hurrycane Thursday, October 21, 2010
  • 29. Thanks! RubyAndRails 2010 @hurrycane Thursday, October 21, 2010