Custom Form Builder #467
Replies: 6 comments 29 replies
-
Data ModelingHere's one possible approach to modeling this. I tried to take into account the context here and in the discussion in #388. Edit: Changed QuestionnaireThe Questionnaire model encapsulates a group of questions around a specific topic (e.g. lifestyle, housing situation, etc). It has a title and optional instructions defined by staff users that are displayed to adopter/fosterer users. Questionnaires have a many-to-many relationship with Organizations using the
QuestionThe Question model is similar to what was originally proposed. It has an Like Questionnaires, Questions also have a AnswerThe Answer model stores an answer to a question as provided by a User. I messed around a bit with
If we are having to map answers to Responses/AdopterAccounts/FostererAccounts I think there's more risk of ending up in a situation where we are missing FKs and leaving already answered questions out of certain profile types. ContinuityI read up on some of the discussion around how to deal with updating and removing questions. Personally, I would prefer to use soft deletes and gently warning staff users about changing the meaning of questions, but I do also understand that users may not always use the app the way we intend. Some well-placed frontend warnings can help mitigate people changing the meaning of questions, but there's also no harm in just having another field on the |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
-
Was looking at the Baja Pet Rescue adopter form - is it worth building in some "conditional" logic into questions? |
Beta Was this translation helpful? Give feedback.
-
I've put together some wireframes to illustrate the experience for staff managing forms and questions: A new section on the dashboard sidebar ("Forms") takes you to a page where you can see all Forms that exist for a given organization. The table indicates how a Form is used (Adopter profiles, Fosterer profiles, or both): Adding/editing a Form, including selecting the profiles to which the Form applies: Once a Form is created, it can be visited to see the Questions that exist in it: Adding a new Question: Changing a Question's type drives the options that are presented to the staff user. For example, changing to multiple choice allows the user to enter the choices presented to the end user: Once Questions are added, a separate page exists that allows the staff user to drag/drop and reorder the Questions within the Form: Similarly, Forms can be reordered within a profile type (adopter, fosterer): |
Beta Was this translation helpful? Give feedback.
-
I was thinking, maybe we should consider adding buttons as well as an alternative way to adjust sorting. One possible version would be an up and down button on each question to move the questions. I like the intuitiveness of click-and-drag, but I think another more accessible option would be an improvement. |
Beta Was this translation helpful? Give feedback.
-
Background:
Each organization needs to know information about new adopters and fosterers who register. Often, the questions between organizations will differ, so an organization needs to be able to define its own questions.
The two user types that are asked questions after creating an account are adopters and fosterers - the questionnaire for each may overlap, but also be different. A user can also be both an adopter and fosterer. The responses to these form(s) make up their AdopterFosterProfile that is used by staff.
Custom Form Builder:
Beta Was this translation helpful? Give feedback.
All reactions