GeoServer Code Sprint 2016

From OSGeo Wiki
Jump to: navigation, search

Purpose

The GeoServer web administration console is built on top of the Wicket 1.4.x series, which is pretty old and unmaintaned. The purpose of the sprint is to update it to Wicket 7.x, the current stable version.

Upgrade from Wicket 1.3 to Wicket 7

Due to the large distance between the two releases and the number of backwards incompatible changes accumulated by Wicket in the years this will require the concerted effort of a handful of developers over a few days, including the changes to upgrade the code, and the thorough hand testing of the resulting modified interface.

Sponsors

We would like to extend our thanks to the following sponsors:

Gold Sponsors

OSGeo logo 750 317.png Boundless Logo.png Vivid Logo.png

Silver Sponsors

How2map logo.png

Bronze Sponsors

Geoserver sprint sjwc.png Transient-banner.png Logo geobeyond.jpg


In-Kind Sponsors

Scitus logo.png Geosolutions logo.png CCRi Logo.png
AstunLogo.png Voyager-logo.png

Organizers

  • Jody Garnett - Boundless
  • Andrea Aime - GeoSolutions

Venue and dates

The code sprint will be held in Victoria BC to minimize travel costs. Boundless has offered to provide a venue (either the Boundless Victoria offices or a local technology centre).

The date is tentatively set for the week of January 18th.

This date is selected towards of the GeoServer 2.9 release cycle prior to the code freeze in February, keeping resource availability in mind.

Accommodation and costs

Participants should plan the travel, accommodation and meals.

  • Depending on sponsorship level guests to Victoria will be hosted at or billeted with local community.
  • At the time of writing accommodation for four guests is available (thanks to Jody Garnett and Martin Davis).

We hope to raise enough financial support to cover overseas travel, and possibly meals.

Sponsorship

We have the following sponsorship levels:

Gold $1000 CAD $720 USD €656 EUR
Silver $500 CAD $360 USD €328 EUR
Bronze $250 CAD $180 USD €164 EUR
Beer In-kind contributions are graciously accepted

Contributions will be put towards travel costs for overseas sprinters who would be otherwise unable to attend. Any surplus at the end of the event will be turned over to OSGeo or used for a future code sprint. We have set-up the sprint to minimize travel and accommodation costs.

Sponsors will receive the following honors:

  • Your logo at the top of this page
  • Mention in all of our public communication, including GeoServer 2.9 release announcement
  • Our gratitude :)

For more information on sponsorship, please contact Jody Garnett, Andrea Amie or the OSGeo Treasurer.

How to Sponsor

  1. Navigate to the OSGeo website
  2. Click on the "Donate" button in the top right corner
  3. Donations are handled through PayPal, when making the donation be sure to:
    • Check the currency (USD rates are provided above)
    • Use the "Add special instructions to the seller" field on the confirmation page to mention the event (example "GeoServer code sprint sponsorship")
    • To make alternative arrangements contact OSGeo Treasurer
  4. The OSGeo Treasurer will contact both you and the event organizers to acknowledge your sponsorship
    • Please have a logo ready for your organization if you wish to be acknowledged publicly
    • Your event sponsorship, at your request, can contribute towards being recognized as an OSGeo sponsor

Sponsorship Outreach

We are reaching out to organizations to see if there is interest in sponsorship:

  • International organizations (OSGeo, Boundless, GeoSolutions);
  • Local organizations (BC Government, Refractions, Vivid Solutions)

If there is a lot of local sponsorship we expect to drag the developers away from the task at hand and meet the local community (at a social evening or similar).

OSGeo Funding Request

The following information is requested by OSGeo Board Code_Sprint_Guidelines:

Participation

