-
Notifications
You must be signed in to change notification settings - Fork 1.1k
GeoNode Code Sprint & Summit, 2015
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.
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/.
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 information for Venice is located at https://docs.google.com/document/d/1sPTv5rk_IelSWYcCP9acBuVyFCwKlYgmg02Hs7e4VaA/edit#heading=h.sy3i7dhcanwj.
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*
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.
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.
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.
Placeholder for specific activities, socials, etc.
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.
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").
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
Use the binaries found at the following locations. Follow normal installation procedures.
- Install VirtualBox from https://www.virtualbox.org/wiki/Downloads
- Install Vagrant from http://www.vagrantup.com/downloads
For Git you can install the command line interface (CLI) tools directly or the GitHub for Windows/Mac application.
- Install Git CLI tools from http://git-scm.com/downloads
- Install GitHub for Windows (https://windows.github.com/)
- Install GitHub for Mac (https://mac.github.com/)
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
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
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.
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.
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.
Follow the instructions at http://docs.ckan.org/en/latest/maintaining/installing/install-from-source.html to set up a CKAN development Environment
Below are some relevant links:
- GeoNode Repo - https://github.com/geonode/geonode
- GeoNode Docs - https://geonode.readthedocs.org/en/master/
- GeoNode Users Google Group - https://groups.google.com/forum/#!forum/geonode-users
- GeoNode Dev Google Group - https://groups.google.com/a/boundlessgeo.com/forum/#!forum/geonode-dev
- GeoNode Open Bugs for 2.4 - https://github.com/geonode/geonode/issues?q=is%3Aopen+is%3Aissue+label%3Abug+milestone%3A2.4
- GeoNode CKAN-Integration Issues - https://github.com/geonode/geonode/issues?q=is%3Aopen+is%3Aissue+milestone%3A2.4+label%3Ackan-integration
- CKAN Repo - https://github.com/ckan/ckan
- CKAN / Install from Source - http://docs.ckan.org/en/943-writing-extensions-tutorial/install-from-source.html
- CKAN / Getting Started - http://docs.ckan.org/en/943-writing-extensions-tutorial/getting-started.html
- CKAN / Vagrant - https://github.com/alanswx/ckan-vagrant-geodatagov
- CKAN Spatial Extensions - https://github.com/18F/ckanext-spatial
- CKAN Data.JSON Extension - https://github.com/18F/ckanext-datajson
- GeoSHAPE - http://geoshape.org/
- GeoSHAPE Demo Server - http://geoserver2.rogue.lmnsolutions.com
- GeoSHAPE GitHub - https://github.com/ROGUE-JCTD/
- CyberGIS Guides - https://github.com/state-hiu/cybergis-guides
- CyberGIS Scripts - https://github.com/state-hiu/cybergis-scripts
- HDX Main Page - http://data.hdx.rwlabs.org/
- HDX GitHub - https://github.com/OCHA-DAP/
- HDX CKAN Repo - https://github.com/OCHA-DAP/hdx-ckan
- 18F - https://18f.gsa.gov/
- 18F GitHub - https://github.com/18f
- FISMA Ready Repos - https://github.com/fisma-ready