--- tags: Product --- # Call outs vs Challenge + Opportunity Lifecycle A key goal for Alkemio is to make it much easier for contributors to submit ideas to make progress on a Challenge. And then to manage these ideas through multiple stages. Key platform capabilities * States (stages) that an Opportunity can go through * Each Opportunity receiving its own lifecycle * Ability to attach authorizations / rules to the transitions between states TO DO * Look at Startup in Residence Amsterdam re phasing / information that is displayed * Do we need an additional privilege for who has the right to apply Notes * Push vs pull: users adding aspects freely is push; making a call out to the community is pull * Challenge = problem definition. Opportunity = solution idea. ## Requirements * Able to control the visibility of Opportunities submitted by a community * Able to control who is allowed to submit new opportunities * Able to define a timeline for application process * Able to define the set of information to be gathered as part of the initial submission of an Opportunity * Users able to see the Opportunities they have submitted that are not yet fully visible * Audit trail related to the states that an Opportunity has gone through ## Design It is worth keeping in mind that big parts of the above solution are core parts of the Alkemio design: * Lifecycle: the ability to define a set of states that a particular entity goes through, the rules that are attached to each particular transition from one state to another etc * This near term will be a fixed list of supported templates, that can be evolved by working with the Alkemio core team * Privilege to Read explicit to each user interacting with the platform * Note: in general attempting to read something that a user does not have access to results in an error. In this case we need to see how to handle visibility via privileges...todo. * Authorization based on credentials: so that users can approve / evolve Opportunities between states based on their holding specific credentials * Notifications: informing users that have submitted an Opportunity suggestion of updates related to their submission * ... ### Design notes The following will be needed for supporting the above requirements: * Multiple much more tangible lifecycle definitions, with documentation / supporting canvases * Holding preferences at the Challenge level for who is allowed to submit Opportunities * Associating a timeline with a Challenge * Controlling visibility of Opportunities based on the state / flag associated with a state * Allowing the Challenge to define the set of questions to be asked for all new Opportunity submissions?