SlideShare a Scribd company logo
1 of 17
CM Web Application
Andrew McGarry
Summer Intern
Division
781-734-4234
andrew.mcgarry@linquest.com
LinQuest Proprietary Information
Overview of Presentation
 Overview of My Project
 Version Control Concepts
 Servers
 Web Applications
 Django Web Framework
 Linux and Bash Scripting
 Virtual Machines
 Improvements
 Resources I Used
7/9/2015 1LinQuest Proprietary Information
About My Project
 Design and Develop a Web Application
 Should be intuitive
 Set Up and Implement a CM Server
 Utilize Bash Scripts to Process Requests
 Query CM server for project information
 Check out desired project
 Build indicated project
 Notify the user when tasks are completed
 Learning Experience
 Introduce to the Linux operating system
 Set up a web server, CM server
 Learn to script in Bash
 Design and develop a web site from the ground up
7/9/2015 2LinQuest Proprietary Information
Version Control Concepts
 Greater Control of Development
 Makes it easy to keep track of incremental progress
 Allows project to revert to any stage in its development
 How Changes are Stored
 “Snapshots”
 “Deltas”
 Branching and Merging
 Multiple people can work on same project simultaneously
 Branches can be merged into main line
 Can result in conflicts
 Must be solved through human interaction!
 Tagging
 Label particular set of versions as belonging together
7/9/2015 3LinQuest Proprietary Information
Servers
 Applications which provide content over a network
 CM Servers
 Web Servers
 FTP Servers
 SVNServe
 Fully capable server packaged with Subversion
 No web browsing capability
 Apache
 Free, open source, multi-purpose server
 Initial setup can be arduous
 Robust security
 Django Development Server
 Not for production purposes
 Comes with Django Web Framework
7/9/2015 4LinQuest Proprietary Information
Web Applications
 Separation of Capabilities
 In the beginning, everything was mashed together
 Languages have divided responsibilities
 HTML = Content
 CSS = Presentation
 Javascript = Behavior
 HTML
 The “backbone” of a website
 Provides the raw materials
 CSS
 Controls layout of the web page
 Font styles, colors, line breaks, etc.
 Javascript
 Decides how elements interact to user input
 Ex. Drop-down menues, buttons, pointer clicks…
7/9/2015 5LinQuest Proprietary Information
Django Web Framework
 Python Application
 Intended to facilitate rapid web development
 Origins in a Midwest newspaper company
 Enforces Separation of Capabilities
 Models interact with server-side databases
 Views are responsible for data processing
 Forms are extensions, more or less
 Generate templates, handle HTTP requests
 Templates = presentation
 Written in HTML
 Plug in CSS references, Javascript, etc.
 Basically the typical web site
 Servers
 Comes with development server
 Upload to Apache once finished
7/9/2015 6LinQuest Proprietary Information
Urls.py
HTTP Request
Views
Template
Form
Template Template
Form
Model
Database
Request
Request
Linux (Fedora 17)
 Open Source Operating System
 Open to public through GNU general public license
 Can sell new distributions as long as distribution is open source
 Hmmm…no tech support?
 Online community is HUGE
 Distributions
 Approximately 350 recorded distributions
 Fedora 17
 Maintained an updated by open community
 Best features are included in Red Hat distributions
 Look out! Updates are frequent and hefty.
7/9/2015 7LinQuest Proprietary Information
7/9/2015 8LinQuest Proprietary Information
Bash Scripting
 Shells
 Act as fronts for the operating system
 Accept commands from user, passes to kernel
 Ex. Windows Explorer
 Contains the desktop, start menu, task bar, file browser.
 Bash
 Type of shell made for Linux
 Provides a command prompt for the user
 Bash Scripting
 Commands saved in a file make a script
 Contains many basic programming functions
 Control flow loops/statements
 Arithmetic operators
 Assignment operators
 Boolean expressions
7/9/2015 9LinQuest Proprietary Information
Virtual Machines
 Also known as VM’s
 Definition
 A completely isolated guest operating system installed within a host operating system
 Ex. Fedora running in Windows
 Hardware Virtualization /Software Emulation
 Software techniques to overcome differences in hardware/software
 Can be extremely difficult, and sacrifices performance
 Separate from host OS all the while…
