The purpose here is to start a discussion and engage some design thinking about how to automate more of the process of creating and administrating a Challenge on Synapse.

Right now, running a challenge requires a lot of manual steps that involve interacting with the REST API which means an engineer has to be in the loop. Chris (aka me) has written some nice convenience layers in Python, but that still requires a user comfortable on the command line. The goal is to get more challenge related functionality in the hands of the challenge organizers.

This page is more about requirements gathering than design or implementation. Not all of this is necessarily practical, but it's here to get ideas from the whole team.


Create Challenge object:

A button/wizard to turn a project into a challenge. Some functionality this might entail:

Wikis

Challenge organizers need staging areas to collaborate on wikis prior before pushing changes to a live wiki.

Registration

Challenges often have a preregistration phase where people can sign up for more information. Then participants register, apply for access to data in some arbitrary way and once they're approved they are added to a group that grants data access privileges.

Create Evaluation queues

Manage evaluation queues

Scoring

Ideas that are really far-out and wacky