GeoServer Code Sprint 2016

== 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. 
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 ===
		
=== Silver Sponsors ===
=== Bronze Sponsors ===
		
=== In-Kind Sponsors ===
		
		
== 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	In-kind contributions are graciously accepted	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 ===
# Navigate to the OSGeo website
# Click on the "Donate" button in the top right corner
# 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
# 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:
* GeoServer Code Sprint 2016 Budget
* TLDR: Looking to raise $6000 CAD ($4500 USD) to assist with overseas travel expenses
== 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:
* https://github.com/geoserver/geoserver/wiki/Wicket-migration-code-sprint
* module/package spreadsheet
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
Category:Code Sprints
Category:Java Tribe Code Sprint