40
Esri Open Source Projects on GitHub Johnny Björk

Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Esri Open Source

Projects on GitHubJohnny Björk

Page 2: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

GitHub

Page 3: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

What is GitHub?

Little Background

• Cloud-based platform for building, collaborating and

managing open source projects

• Built on Git

• 11+ million projects

• 3.5+ million developers

Page 4: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

What is GitHub?

Little Background

• Cloud-based platform for building, collaborating and

managing open source projects

• Built on Git

• 11+ million projects

• 3.5+ million developers

Chris Wanstrath

DevSum

Page 5: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Why Git/GitHub?

• DVCS (Distributed Version Control System)

• Full copy distribution

• Branching, merging, issues, wiki

• Strong community

Page 6: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

GitHub and Open Source

• Freely

- Access

- Use

- Contribute

- Distribute

A

GitHub is a vehicle; a very popular one.

Page 7: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

GitHub Components

• GitHub.com (in the cloud)

- Search, watch, star, notifications, issues, wiki, gist

- Dashboards - activity, repos, contributions…

- User accounts

- Organization

• GitHub Clients

- GitHub for Mac or Windows

- Git – command-line

Page 8: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

What can you publish?

• Typical

- Code

- Documents

- Slide presentations

- Website content

- GeoJSON

• Other

- City data

- Travel logs

- Music

- Recipes

- Blogs/Campaigns

- Legal docs

- Government…

Page 9: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

github.com

Page 10: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Esri Open Source Projects

Page 11: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Esri Organization

github.com/esri

Page 12: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Esri Organization

esri.github.com

Page 13: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Esri Projects

Page 14: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Project Types

• Products

• Apps and Samples

• Templates and Frameworks

• Geo Tools

• Industry and Government

Page 15: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

ArcGIS Products

• arcgis-flex-viewer

• arcgis-flex-viewer-builder

• arcgis-osm-editor

• arcgis-dijit-geocoder-js

Page 16: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Apps and Samples

• quickstart-map-js

• maps-app-android

• sencha-touch-map-checkin-js

• driving-directions-ios

• arcgis-samples-winstore

Page 17: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Templates and Frameworks

• bootstrap-map-js

• basic-storytelling-template-js

• social-media-map-template-js

• 3d-cities-template

• spatial-framework-for-hadoop

Page 18: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Geo Tools

• esri-leaflet

• Terraformers

• geoportal-server

• gis-tools-for-hadoop

• geometry-api-java

• node-geoservices-adaptor/koop

• geoservices-js

Page 19: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Industry and Government

• my-government-services

• executive-dashboard

• park-and-recreation-finder

• citizen-service-request

Page 20: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Project Activity

• 450+ developers

• 140+ projects

Page 21: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

github.com/esri

esri.github.com

Page 22: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

GitHub Workflow

Getting Started

Upstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

3. Push 2. Clone5. Pull

Merge

Page 23: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Getting Started – Homework Assignment!

1. Create a GitHub.com account

2. Install a GitHub client (and Git)

- windows.github.com

- mac.github.com

Resources

• Doc, videos, ref - git-scm.com

• Top Git Commands - gitref.org

• Markdown - daringfireball.net/projects/markdown/syntax

• Tutorial - http://try.github.com

Page 24: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

help.github.com

Page 25: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

You will do one of the following:

1. Get (steal) Code

2. Contribute Code

3. Create a New Project

Page 26: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

GitHub Work-flow

1. Fork

2. Clone

--- Local commits ---

3. Pull/Merge

4. Push

5. Pull Request

Upstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

3. Push 2. Clone5. Pull

Merge

Page 27: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

The first thing

you’ll do…

Page 28: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Get Code

1. Fork: Cloud copy

2. Clone: Local copyUpstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

3. Push 2. Clone5. Pull

Merge

$ git clone https://github.com/alaframboise/quickstart-mapjs.git

Page 29: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Make Local Commits

• Add changes to the index

• Store local editsUpstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

3. Push 2. Clone5. Pull

Merge

$ git add * !$ git commit –m “These are my cool edits to code”

--- Local commits ---

Page 30: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Merge and Push Code

• Create remote connection

• Pull and merge edits

• Push to your cloud

$ git add remote upstream https://github.com/Esri/quickstart-map-js.git!$ git pull upstream master!$ git push origin master!

Upstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

3. Push 2. Clone5. Pull

Merge

Tip: Always merge before pushing

Page 31: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

The second thing

you’ll do…

Page 32: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Pull Request

• Request to accept

• Specify branch

• Ensure can merge

Upstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

3. Push 2. Clone5. Pull

Merge

Tip: Use web client!

Page 33: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

The third thing

you’ll do…

Page 34: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

New Project

• Create

• Publish

• Push

• Pull/Merge

$ git init (or create on GitHub and $git clone …)!$ git add *!$ git commit “My awesome project”!$ git push master

Upstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

Push2. ClonePull

Merge

Page 35: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

If you’re cool,

you’ll also…

Page 36: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Publish Documentation

• README.md

• Use gh-pages

• Use wiki

$ git checkout –b “gh-pages”!$ git push origin gh-pages!

Upstream/

MasterYour Fork

Your Clone

1. Fork

4. Pull Request

Push2. ClonePull

Merge

Page 37: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

README.md

• Description

• Features

• Instructions

• Requirements

• Resources

• Issues

• Contributing

• Licensing

Page 38: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Final Notes

• Get on GitHub!

• Check out the esri.github.com

• Find a project

• Follow a project

• Create a project

• Make a pull request

• Join the community

Page 39: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

esri.github.com

Page 40: Esri Open Source Projects on GitHub - Geoforum€¦ · What is GitHub? Little Background •Cloud-based platform for building, collaborating and managing open source projects •Built

Understanding our world