Prepare the OnTopic data structure for the inclusion of forms by introducing the following features.
Explanation
The approach described below allows a /Forms root to be created which will be populated by FormPage topics. This will keep the forms in their current location, and allow them to be associated with their own Controller instance (the FormController). Each topic will map to an action on the FormController—e.g., a Trial topic will map to a Trial() action—thus allowing individualized composition of actions. Each FormPage should be configured with, at minimum, the Title, SubTitle, and Body of the form page so that GoldSim staff can edit them directly via OnTopic.
Content Type Descriptors
[x] FormContainer (Container) for housing form pages
[x] Only allow FormPage types to be created under FormContainer
[x] FormPage (Page) for representing form pages
[x] Only allow FollowUpPage and Email to be created under FormPage
[x] FollowUpPage (Page) for representing follow-up pages
[x] (?) Email (Page) for representing (tokenized) email markup
Topics
[x] /Forms (FormContainer)
[x] /Forms/{Form} (FormPage)
[x] /Forms/{Form}/{FollowUp} (FollowUpPage)
[x] (?) /Forms/{Form}/{Email} (Email)
FormPage Configuration
Ideally, the FormPage content type would allow the following to be specified:
[x] Follow-up page URL or topic
[x] Email receipt URL or topic
[x] Store results in OnTopic
[x] Send email receipt to GoldSim
Note: If the above are completed, then we may be able to do away with having a unique action for each form on the FormsController. At minimum, we'd be able to centralize the logic for all of them into a child action.
Prepare the OnTopic data structure for the inclusion of forms by introducing the following features.
Explanation
The approach described below allows a
/Forms
root to be created which will be populated byFormPage
topics. This will keep the forms in their current location, and allow them to be associated with their ownController
instance (theFormController
). Each topic will map to an action on theFormController
—e.g., aTrial
topic will map to aTrial()
action—thus allowing individualized composition of actions. EachFormPage
should be configured with, at minimum, theTitle
,SubTitle
, andBody
of the form page so that GoldSim staff can edit them directly via OnTopic.Content Type Descriptors
FormContainer
(Container
) for housing form pagesFormPage
types to be created underFormContainer
FormPage
(Page
) for representing form pagesFollowUpPage
andEmail
to be created underFormPage
FollowUpPage
(Page
) for representing follow-up pagesEmail
(Page
) for representing (tokenized) email markupTopics
/Forms
(FormContainer
)/Forms/{Form}
(FormPage
)/Forms/{Form}/{FollowUp}
(FollowUpPage
)/Forms/{Form}/{Email}
(Email
)FormPage
ConfigurationIdeally, the
FormPage
content type would allow the following to be specified: