cm web application presentation

17
CM Web Application Andrew McGarry Summer Intern Division 781-734-4234 [email protected] LinQuest Proprietary Information

Upload: andrew-mcgarry

Post on 16-Apr-2017

152 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CM Web Application Presentation

CM Web ApplicationAndrew McGarry

Summer InternDivision

[email protected]

LinQuest Proprietary Information

Page 2: CM Web Application Presentation

05/03/2023 2LinQuest 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

Page 3: CM Web Application Presentation

05/03/2023 3LinQuest 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

Page 4: CM Web Application Presentation

05/03/2023 4LinQuest 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

Page 5: CM Web Application Presentation

05/03/2023 5LinQuest 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

Page 6: CM Web Application Presentation

05/03/2023 6LinQuest 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…

Page 7: CM Web Application Presentation

05/03/2023 7LinQuest 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

Urls.py

HTTP Request

ViewsTemplate

Form

Template Template

Form

Model

Database

Request

Request

Page 8: CM Web Application Presentation

05/03/2023 8LinQuest Proprietary Information

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.

Page 9: CM Web Application Presentation

05/03/2023 9LinQuest Proprietary Information

Page 10: CM Web Application Presentation

05/03/2023 10LinQuest 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

Page 11: CM Web Application Presentation

05/03/2023 11LinQuest 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…

Page 12: CM Web Application Presentation

05/03/2023 12LinQuest 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

Page 13: CM Web Application Presentation

05/03/2023 LinQuest Proprietary Information 13

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

Page 14: CM Web Application Presentation

05/03/2023 LinQuest Proprietary Information 14

And now, a demonstration…

Page 15: CM Web Application Presentation

05/03/2023 15LinQuest Proprietary Information

Improvements

Run project at user level, not root Transfer it to an Apache server Summary field needs fixing No instruction field

Page 16: CM Web Application Presentation

05/03/2023 16LinQuest 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

Page 17: CM Web Application Presentation

05/03/2023 17LinQuest 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