Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mini project] Forms 2.0 with data template #77

Open
jwflory opened this issue Mar 18, 2022 · 6 comments
Open

[mini project] Forms 2.0 with data template #77

jwflory opened this issue Mar 18, 2022 · 6 comments
Labels
C: design thinking Planning and creative thinking about design elements in new features or improvements T: new change Adds new capabilities or functionality

Comments

@jwflory
Copy link
Member

jwflory commented Mar 18, 2022

Note: This is a mini project intended for Outreachy May 2022 round applicants. This task is more advanced and will take more time to complete during the contribution period.

Summary

Devise a new way to dynamically create forms with different questions, response types, and config options from a YAML data template.

Background

Is the new feature related to a problem? Describe the problem: A basic contact form exists for the site already (see contact layout and rsvp layout). These forms must be created manually and customized question by question.

What does the new feature look like to you?: A better way to handle forms would be to create them dynamically from programmable data, without creating a new layout for each form.

Details

This task involves more scripting and understanding how data objects move through Hugo.

The proposal is to explore using Hugo data templates as a way to create scriptable forms. You could take these steps to approach this issue:

  1. Create a data structure for forms. Each object can consist of a string for a question, and then another data structure for different response types (e.g. yes or no, radio buttons, checkboxes, etc.).
  2. Explore third-party tools to use for building forms. Currently, we use Formspree.io but this may not be sufficient. There are other promising tools out there (see this Hugo discussion topic or KwesForms.
  3. Convert the last RSVP form (example here into a page using the data structure you created. Use the third-party tool chosen previously to build the form.
  4. Write documentation for how to create new forms through a Hugo data template.

You can also ask any questions to help clarify your understanding.

Outcome

  • Simplify creation of forms through a data template, without requiring changes to layout code
  • Gain a deeper understanding of data objects with Hugo
@jwflory jwflory added I: help wanted Extra attention is needed T: new change Adds new capabilities or functionality C: design thinking Planning and creative thinking about design elements in new features or improvements labels Mar 18, 2022
@reeshipaul
Copy link

@jwflory @Idadelveloper I want to take up this issue to record my contribution for Outreachy! Please assign this issue to me!

@yaya-usman
Copy link

@jwflory I am also interested in this issue, can I get assigned?

@barchakuz
Copy link

@jwflory , if this issue is still open then please assign it to me. thanks

@jwflory
Copy link
Member Author

jwflory commented Mar 30, 2022

@reeshi-18 You can lead on this one 💪🏻 I'll assign it to you. Do you feel like you have the information you need to move forward? Do you have any clarifying questions? Let me know how I can help you to be successful in starting. The first major milestone we want to work towards is a mockup or wireframe of the proposed design for the new forms.

@yaya-usman @barcha47 Thanks both for your interest, but it is best if you can go through the three onboarding issues first (#59, #60, #61). Then you will be closer to making a first contribution 😀 Alternatively, we also have a lot of interest in our project this round and it will be very competitive. Other Outreachy communities may be looking for more applicants to their projects too.

@jwflory jwflory removed the I: help wanted Extra attention is needed label Mar 30, 2022
@reeshipaul
Copy link

@jwflory are the designs available or should I start working on the wireframes? Please let me know :)

@jwflory
Copy link
Member Author

jwflory commented Mar 30, 2022

@reeshi-18 We don't have design patterns or Figma assets created yet (although that is an interesting idea). For now, you can start with the wireframe and we'll work from that to guide discussion about the implementation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: design thinking Planning and creative thinking about design elements in new features or improvements T: new change Adds new capabilities or functionality
Projects
Status: Backlog
Development

No branches or pull requests

4 participants