Skip to content

GeoNode Code Sprint & Summit, 2015

Smjar edited this page Jun 16, 2022 · 70 revisions

Attend | Logistics | Agenda (Venice, DC) | Setup (Host, Guest) | Links

If you already have your host environment configured for GeoNode development, you can jump ahead to "guest" configuration for GeoNode here.

Google Hangouts

Overview

The 2015 GeoNode Code Sprint / Summit will take place from Monday, February 2, 2015 to Thursday, February 5, 2015. The event will take place concurrently in Venice Italy, Washington DC, and virtually. General information can be found at http://geonode.org/code_sprint_2015.html.

For DC, if you are new, we recommend you start attending on Tuesday.

For more information on the open source GeoNode project see http://geonode.org/.

Attend

If you'd like to attend, please add your name to the Google Doc at: https://docs.google.com/spreadsheets/d/1_xPMpyz7xo9ZsAxxsdfzppTLMLGzUR21gSjCIWZ__BI/edit#gid=0

Logistics

Venice

Logistics information for Venice is located at https://docs.google.com/document/d/1sPTv5rk_IelSWYcCP9acBuVyFCwKlYgmg02Hs7e4VaA/edit#heading=h.sy3i7dhcanwj.

DC

Code Sprint

From February 2 to February 4, the code sprint in DC will take place in the GSA building at corner of 18 St & F St NW, Washington, DC. Use the north entrance (on F St NW between 18th St NW and 19th St NW). We reserved conference room #3042.

On Tuesday, we'll collect visitors at the north entrance from 9am to 9:20am. If you are arriving at a different time, contact an organizer.

Note:

The REAL ID Act requires that Federal agencies accept only State issued drivers licenses and identification cards that are compliant with the Act as authorized forms of credentialing in order to enter Federal facilities.

Drivers Licenses from the following states and territories that are not compliant with the Act include: Alaska, American Samoa, Arizona, Louisiana, Maine, Massachusetts, Minnesota, New York, Oklahoma and Washington. The states of Minnesota, New York and Washington have two types of drivers licenses: an enhanced drivers license which is compliant with the Act, but not held by all residents, and non compliant licenses. Enhanced drivers licences from those states are acceptable.

If you are visiting 18F from the states whose licenses are non-compliant, alternate forms of identification acceptable to enter the buildings include:

  • U.S. Passport
  • U.S. Passport Card
  • U.S. Department of Defense CAC
  • U.S. Federal agency HSPD-12 compliant ID cards
  • U.S. Veterans ID
  • U.S. Military Dependent’s ID Card
  • U.S. Trusted Traveler Card – Global Entry, SENTRI, or NEXUS
  • U.S. Transportation Workers Identification Credential (TWIC)
  • State issued Real ID Compliant Driver’s Licenses and Identification Cards*

Summit

On February 5, the summit will take place at a metro-accessible location in the DC downtown area. That exact location is still to be determined.

Agenda

The locations in Venice Italy and Washington DC will have different agendas. Venice is 6 hours ahead (10am in DC = 4pm in Venice). We'll try to synchronize activities as much as possible with a persistent Google Hangout. For both locations, the first 3 days of the event will be a code sprint. The last day will be the summit. Below is information on the general agenda and then specific information for Venice and DC.

General

On February 2, we will mostly be sprinting for the next release of GeoNode (2.4). We'd like to get a release candidate out for 2.4 on Wednesday. This day will mostly be triage, bug fixes, documentation, and other feature requests for the 2.4 release.

February 3 will be an open day for coding, hacking, and discussion.

On February 4, we will get a release candidate for 2.4 pushed and as time allows focus on the future 2.5 release.

February 5 will be the summit day and will be primarily discussion. Each participant will have the opportunity to discuss their interests in GeoNode. The GeoNode community will discuss pending GNIPs and the future of GeoNode.

There is a Google calendar for synchronizing activities among the multiple locations. It is accessible at https://www.google.com/calendar/embed?src=sc2chbiav2q4u6nv8a9sdrre4k%40group.calendar.google.com&dates=20150202%2F20150205.

Venice Agenda

Placeholder for specific activities, socials, etc.

DC Agenda

On February 2, we will mostly be sprinting hard for the next release of GeoNode (2.4). If you are new, we recommend you start attending on February 3.