Participants Attending Victoria Code-Sprint
# Participant Country Availability Accommodation Capacity Notes
1 Andrea Aime Italy Monday-Thursday TBD Dev -
2 Jody Garnett - Monday-Friday - Dev limited experience with wicket.
3 Kevin Smith - Monday-Friday - Dev -
4 Torben Barsballe - Monday-Friday - Dev Some experienced with Javascript and wicket.
5 Justin Deoliveira - Monday-Tuesday TBD Dev -
6 Mike Pumphrey USA Monday-Friday Parkside Docs GeoServer documentation maintainer performing final checks & screenshots.
7 Devon Tucker - Monday-Friday - Dev Some experienced with JavaScript and wicket.
8 Niels Charlier Belgium - TBD Dev Experienced with wicket.
9 Jim Hughes USA Monday-Friday TBD Test/Dev Now can attend full sprint
10 Martin Davis - Wednesday - Test Available for testing (has oracle development environment)

If you cannot attend in person you may still be in position to update screens or assist with testing a nightly build overnight. Close collaboration for manual testing will require use of IRC/Skype/Hangout as appropriate for the parties involved.

Participants helping out Remotely
# Participant Country Communication Time Zone Notes
1 Ian Turton United Kingdom Hangout/Skype/Email UTC Hapless volunteer
2 Ben Caradoc-Davies New Zealand Email/Skype/Hangout UTC+13 Moral support and build nanny
3 Gabriel Roldán Argentina Email/Hangout Experienced with wicket
4 Jukka Rahkonen Finland Email/Skype Test nightly builds on Windows
5 Brad Hards Australia Email/Skype UTC + 11 Dev, some test. Uneven availability.

Sprint

The schedule has been broken down by day to help plan activities for those with limited availability. If you can stop by for an afternoon to help with testing, or volunteer online to test a nightly build, please let the team know.

In scope:

  • Use of Java 8 syntax to reduce wicket boiler plate code
  • Mike Pumphrey will be on hand to update user guide as each screen is completes manual testing

Out of scope:

  • Changing the codebase to use a different library (the effort would be at least an order of magnitude bigger)
  • Improve the behavior of the current UI (we can make improvements at the end, once everything works, if time remains)

Event suggestions:

  • Spinnakers Brew Pub: Locally sourced food, BC wines, and beer brewed on-site. 308 Catherine Street
  • Hoyne Brewing Co.: Craft beer brewed here: the Bitter, Pilsner, Lager and Dark Matter are outstanding. 101-2740 Bridge Street
  • Swans Brew Pub: Casual pub food and beer brewed on-site: Pilsner; Oatmeal Stout; Kolsch; IPA; Berry Ale. 506 Pandora Ave
  • Murchie's Coffee and Tea: Sandwiches, cakes, coffee and an extensive array of loose teas. Dine-in or take tea home as gifts. 1110 Government St
  • Orchard on View: Grab a sandwich and some fruit or cut veggies for lunch. 655 View Street
  • Silk Road Tea: Local tea and gifts - it's near Chinatown, so leave some time to explore the area. 1624 Government Street
  • Bengal Lounge: Curry buffet (reservations recommended) and cocktails in the famous Fairmont Empress Hotel. 721 Government Street
  • Board Game Cafe: Hang out, browse or buy a selection of 800 board games, and pay $5 to play as many as you want in the cafe. 723 Yates St.

Preflight

Sprint tasks on the GeoServer wiki:

Andrea has done the bulk changes - and good news you can start from eclipse! Bad news 200 compile errors.

Please: Review the above wiki page and the documentation links provided prior to the start of the sprint.

Monday 18 Jan

Activities:

  • change wicket Dependency
  • wicket 7 bootcamp / migration guide
  • migrate to wicket 7

Tuesday 19 Jan

  • migrate to wicket 7
  • migration/testing: workspace configuration screens
  • migration/testing: datastore configuration screens
    • oracle: martin

Wednesday 20 Jan

  • migration/testing: global configuration screens
  • migration/testing: service configuration screens (jody/volunteer)
  • migration/testing: layer configuration screens
    • vector:
    • raster:
    • image mosaic:

availability: martin

Thursday 21 Jan

  • migration/testing: tile cache configuration screens (kevin/volunteer)
  • migration/testing: security configuration screens
  • migration/testing: demos

Friday 22 Jan

  • manual testing: demos
  • manual testing: extensions
  • manual testing: select community modules