7/9/2015 10LinQuest Proprietary Information
VirtualBox
 VM Application for Windows
 Inserts itself below the kernel to intercept
requests from the guest OS
 Monitors guest OS to prevent damage
 Completely isolated from host OS
 How it Works (Basically)
 XML settings file
 Runs guest OS off of disk image
 All hard disk requests from guest go to disk
image
 Everything stored in a directory in host
OS
 Routing HTTP requests was
tricky
7/9/2015 11LinQuest Proprietary Information
7/9/2015 LinQuest Proprietary Information 12
LinQuest Network
10.5.1.7
192.168.56.1
Windows
VirtualBox
Server in VM
IP: 10.0.2.15*
Host IP
VirtualBox
Interface
NAT
7/9/2015 LinQuest Proprietary Information 13
And now, a demonstration…
Improvements
 Run project at user level, not root
 Transfer it to an Apache server
 Summary field needs fixing
 No instruction field
7/9/2015 14LinQuest Proprietary Information
Online Resources
 Linux Documentation and Guides:
 https://www.linux.com/learn/new-user-guides
 http://oreilly.com/openbook/linag2/book/index.html
 Fedora Documentation:
 http://docs.fedoraproject.org/en-US/index.html
 Subversion Guides:
 http://svnbook.red-bean.com/
 http://www.technical-recipes.com/2011/how-to-set-up-a-linux-based-subversion-svn-server/
 Makefile Tutorial:
 http://www.cprogramming.com/tutorial/makefiles.html
 Bash Scripting:
 http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html
 http://mywiki.wooledge.org/BashGuide
 VirtualBox Documentation:
 https://www.virtualbox.org/manual/UserManual.html
7/9/2015 15LinQuest Proprietary Information
Online Resources Con’t
 Django Web Framework Documentation:
 https://docs.djangoproject.com/en/1.4/
 Web Development:
 http://www.w3schools.com/html/html_forms.asp
 http://code.google.com/edu/ajax/index.html
 Python Documentation:
 http://docs.python.org/index.html
7/9/2015 16LinQuest Proprietary Information

More Related Content

What's hot

Component Based Development
Component Based DevelopmentComponent Based Development
Component Based DevelopmentBen McCormick
 
Silver Light
Silver LightSilver Light
Silver Lightgourav
 
MSDN Live: Silverlight 2
MSDN Live: Silverlight 2MSDN Live: Silverlight 2
MSDN Live: Silverlight 2goeran
 
CiviCRM 5.0 for Non-Techies
CiviCRM 5.0 for Non-TechiesCiviCRM 5.0 for Non-Techies
CiviCRM 5.0 for Non-Techiestonymazz
 
Silverlight difference faqs-1
Silverlight  difference faqs-1Silverlight  difference faqs-1
Silverlight difference faqs-1Umar Ali
 
Blast Mojo Overview
Blast Mojo OverviewBlast Mojo Overview
Blast Mojo Overviewloyalchow
 
Standardization in W3C
Standardization in W3CStandardization in W3C
Standardization in W3CJonathan Jeon
 
Basic fundamentals of web application development
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application developmentsofyjohnson18
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItVenketash (Pat) Ramadass
 
Architecting WPF Applications
Architecting WPF ApplicationsArchitecting WPF Applications
Architecting WPF ApplicationsPaul Stovell
 
Silverlight Framework Architecture By Satyen
Silverlight Framework Architecture By SatyenSilverlight Framework Architecture By Satyen
Silverlight Framework Architecture By SatyenSatyen Pandya
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver lightjayc8586
 
A Beginner's Guide to Popular CMSs
A Beginner's Guide to Popular CMSsA Beginner's Guide to Popular CMSs
A Beginner's Guide to Popular CMSsStuMitchellmw
 
How to install Civicrm in Drupal 7
How to install Civicrm in Drupal 7How to install Civicrm in Drupal 7
How to install Civicrm in Drupal 7Zabisco Digital
 