On February 3, we will kick off at 9:30am at room 4250. At 10:30/11am, we'll go to room 3042 for the rest of the day. For the morning, core devs will be available to help new users get their development environments set up, pull services into other systems (ArcMap, AGOL, TileMill, Leaflet, etc.), and break out into teams. At 2pm, we'll have a CKAN Workshop. During the CKAN Workshop, someone will walk us through the CKAN codebase (https://github.com/ckan/ckan), how to submit issues, and how to integrate with GeoNode.

On February 4, we will aim to sync up with Venice and get a release candidate for 2.4 pushed by 2pm. After 2.4 RC1 is released, we'll have time to work on the future 2.5 release. After Hours will be at GeoDC, the local tech/GIS meetup. See: http://www.meetup.com/Geo-DC/events/215042332/.

February 5 will be the summit day and will be held in a different location. Everyone is welcome to attend. We'll be discussing specific proposals to enhance GeoNode and the future of the platforms. We'd also like to here from new community members on their thoughts and plans for GeoNode.

Setup

Below are instructions for setting up new development environments for GeoNode and CKAN. You'll first need to install VirtualBox, Vagrant, and Git. After Vagrant is installed, you'll need to add "boxes" for precise64 and trusty64. If they are already installed you can jump forward. Below are setup instructions for Ubuntu, Mac OSX, and Windows 7. Since we'll be using virtual machines, any of those operations system for the "host" are fine.

You'll first need to setup your main/host environment on your laptop. Then, you'll set up GeoNode on your virtual machine ("guest").

Host Setup

Ubuntu

Run the following script to install the latest versions of VirtualBox, Vagrant, and Git.

sudo apt-get update
sudo apt-get install -y virtualbox
sudo apt-get install -y vagrant
sudo apt-get install -y virtualbox-dkms
sudo apt-get install -y git

Mac OSX and Windows 7

Use the binaries found at the following locations. Follow normal installation procedures.

For Git you can install the command line interface (CLI) tools directly or the GitHub for Windows/Mac application.

Download Boxes

Now that VirtualBox and Vagrant are installed, you need to add boxes to use.

If you have local copies of the box files, you can use the following.

vagrant box add precise64 /.../.../precise-server-cloudimg-amd64-vagrant-disk1.box
vagrant box add trusty64 /.../.../trusty-server-cloudimg-amd64-vagrant-disk1.box
#For CKAN Development, you'll need centos-6.5
vagrant box add chef/centos-6.5 /.../.../centos-6.5-virtualbox.box

Otherwise, download the boxes from their remote sources.

vagrant box add precise64 https://cloud-images.ubuntu.com/vagrant/precise/current/precise-server-cloudimg-amd64-vagrant-disk1.box
vagrant box add trusty64 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box
#For CKAN Development, you'll need centos-6.5
vagrant box add chef/centos-6.5 https://vagrantcloud.com/chef/boxes/centos-6.5/versions/1.0.0/providers/virtualbox.box

Configure Workspace

First, fork GeoNode into your personal GitHub account. Then, clone a local copy into your workspace (~/workspaces/geonodecodesprint2015/). Fork/clone other projects as needed.

cd ~/workspaces/geonodecodesprint2015/
git clone https://github.com/[username]/geonode.git geonode.git
#Clone other repos as needed into your workspace
#git clone https://github.com/[username]/ckan.git ckan.git

Configure Vagrant

Create a vagrant folder and initialize for Ubuntu 14.04 LTS ("trusty64").

cd ~/vagrant/geonode/
vagrant init trusty64

Edit the new Vagrantfile at ~/vagrant/geonode/Vagrantfile. First, forward ports 8000 and 8080 with the following:

config.vm.network :forwarded_port, guest: 8000, host: 8000
config.vm.network :forwarded_port, guest: 8080, host: 8080

Then, share your local git repo of GeoNode into the virtual machine with:

config.vm.synced_folder "~/workspaces/geonodecodesprint2015/geonode.git", "/home/vagrant/geonode"

You may also want to share local build files, such as GeoServer binaries, so you don't have to download from a remote location on every reset.

config.vm.synced_folder "~/build", "/home/vagrant/build"

You can further customize the cpus and memory in the virtual machine as needed. See https://docs.vagrantup.com/v2/virtualbox/configuration.html.

Guest Setup

We'll now setup the virtual machine ("guest") for GeoNode or CKAN development. You'll share your git repo from your host into your guest machine.

GeoNode

The latest master branch of GeoNode can run on Ubuntu 14.04 LTS, Mac OSX, Windows 7 / Server 2008 R2, CentOS, and openSUSE. Ubuntu 12.04 LTS should work, but may require some unique installation steps. We'd strongly recommend using Ubuntu 14.04 LTS (trusty64) as the guest operating system when fixing bugs or developing new features. Generally speaking, only use other operating systems for compatibility testing.

More development environment instructions can be found in the README at https://github.com/geonode/geonode.

Next, launch your virtual machine and ssh into it with:

cd ~/vagrant/geonode
vagrant up
vagrant ssh

Stop your virtual machine if needed with:

cd ~/vagrant/geonode
vagrant halt

Once inside the virtual machine, become root with sudo su -. Then, run the following commands to install the CyberGIS Scripts (https://github.com/state-hiu/cybergis-scripts).

apt-get update
apt-get install -y curl vim git
cd /opt
git clone https://github.com/state-hiu/cybergis-scripts.git cybergis-scripts.git
cp cybergis-scripts.git/profile/cybergis-scripts.sh /etc/profile.d/

Exit and then log back in (exit and vagrant ssh). Then run the environment initialization script. This script will handle all installation of the os and pypi dependencies. It will also configure the venv.

cybergis-script-env.sh geonode install

You're now ready to go. If you have a local build of geoserver.war and jetty.jar, you can run:

cybergis-script-env.sh geonode reset 'file:///home/vagrant/build/geoserver/geoserver.war' 'file:///home/vagrant/build/geoserver/jetty-runner-8.1.8.v20121106.jar'

Otherwise, run the following command to deploy GeoNode.

cybergis-script-env.sh geonode reset

You can log into GeoNode at http://localhost:8000. The default admin username:password is admin:admin. Whenever you make model, fixture, or other major changes in your local GeoNode git repo, rebuild with the same command (cybergis-script-env.sh geonode reset).

If rebuilding takes a long time, consider increasing your virtual machines execution cap.

CKAN

Follow the instructions at http://docs.ckan.org/en/latest/maintaining/installing/install-from-source.html to set up a CKAN development Environment

Links

Below are some relevant links:

GeoNode

CKAN

GeoSHAPE / ROGUE-JCTD

CyberGIS

Humanitarian Data Exchange (HDX)

18F

Clone this wiki locally