Ruby on Rails

Total Page:16

File Type:pdf, Size:1020Kb

Ruby on Rails Ruby on Rails Mitchell Craig; Tam Nguyen; Becker Luu; Eliezer Mar Manarang; and Colin Williams University of Calgary SENG 403 Dr. Kremer Abstract—The proceeding document describes the Ruby on web applications. Thousands of web applications around the Rails web application framework. A history is provided, along world have been developed using Ruby on Rails with some with the founding Philosophies and Priciples, Technical Infor- notable examples such as Twitter, Yellow Pages, Github and mation, Notable Applications and a comparison to competitors. A short tutorial is provided as an example. Hulu. Today, the Rails framework is supported by the Rails core team consisting of a dozen members who have been given the keys to the source repository as well as more I. INTRODUCTION than 2,100 contributors to the project. The framework is Ruby on Rails [1] (often referred to as Rails or RoR) supported by a vibrant ecosystem which includes various is an open source web application development framework choices in hosting, tools, editors, conferences, workshops that is written in the Ruby [2] programming language. The and consultants. Ruby on Rails framework is designed to make programming web applications easier by making assumptions on what the III. PHILOSOPHIES AND PRINCIPLES developer requires to get started on their applications. Ruby There are three primary philosophies or principles[4] be- on Rails is a development tool which assists developers in hind Ruby on Rails: Convention over Configuration (CoC), building websites and applications because it abstracts and Dont Repeat Yourself (DRY) and Representational State simplifies the commonly used and repetitive tasks. What this Transfer (REST). means is that the programmers only have to write new code The first key principle is Convention over Configuration. in areas where their application differs from the standard The Rails framework is designed with conventions that tell conventions. Using Ruby on Rails, the programmers are able you how you should structure your code, how to name your to write less code while producing more output than with classes and files and how to organize your databases and other development frameworks. Highlighted in this report tables. The framework makes large assumptions about what is an overview of the philosophies and principles behind you want to do and how you want to do it so that you dont Ruby on Rails, an in-depth look at the technical aspects need to explicitly specify it. The benefit of having these of the framework as well as comparisons to other similar conventions is that it simplifies and reduces the amount technologies. Finally, the report includes a tutorial on getting of code that you actually need to write when developing setup with the Ruby on Rails framework and getting started your web application. What this means when developing is with developing a simple web application. that only the unconventional aspects of the program need to be written. This allows for better productivity and high II. HISTORY OF RUBY ON RAILS efficiency since the repetitive or common tasks are already Ruby on Rails was created in 2003 by David Heinemeier automatically completed for you. Of course, there is the Hansson. Hansson developed the original framework for option to ignore these conventions and structure the code to Rails while he was working on Ruby-based projects for your own preferences but this means that more unnecessary 37signals[3], a web application company. Rails was ex- work is being done. This principle makes Ruby on Rails a tracted from some of Hanssons work on Basecamp, a project bit of an opinionated framework[5] and is largely a reason management tool developed by 37signals. why the framework is named Ruby on Rails. If you decide to Rails was first released publicly released in July 2004 as follow the conventions that have been set out, you will enjoy an open source project. The project had reached a milestone the benefits of using Rails for developing your applications. in 2006 when Apple announced that Ruby on Rails would If you dont conform to the style that the framework was be bundled together with Mac OS X v10.5 Leopard which built on, it may not work well for you. later released in 2007. The second key principle is DRY which stands for Dont The Rails framework is based on established principles Repeat Yourself. This principle suggests that writing the that had been proven successful elsewhere and is focused on same code over and over again is a bad thing. The main practicality which is the reason behind why it has become idea behind the DRY principle is that it promotes the reuse so successful. With the release of Ruby on Rails, Ruby has of code as often as possible rather than duplicating and risen to become a prominent alternative for other classic rewriting similar code in multiple places. Ruby on Rails languages such as PHP and Java for developing websites and follows the DRY principle to help in maintaining clean code and reducing the chance of errors in the code. Having DRY reliable code. Less work and code is required from the code in your program means that changes only need to be developers which results in higher productivity. made at one location rather having to revise changes in all different locations. If an error were to occur, it would be IV. TECHNICAL INFORMATION a lot more traceable and easier to detect the root cause of This section describes Ruby on Rails[7] basic technical the error. Rails is designed with and provides libraries that information: the structure on how it works, classes that are assist in writing DRY code. needed for development, and the framework that it supplies The last principle of Ruby on Rails is REST or Repre- aiding the web application development. Also, some tools sentational State Transfer[6]. This is not one of the primary for deployment of the application is tackled briefly. The in- philosophies of Ruby on Rails but in recent years, the formation stated here are mainly learned/cited from sources Rails community has moved towards following the RESTful [8], [9], and [10] for the system architecture/information and architecture. Unlike the other philosophies of Rails, it is not development tools, and [11] contains the recommended tools a requirement for the application to follow a REST design. for deployment. It is encouraged that developers follow the REST design and the framework provides tools that make it easier to do so. A. Introduction REST is a pattern for making web applications which Ruby on Rails is a development framework for developing organizes the application around resources and standard a web application. Rails offers libraries for development HTTP verbs. With REST, there are three key ideas. The ranging from the user interface up to managing the data and first is proper identification of resources, the second is the processing it. This is why Rails is called a full-stack web manipulation of the resources and the last is to have self- application development framework - usable to create all descriptive messages that are easy to interpret. Resources functionality of a working web application.The availability are often the core model objects in the program. The main of the different libraries and given the founding philosophies idea behind the RESTful design is to identify and manipulate of Rails, which is the basis of a Rails project default con- resources using a standard convention that is self-descriptive. figuration, are giving Rails the ability to automatically link As an example, the following HTTP request, DELETE different aspects and classes of a created project resulting /photos/17 can be easily understood as referencing a photo for the developers ease of use of the system. Though the resource with an ID number of 17. The standard HTTP drawback of following a default configuration for the Rails verb being used in this case is the delete functionality. The framework is that it offers little flexibility on configuration purpose behind using REST in Ruby on Rails is to provide management and design for the developer. The basic features a simplified design pattern that is clear and straightforward. that Ruby on Rails provides for the application development This can be especially helpful if the application being are: [10] developed is an open source project. Following a common pattern like REST for all applications using Rails means that • HTML [12] templating (which involves the view com- all developers will have a good understanding of the coding ponent of the application). style and practices. • Database storage/retrieval (involves the model classes The philosophies and principles of Ruby on Rails are very in the application). closely related within the framework. They all aim towards • User Web browser requests and response (involves the simplifying and making the process of developing web appli- controller classes in the application). cations as simple as possible. Convention over Configuration • HTML form handling. focuses on making the development process straightforward B. Directory Structure and increasing productivity by abstracting the common and repetitive tasks so that the developer only needs to be focus When creating a project on Rails, Rails creates a prede- on the new aspects to be implemented rather than having to fined directory structure to contain the files needed for the worry about the unnecessary conventional aspects. The DRY project to work. Below are the directory names that could philosophy focuses on having to write code only once and be seen in a Rails project, and a brief description of each: reusing it as much possible when that particular functionality [10] is needed. Once again, this increases productivity since it app reduces the amount of code that needs to be written.
Recommended publications
  • Puppet Dashboard 1.2 Manual
    Puppet Dashboard Manual (Generated on July 01, 2013, from git revision 46784ac1656bd7b57fcfb51d0865ec7ff65533d9) Puppet Dashboard 1.2 Manual This is the manual for Puppet Dashboard 1.2. Overview Puppet Dashboard is a web interface for Puppet. It can view and analyze Puppet reports, assign Puppet classes and parameters to nodes, and view inventory data and backed-up file contents. Chapters Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Installing Puppet Dashboard This is a chapter of the Puppet Dashboard 1.2 manual. NAVIGATION Installing Dashboard Upgrading Dashboard Configuring Dashboard Maintaining Dashboard Using Dashboard Rake API Overview Puppet Dashboard is a Ruby on Rails web app that interfaces with Puppet. It will run on most modern Unix-like OSes (including Mac OS X and most Linux distributions), requires a certain amount of supporting infrastructure, and can be deployed and served in a variety of ways. Dashboardʼs web interface supports the following browsers: Chrome (current versions) Firefox 3.5 and higher Puppet Dashboard Manual • Puppet Dashboard 1.2 Manual 2/27 Safari 4 and higher Internet Explorer 8 and higher Installing, in Summary In outline, the steps to get Dashboard running are: Installing the external dependencies Installing the Dashboard code Configuring Dashboard Creating and configuring a MySQL database Testing that Dashboard is working Configuring Puppet Starting the delayed job worker processes Running Dashboard in a production-quality server After completing these tasks, Dashboardʼs main functionality will be on-line and working smoothly. You can then configure Dashboard further and enable optional features If you are trying to upgrade Puppet Dashboard instead of installing it from scratch, see the chapter of this manual on upgrading instead of reading further in this chapter.
    [Show full text]
  • Interfacing Apache HTTP Server 2.4 with External Applications
    Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick November 6, 2012 Who am I? Interfacing Apache HTTP Server 2.4 with External Applications Met Unix (in the form of Xenix) in 1985 Jeff Trawick Joined IBM in 1990 to work on network software for mainframes Moved to a different organization in 2000 to work on Apache httpd Later spent about 4 years at Sun/Oracle Got tired of being tired of being an employee of too-huge corporation so formed my own too-small company Currently working part-time, coding on other projects, and taking classes Overview Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Huge problem space, so simplify Perspective: \General purpose" web servers, not minimal application containers which implement HTTP \Applications:" Code that runs dynamically on the server during request processing to process input and generate output Possible web server interactions Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Native code plugin modules (uhh, assuming server is native code) Non-native code + language interpreter inside server (Lua, Perl, etc.) Arbitrary processes on the other side of a standard wire protocol like HTTP (proxy), CGI, FastCGI, etc. (Java and \all of the above") or private protocol Some hybrid such as mod fcgid mod fcgid as example hybrid Interfacing Apache HTTP Server 2.4 with External Applications Jeff Trawick Supports applications which implement a standard wire protocol, no restriction on implementation mechanism Has extensive support for managing the application[+interpreter] processes so that the management of the application processes is well-integrated with the web server Contrast with mod proxy fcgi (pure FastCGI, no process management) or mod php (no processes/threads other than those of web server).
    [Show full text]
  • Integrating Openshift Enterprise with Identity Management (Idm) in Red Hat Enterprise Linux
    Integrating OpenShift Enterprise with Identity Management (IdM) in Red Hat Enterprise Linux OpenShift Enterprise 2.2 IdM in Red Hat Enterprise Linux 7 Windows Server 2012 - Active Directory Integration Mark Heslin Principal Systems Engineer Version 1.1 January 2015 1801 Varsity Drive™ Raleigh NC 27606-2072 USA Phone: +1 919 754 3700 Phone: 888 733 4281 Fax: +1 919 754 3701 PO Box 13588 Research Triangle Park NC 27709 USA Linux is a registered trademark of Linus Torvalds. Red Hat, Red Hat Enterprise Linux and the Red Hat "Shadowman" logo are registered trademarks of Red Hat, Inc. in the United States and other countries. Microsoft and Windows are U.S. registered trademarks of Microsoft Corporation. UNIX is a registered trademark of The Open Group. Intel, the Intel logo and Xeon are registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. All other trademarks referenced herein are the property of their respective owners. © 2014 by Red Hat, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). The information contained herein is subject to change without notice. Red Hat, Inc. shall not be liable for technical or editorial errors or omissions contained herein. Distribution of modified versions of this document is prohibited without the explicit permission of Red Hat Inc. Distribution of this work or derivative of this work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from Red Hat Inc.
    [Show full text]
  • Questions for Mongrel
    www.YoYoBrain.com - Accelerators for Memory and Learning Questions for Mongrel Category: Introduction - (16 questions) Mongrel is described in what way in the "A web application container for Ruby on Mongrel pdf available from O Reilly Rails" Mongrel is compared with what web servers production performance: Fast CGI or SCGI in the Rails world in terms of production performance and development Development: WEBrick simplicity/speed Creator of Mongrel Zed A Shawwww.zedshaw.com Mongrel is developed on what mixture of Ruby and C programming/scripting languages Documentation for Mongrel mongrel.rubyforge.org/docs/index.html The creators of Mongrel describe it how? a fast HTTP library and server for Ruby that is intended for hosting Ruby web applications of any kind using plain HTTP rather than FastCGI or SCGI. It is framework agnostic Three key technologies that are used for A custom HTTP 1.1 parser (based on RFC Mongrel's internals standard, written using Ragel in C and Java as a Rby extension) Simple server that uses the parser and URIClassifier to process requests, find the right handlers, then pass the results to the handler for processing Handlers are responsible for using HttpRequet and HttpResponse objects to "do their thing and then return results" Component of Mongrel responsible for Handlers dealing with HttpRequest and HttpResponse How does Mongrel support threading one thread per request, but it will start closing connections when it gets "overloaded"while Mongrel is processing HTTP requests and sending responses it uses Ruby's threading system What platforms that already work with Camping and Og+Nitro Mongrel are throught to be "thread-safe" Have not been heavily tested Is Ruby on Rails thread safe? no How does Mongrel handle Rails" " Ruby on Rails is not thread safe so there is a synchronized block around the calls to Dispatcher.dispatch.
    [Show full text]
  • Ruby on Rails Matt Dees All Trademarks Used Herein Are the Sole Property of Their Respective Owners
    Ruby on Rails Matt Dees All trademarks used herein are the sole property of their respective owners. Introduction How Ruby on Rails Works cPanel's interaction with Ruby on Rails Administrating Ruby on Rails Troubleshooting Ruby on Rails What is Ruby on Rails? A Web Application Framework aimed towards the rapid development and deployment of Dynamic Web 2.0 Applications Interpreted Programming Language Web Applications are done through either Rails or as a straight CGI application Every part of the Ruby on Rails system is dependent on ruby working correctly Gems Gems are Ruby modules Either compiled or interpreted Ruby code Gems can be full applications or libraries for Ruby programs Managed by the “gem” command Rails Rails is a framework for creating Ruby applications and provides several different pieces of functionality Rails exists for multiple programming languages Is a gem Consists of several gems used for handling different functions Different versions of this exist, each application requires a specific version Rails Continued Action Record – Rapid development library for building daemon independent database queries Action Pack – An implementation of Model View Controller for Ruby. Action Mailer – An Email Handler Webserver – Usually webrick, however we use mongrel Mongrel Mongrel is the Web Server used for serving Ruby on Rails applications One instance per Ruby application Other daemons exist, but mongrel has the best security and performance record Is a gem Runs applications on port 12001 and up on cPanel Uses a significant amount
    [Show full text]
  • Insight: Semantic Provenance and Analysis Platform for Multi-Center Neurology Healthcare Research
    INSIGHT: SEMANTIC PROVENANCE AND ANALYSIS PLATFORM FOR MULTI-CENTER NEUROLOGY HEALTHCARE RESEARCH by PRIYA RAMESH Submitted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Department of Electrical Engineering and Computer Science CASE WESTERN RESERVE UNIVERSITY January, 2016 ii CASE WESTERN RESERVE UNIVERSITY SCHOOL OF GRADUATE STUDIES We hereby approve the thesis of PRIYA RAMESH candidate for the Master of Science degree*. (signed) Dr. Satya S. Sahoo, Ph.D. (Chair of the committee) Dr. Kenneth A. Loparo, Ph.D. Dr. Martha Sajatovic, MD. (date) November 5th, 2015 *We also certify that written approval has been obtained for any proprietary material contained therein. iii Copyright © Priya Ramesh January, 2016 All rights reserved. iv TABLE OF CONTENTS TABLE OF CONTENTS iv LIST OF FIGURES vi LIST OF TABLES vii ACKNOWLEDGEMENT viii CHAPTER 1. INTRODUCTION 10 CHAPTER 2. BACKGROUND 13 2.1 Managing Epilepsy Well Network 13 2.1.1 Introduction 13 2.1.2 MEW database workgroup 16 2.1.3 MEW Network survey results 17 2.1.4 A common terminology for epilepsy self-management 19 2.1.5 Standardization of data elements 20 2.1.6 Data curation workflow for MEW Network datasets 21 2.1.7 MEW Network database design and functionality 26 2.2 Research Studies 27 CHAPTER 3. METHODS 30 3.1. Semantic Integration Module using MEW Common Data Elements (CDEs) 33 3.2. Data Exploration and Query Module 34 3.3. Ontology-based Inference Module 36 CHAPTER 4. INSIGHT SOFTWARE DEVELOPMENT 38 4.1 Objective 38 4.2 Agile Methodology 39 4.3 User Interface Development 41 CHAPTER 5.
    [Show full text]
  • Vasili Korol
    Vasili Korol Senior Software Developer Odense, Denmark Age: 35 mob.: +45 20 68 50 23 Married, have son (born 2010) e-mail: [email protected] ​ Personal Statement ⚬ Strong IT skills (16+ years of versatile experience) ⚬ Background in physics research ⚬ Work effectively both as team member and leader ⚬ Enthusiastic and committed ⚬ Spoken languages: Russian (native), English (fluent), Danish (Prøve i Dansk 3 / level B2) ​ ​ ​ ​ Education 2006–2008: Master’s degree (with distinction) in applied physics. ​ 2002–2006: Bachelor’s degree (with distinction) in applied physics. Under- to postgraduate student at St. Petersburg State Polytechnical University, Faculty of Physics and Technology, Dept. of Cosmic Physics. The thesis “Search for possible space-time variations of the fine-structure constant and isotopic shifts” (a supervisor Prof. ​ M.G. Kozlov). ​ 1992-2002: School education in St. Petersburg, Russia and Belfast, UK (in 1993). Professional Career 2015 – Feb 2021: Software developer in the QuantBio research group at the University of ​ ​ ​ ​ Southern Denmark (SDU), Institute of Physics, Chemistry and Pharmacy (HPC section). I am the principal developer of VIKING, a service providing a web interface for configuring ​ ​ ​ and running scientific computational tasks on supercomputers. I designed the software architecture, developed the system core and coordinated the work of several developers. 2014 – 2015: Lead programmer (Perl) at Internet Projects LLC, russian informational portals subscribe.ru and sendsay.ru (St. Petersburg, Russia). ​ ​ ​ Worked with a team of developers on projects targeted at developing an API for news aggregation and content processing services. This involved integration with various online platforms (Facebook, Twitter, Vkontakte, LiveJournal, Google Analytics), web scraping and designing instruments for user publications at the portals and beyond.
    [Show full text]
  • Enterprise Integration with Ruby a Pragmatic Guide
    Enterprise Integration with Ruby A Pragmatic Guide Maik Schmidt The Pragmatic Bookshelf Raleigh, North Carolina Dallas, Texas P r a g m a t i c B o o k s h e l f Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and The Pragmatic Programmers, LLC was aware of a trademark claim, the designations have been printed in initial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer, Pragmatic Programming, Pragmatic Bookshelf and the linking g device are trademarks of The Pragmatic Programmers, LLC. Every precaution was taken in the preparation of this book. However, the publisher assumes no responsibility for errors or omissions, or for damages that may result from the use of information (including program listings) contained herein. Our Pragmatic courses, workshops, and other products can help you and your team create better software and have more fun. For more information, as well as the latest Pragmatic titles, please visit us at http://www.pragmaticprogrammer.com Copyright © 2006 The Pragmatic Programmers LLC. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmit- ted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. Printed in the United States of America. ISBN 0-9766940-6-9 Printed on acid-free paper with 85% recycled, 30% post-consumer content. First printing, March 2006 Version: 2006-5-4 Für meine Eltern.
    [Show full text]
  • Ruby on Rails™ Tutorial: Learn Web Developments with Rails
    ptg8286261 www.it-ebooks.info Praise for Michael Hartl’s Books and Videos on Ruby on RailsTM ‘‘My former company (CD Baby) was one of the first to loudly switch to Ruby on ptg8286261 Rails, and then even more loudly switch back to PHP (Google me to read about the drama). This book by Michael Hartl came so highly recommended that I had to try it, and the Ruby on RailsTM Tutorial is what I used to switch back to Rails again.’’ —From the Foreword by Derek Sivers (sivers.org) Formerly: Founder, CD Baby Currently: Founder, Thoughts Ltd. ‘‘Michael Hartl’s Rails Tutorial book is the #1 (and only, in my opinion) place to start when it comes to books about learning Rails. It’s an amazing piece of work and, unusually, walks you through building a Rails app from start to finish with testing. If you want to read just one book and feel like a Rails master by the end of it, pick the Ruby on RailsTM Tutorial.’’ —Peter Cooper Editor, Ruby Inside www.it-ebooks.info ‘‘Grounded in the real world.’’ —I Programmer (www.i-programmer.info), by Ian Elliot ‘‘The book gives you the theory and practice, while the videos focus on showing you in person how its done. Highly recommended combo.’’ —Antonio Cangiano, Software Engineer, IBM ‘‘The author is clearly an expert at the Ruby language and the Rails framework, but more than that, he is a working software engineer who introduces best practices throughout the text.’’ —Greg Charles, Senior Software Developer, Fairway Technologies ‘‘Overall, these video tutorials should be a great resource for anyone new to Rails.’’ —Michael Morin, ruby.about.com ‘‘Hands-down, I would recommend this book to anyone wanting to get into Ruby on Rails development.’’ —Michael Crump, Microsoft MVP ptg8286261 www.it-ebooks.info RUBY ON RAILSTM TUTORIAL Second Edition ptg8286261 www.it-ebooks.info Visit informit.com/ruby for a complete list of available products.
    [Show full text]
  • James Reynolds What Is a Ruby on Rails Why Is It So Cool Major Rails Features Web Framework
    Ruby On Rails James Reynolds What is a Ruby on Rails Why is it so cool Major Rails features Web framework Code and tools for web development A webapp skeleton Developers plug in their unique code Platforms Windows Mac OS X Linux Installation Mac OS X 10.5 will include Rails Mac OS X 10.4 includes Ruby Most people reinstall it anyway From scratch Drag and drop Locomotive Databases Mysql Oracle SQLite Firebird PostgreSQL SQL Server DB2 more Webservers Apache w/ FastCGI or Mongrel LightTPD WEBrick "IDE's" TextMate and Terminal (preferred) RadRails jEdit Komodo Arachno Ruby Has "inspired" Grails CakePHP Trails PHP on TRAX Sails MonoRail Catalyst TrimPath Junction Pylons WASP ColdFusion on Wheels And perhaps more... Why is it so cool? Using the right tool for the job y = x^2 vs y = x^0.5 Right tool Rails is the most well thought-out web development framework I've ever used. And that's in a decade of doing web applications for a living. I've built my own frameworks, helped develop the Servlet API, and have created more than a few web servers from scratch. Nobody has done it like this before. James Duncan Davidson, Creator of Tomcat and Ant y = x ^ 2 vs y = x ^ 0.5 Features Features Work Work Typical Rare y = x ^ 2 vs y = x ^ 0.5 Feature ceiling Features Features Work Work This is a no-brainer... Ruby on Rails is a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have taken weeks or months to develop can be produced in a matter of days.
    [Show full text]
  • Configuration Management at the Los Alamos National Laboratory
    Mac Configuration Management at the Los Alamos National Laboratory By Allan Marcus April, 2010 Overview.....................................................................................................................................1 The Challenge ...........................................................................................................................2 Product Selection.....................................................................................................................3 Getting Started..........................................................................................................................7 Basic Implementation............................................................................................................8 Configuration Management .............................................................................................. 14 Advanced Implementation................................................................................................ 16 How LANL uses Puppet ....................................................................................................... 20 Lessons Learned ................................................................................................................... 24 About the Author .................................................................................................................. 29 Appendix 1: puppet.sh........................................................................................................ 30 Appendix
    [Show full text]
  • Version Control Graphical Interface for Open Ondemand
    VERSION CONTROL GRAPHICAL INTERFACE FOR OPEN ONDEMAND by HUAN CHEN Submitted in partial fulfillment of the requirements for the degree of Master of Science Department of Electrical Engineering and Computer Science CASE WESTERN RESERVE UNIVERSITY AUGUST 2018 CASE WESTERN RESERVE UNIVERSITY SCHOOL OF GRADUATE STUDIES We hereby approve the thesis/dissertation of Huan Chen candidate for the degree of Master of Science Committee Chair Chris Fietkiewicz Committee Member Christian Zorman Committee Member Roger Bielefeld Date of Defense June 27, 2018 TABLE OF CONTENTS Abstract CHAPTER 1: INTRODUCTION ............................................................................ 1 CHAPTER 2: METHODS ...................................................................................... 4 2.1 Installation for Environments and Open OnDemand .............................................. 4 2.1.1 Install SLURM ................................................................................................. 4 2.1.1.1 Create User .................................................................................... 4 2.1.1.2 Install and Configure Munge ........................................................... 5 2.1.1.3 Install and Configure SLURM ......................................................... 6 2.1.1.4 Enable Accounting ......................................................................... 7 2.1.2 Install Open OnDemand .................................................................................. 9 2.2 Git Version Control for Open OnDemand
    [Show full text]