What's hot (20)

Component Based Development
Component Based DevelopmentComponent Based Development
Component Based Development
 
Silver Light
Silver LightSilver Light
Silver Light
 
MSDN Live: Silverlight 2
MSDN Live: Silverlight 2MSDN Live: Silverlight 2
MSDN Live: Silverlight 2
 
Iis implementation
Iis implementationIis implementation
Iis implementation
 
CiviCRM 5.0 for Non-Techies
CiviCRM 5.0 for Non-TechiesCiviCRM 5.0 for Non-Techies
CiviCRM 5.0 for Non-Techies
 
Php Web Frameworks
Php Web FrameworksPhp Web Frameworks
Php Web Frameworks
 
Silverlight difference faqs-1
Silverlight  difference faqs-1Silverlight  difference faqs-1
Silverlight difference faqs-1
 
A First Look At Drupal
A First Look At DrupalA First Look At Drupal
A First Look At Drupal
 
Blast Mojo Overview
Blast Mojo OverviewBlast Mojo Overview
Blast Mojo Overview
 
Standardization in W3C
Standardization in W3CStandardization in W3C
Standardization in W3C
 
Basic fundamentals of web application development
Basic fundamentals of web application developmentBasic fundamentals of web application development
Basic fundamentals of web application development
 
Silverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use ItSilverlight - What Is It And How Can We Use It
Silverlight - What Is It And How Can We Use It
 
Drupal and HTML5: Playing Well Together
Drupal and HTML5: Playing Well TogetherDrupal and HTML5: Playing Well Together
Drupal and HTML5: Playing Well Together
 
XCC Personalization
XCC PersonalizationXCC Personalization
XCC Personalization
 
Architecting WPF Applications
Architecting WPF ApplicationsArchitecting WPF Applications
Architecting WPF Applications
 
Silverlight Framework Architecture By Satyen
Silverlight Framework Architecture By SatyenSilverlight Framework Architecture By Satyen
Silverlight Framework Architecture By Satyen
 
Introduction to silver light
Introduction to silver lightIntroduction to silver light
Introduction to silver light
 
A Beginner's Guide to Popular CMSs
A Beginner's Guide to Popular CMSsA Beginner's Guide to Popular CMSs
A Beginner's Guide to Popular CMSs
 
How to install Civicrm in Drupal 7
How to install Civicrm in Drupal 7How to install Civicrm in Drupal 7
How to install Civicrm in Drupal 7
 
How backbone.js is different from ember.js?
How backbone.js is different from ember.js?How backbone.js is different from ember.js?
How backbone.js is different from ember.js?
 

Similar to CM Web Application Presentation

WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentRandy Connolly
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devsguest0a62e8
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web developmentMohammed Safwat
 
Mix Tech Ed Update No Video
Mix Tech Ed Update No VideoMix Tech Ed Update No Video
Mix Tech Ed Update No VideoAllyWick
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetAdil Mughal
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web ApplicationSachin Walvekar
 
HTTP and Website Architecture and Middleware
HTTP and Website Architecture and MiddlewareHTTP and Website Architecture and Middleware
HTTP and Website Architecture and MiddlewareAbdul Jalil Tamjid
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexMatthias Zeller
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Ido Flatow
 
Web hosting presentations by hostindia.net
Web hosting presentations by hostindia.netWeb hosting presentations by hostindia.net
Web hosting presentations by hostindia.netHostin Services Pvt Ltd
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightFrank La Vigne
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by SubodhSubodh Pushpak
 
Programming Server side with Sevlet
 Programming Server side with Sevlet  Programming Server side with Sevlet
Programming Server side with Sevlet backdoor
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves DrupalAcquia
 

Similar to CM Web Application Presentation (20)

WEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web DevelopmentWEB I - 01 - Introduction to Web Development
WEB I - 01 - Introduction to Web Development
 
A Microsoft primer for PHP devs
A Microsoft primer for PHP devsA Microsoft primer for PHP devs
A Microsoft primer for PHP devs
 
