RegenCHOICE → [[ch:UIX:]] ====== A candidate for an enquiry (page) ====== Wireframe: [[https://www.simongrant.org/RegenCHOICE/userinterface/candidate.html|Candidate]] The results from the [[show results]] page have been entered as candidates, and this is the one chosen to look at just at present. The candidates are specific to each [[ch:t:enquiry]]. ---- ===== Enquirer perspective ===== I examine the corresponding information of an uncontacted [[ch:t:candidate]], to decide whether or not to request contact with them. I am examining the exact nature of the [[ch:t:fit]]: which includes questions and answers on each side. This gives a better idea of what we are both looking for, as the basis for my decision whether or not to move towards contact. ---- ===== Sequence ===== ==== Pages that lead here ==== * [[Candidates]] * [[Forming enquiry]] ==== Enquirer actions and destinations ==== * if [[ch:fields:ContactStatus]] == BLOCKED * Button to unblock → reload page ⇒ NOTINVITED * link to consider/reconsider → [[my answer]] to one of their questions * if [[ch:fields:ContactStatus]] == INVITINGME * Button → [[Contact]] ⇒ CONNECTED * if [[ch:fields:ContactStatus]] == NOTINVITED or INVITINGME * Button to block contact → reload page ⇒ BLOCKED * if [[ch:fields:ContactStatus]] == NOTINVITED * Button to invite to contact → reload page ⇒ INVITEDBYME * if [[ch:fields:ContactStatus]] == INVITEDBYME * Button to withdraw invitation → reload page ⇒ NOTINVITED * if [[ch:fields:PropCount]]>1 link to [[Their answer]] page * do nothing, link back to → [[Candidates]] page for this enquiry * do nothing, link back to → [[Forming enquiry]] page ---- ===== Information ===== This page needs * [[ch:ia:Candidate-info]]rmation * [[ch:ia:Enquiry-info]]rmation ==== Information and processing needed to set up the page ==== It would be ideal, when this page is invoked, to recheck whether the enquiries mutually fit. We want to avoid lag: if the correspondent has changed their enquiry so that it no longer fits, we don't want to be able to invite them. If the enquiries still fit, update the information held about the candidate; if not, then the candidate is deleted and the enquirer returns to the [[Candidates]] page. * as keys: [[ch:fields:CanNum]] and [[ch:fields:EnqID]] * [[ch:fields:ContactStatus]] * If the candidate is already a contact, redirect to the [[Contact]] page * [[ch:fields:EnqName]] enquiry name * [[ch:fields:CanRegDate]] * [[ch:fields:CanDate]] * for each question [[ch:fields:QID]] asked by [[ch:t:enquirer]]: * the question title [[ch:fields:QTitle]] * their answer: [[ch:fields:CanAVal]]→[[ch:fields:CanAns]]; [[ch:fields:CanADate]] * if a property Q, [[ch:fields:PropCount]] = how many answers they gave to this question * for each question [[ch:fields:QID]] asked by [[ch:t:respondent]] on their fitting enquiry: * the question title [[ch:fields:QTitle]] * my answer: [[ch:fields:MyAns]] ==== Information input and stored/passed on ==== The only information changing from this page is ContactStatus * If enquirer blocks, then ContactStatus: UNINVITED or INVITINGME → BLOCKED * If enquirer withdraws invitation, then ContactStatus: INVITEDBYME → UNINVITED * If enquirer unblocks, then ContactStatus: BLOCKED → UNINVITED or INVITINGME ---- ===== Implementation notes ===== It's important to process whether this chooser is already a contact (from any enquiry). If so, this page should be redirected to the chooser's [[Contact]] page. If contact has been requested and accepted, the other chooser becomes one of the [[Contacts]]. ---- ===== Commentary ===== There is quite a lot more that could be displayed here. The challenge is to provide the optimum quantity. Don't worry about whether or not this chooser also corresponds to other enquiries. It will be uncommon in any case, but it will be revealed in the [[Contacts]] page. TODO: need to split answers between Property and Relational questions ---- === see also === === backlinks === {{backlinks>.}}