Introduction to web development
Introduction to web developmentIntroduction to web development
Introduction to web development
 
Mix Tech Ed Update No Video
Mix Tech Ed Update No VideoMix Tech Ed Update No Video
Mix Tech Ed Update No Video
 
DevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp NetDevNext - Web Programming Concepts Using Asp Net
DevNext - Web Programming Concepts Using Asp Net
 
Making Of PHP Based Web Application
Making Of PHP Based Web ApplicationMaking Of PHP Based Web Application
Making Of PHP Based Web Application
 
Food borne human diseases
Food borne human diseasesFood borne human diseases
Food borne human diseases
 
Techdays 2011 - Things I will remember
Techdays 2011 - Things I will rememberTechdays 2011 - Things I will remember
Techdays 2011 - Things I will remember
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
HTTP and Website Architecture and Middleware
HTTP and Website Architecture and MiddlewareHTTP and Website Architecture and Middleware
HTTP and Website Architecture and Middleware
 
Silverlight 3.0
Silverlight 3.0Silverlight 3.0
Silverlight 3.0
 
Developing RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe FlexDeveloping RIAs... 10 reasons to use Adobe Flex
Developing RIAs... 10 reasons to use Adobe Flex
 
Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6Learning ASP.NET 5 and MVC 6
Learning ASP.NET 5 and MVC 6
 
Web hosting presentations by hostindia.net
Web hosting presentations by hostindia.netWeb hosting presentations by hostindia.net
Web hosting presentations by hostindia.net
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
Silver Light for every one by Subodh
Silver Light for every one by SubodhSilver Light for every one by Subodh
Silver Light for every one by Subodh
 
Programming Server side with Sevlet
 Programming Server side with Sevlet  Programming Server side with Sevlet
Programming Server side with Sevlet
 
Lamp Zend Security
Lamp Zend SecurityLamp Zend Security
Lamp Zend Security
 
INLS461_day14a.ppt
INLS461_day14a.pptINLS461_day14a.ppt
INLS461_day14a.ppt
 
Windows Loves Drupal
Windows Loves DrupalWindows Loves Drupal
Windows Loves Drupal
 

CM Web Application Presentation

  • 1. CM Web Application Andrew McGarry Summer Intern Division 781-734-4234 andrew.mcgarry@linquest.com LinQuest Proprietary Information
  • 2. Overview of Presentation  Overview of My Project  Version Control Concepts  Servers  Web Applications  Django Web Framework  Linux and Bash Scripting  Virtual Machines  Improvements  Resources I Used 7/9/2015 1LinQuest Proprietary Information
  • 3. About My Project  Design and Develop a Web Application  Should be intuitive  Set Up and Implement a CM Server  Utilize Bash Scripts to Process Requests  Query CM server for project information  Check out desired project  Build indicated project  Notify the user when tasks are completed  Learning Experience  Introduce to the Linux operating system  Set up a web server, CM server  Learn to script in Bash  Design and develop a web site from the ground up 7/9/2015 2LinQuest Proprietary Information
  • 4. Version Control Concepts  Greater Control of Development  Makes it easy to keep track of incremental progress  Allows project to revert to any stage in its development  How Changes are Stored  “Snapshots”  “Deltas”  Branching and Merging  Multiple people can work on same project simultaneously  Branches can be merged into main line  Can result in conflicts  Must be solved through human interaction!  Tagging  Label particular set of versions as belonging together 7/9/2015 3LinQuest Proprietary Information
  • 5. Servers  Applications which provide content over a network  CM Servers  Web Servers  FTP Servers  SVNServe  Fully capable server packaged with Subversion  No web browsing capability  Apache  Free, open source, multi-purpose server  Initial setup can be arduous  Robust security  Django Development Server  Not for production purposes  Comes with Django Web Framework 7/9/2015 4LinQuest Proprietary Information
  • 6. Web Applications  Separation of Capabilities  In the beginning, everything was mashed together  Languages have divided responsibilities  HTML = Content  CSS = Presentation  Javascript = Behavior  HTML  The “backbone” of a website  Provides the raw materials  CSS  Controls layout of the web page  Font styles, colors, line breaks, etc.  Javascript  Decides how elements interact to user input  Ex. Drop-down menues, buttons, pointer clicks… 7/9/2015 5LinQuest Proprietary Information
  • 7. Django Web Framework  Python Application  Intended to facilitate rapid web development  Origins in a Midwest newspaper company  Enforces Separation of Capabilities  Models interact with server-side databases  Views are responsible for data processing  Forms are extensions, more or less  Generate templates, handle HTTP requests  Templates = presentation  Written in HTML  Plug in CSS references, Javascript, etc.  Basically the typical web site  Servers  Comes with development server  Upload to Apache once finished 7/9/2015 6LinQuest Proprietary Information Urls.py HTTP Request Views Template Form Template Template Form Model Database Request Request
  • 8. Linux (Fedora 17)  Open Source Operating System  Open to public through GNU general public license  Can sell new distributions as long as distribution is open source  Hmmm…no tech support?  Online community is HUGE  Distributions  Approximately 350 recorded distributions  Fedora 17  Maintained an updated by open community  Best features are included in Red Hat distributions  Look out! Updates are frequent and hefty. 7/9/2015 7LinQuest Proprietary Information
  • 10. Bash Scripting  Shells  Act as fronts for the operating system  Accept commands from user, passes to kernel  Ex. Windows Explorer  Contains the desktop, start menu, task bar, file browser.  Bash  Type of shell made for Linux  Provides a command prompt for the user  Bash Scripting  Commands saved in a file make a script  Contains many basic programming functions  Control flow loops/statements  Arithmetic operators  Assignment operators  Boolean expressions 7/9/2015 9LinQuest Proprietary Information
  • 11. Virtual Machines  Also known as VM’s  Definition  A completely isolated guest operating system installed within a host operating system  Ex. Fedora running in Windows  Hardware Virtualization /Software Emulation  Software techniques to overcome differences in hardware/software  Can be extremely difficult, and sacrifices performance  Separate from host OS all the while… 7/9/2015 10LinQuest Proprietary Information
  • 12. VirtualBox  VM Application for Windows  Inserts itself below the kernel to intercept requests from the guest OS  Monitors guest OS to prevent damage  Completely isolated from host OS  How it Works (Basically)  XML settings file  Runs guest OS off of disk image  All hard disk requests from guest go to disk image  Everything stored in a directory in host OS  Routing HTTP requests was tricky 7/9/2015 11LinQuest Proprietary Information
  • 13. 7/9/2015 LinQuest Proprietary Information 12 LinQuest Network 10.5.1.7 192.168.56.1 Windows VirtualBox Server in VM IP: 10.0.2.15* Host IP VirtualBox Interface NAT
  • 14. 7/9/2015 LinQuest Proprietary Information 13 And now, a demonstration…
  • 15. Improvements  Run project at user level, not root  Transfer it to an Apache server  Summary field needs fixing  No instruction field 7/9/2015 14LinQuest Proprietary Information
  • 16. Online Resources  Linux Documentation and Guides:  https://www.linux.com/learn/new-user-guides  http://oreilly.com/openbook/linag2/book/index.html  Fedora Documentation:  http://docs.fedoraproject.org/en-US/index.html  Subversion Guides:  http://svnbook.red-bean.com/  http://www.technical-recipes.com/2011/how-to-set-up-a-linux-based-subversion-svn-server/  Makefile Tutorial:  http://www.cprogramming.com/tutorial/makefiles.html  Bash Scripting:  http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html  http://mywiki.wooledge.org/BashGuide  VirtualBox Documentation:  https://www.virtualbox.org/manual/UserManual.html 7/9/2015 15LinQuest Proprietary Information
  • 17. Online Resources Con’t  Django Web Framework Documentation:  https://docs.djangoproject.com/en/1.4/  Web Development:  http://www.w3schools.com/html/html_forms.asp  http://code.google.com/edu/ajax/index.html  Python Documentation:  http://docs.python.org/index.html 7/9/2015 16LinQuest Proprietary Information