This repository contains resources for the Suffolk LIT Lab's Document Assembly Line trainings for volunteers. (If you are interested in volunteering, you can learn more and sign up on the Document Assembly Line website .)
- Pause frequently and ask everyone to give a thumbs up when they are caught up
- Encourage questions, and occasionally pause (long enough for it to get awkward!) so people have time to consider what questions they might have and speak up
This training is built around 3 90-minute sessions.
This session is an introduction to “vanilla” Docassemble. At the end of this session, you will be able to create simple interviews that ask for information in different ways, from simple text fields to checkboxes and date fields. You'll also be able to customize questions based on the user's previous answers.
Before this session, attendees should:
- Register an account on the LIT Lab development server
- Email litlab@suffolk.edu to request developer privileges (include the email you used to register)
- Join the Microsoft Teams Document Assembly Line team (if you haven't gotten an invitation, just ask!)
Outline:
- Introductions
- Make sure everyone can access the Playground
- Highlight resources for interview builders
- Weekly meetings
- Community help forum (Teams)
- Monthly workshops
- Docassemble Slack
- Create a new project and get started!
- Introduction to the Docassemble Playground (Hello, world!)
- Create your first question
- Working with common question types
- Specifying the order of questions
- Dynamic questions
This session is an introduction to assembling documents based on the user's answers. At the end of this session you'll be able to assemble documents based on DOCX and PDF templates.
Before this session, you should have a working interview based on this code.
Outline:
- Recap the first session
- Make sure nobody is lost or stuck
- Open the Playground and get started!
- Basic document assembly using Markdown
- Document assembly using Word templates
- Document assembly using Acrobat templates
This session is an introduction to the Document Assembly Line Weaver, a tool for generating draft interviews from an existing DOCX or PDF template. We'll also go over the GitHub workflow, for saving your work and collaborating with others.
At the end of this session you will be able to use the Weaver to generate a draft Docassemble interview from an existing form, and you will be able to work on interview updates following the GitHub workflow.
Note: this session does not have example YAML files because we will be using the Weaver to generate them from PDF and DOCX templates.
Outline:
-
Prepare
affidavit_template.pdfusing Adobe Acrobat or the free Gavel PDF tool by changing variable names to match AssemblyLine field labels- Change
full_nametousers1_name_fulland subsequent occurrences tousers1_name_full__1,users1_name_full__2, and so on - Change
signaturetousers1_signature
- Change
-
Run the PDF through the Weaver, then upload the package to the Playground
-
Locate familiar blocks in the Weaver-generated YAML:
- Interview order
- Questions (note questions that are "missing" because they are pulled in from the question library)
- Attachment
(Don't ignore the rest of the file, but note that they'll be able to learn about other blocks when they need to. The documentation website also includes a helpful guide to the Weaver-generated YAML.)
-
Run the interview
-
Demonstrate how to modify a question from the library
-
Prepare
affidavit_template.docxby changing variables names to match AssemblyLine field labels- Change
full_nametousers[1].name.full() - Change
signaturetousers[1].signature
- Change
-
Run the DOCX through the Weaver, then run the interview and note any differences
-
Discuss the differences between DOCX and PDF templates
-
Introduce the the GitHub workflow using
github_demo.yml- Publish the interview to GitHub
- Create issues based on the unimproved Weaver-generated interview
- Walk through the GitHub workflow with one of those issues
- Create a new Playground project
- Pull the interview to the Playground
- Commit to a new branch
- Create a pull request (and close issues in the PR message)
- Resolve conflicts
- Review pull requests
Now, apply what you have learned! Create a guided interview based on the example certificate of service (/final-project/Certificate of Service FINAL (1).pdf).
Requirements:
- The interview does not generate errors
- The user can correctly complete every field/blank on the form
- The interview correctly populates every field on the form
- The interview uses branching logic to skip unnecessary questions and provide a logical flow
- Compound questions are broken up into separate screens
- The user is not asked the same information twice
- The user can sign on their computer or phone screen
- Questions are written in plain language
- The interview is published to your GitHub account
- The interview uses questions from the Assembly Line question library (although you may modify them if necessary)
- The interview follows our naming conventions for the template file name, the package/repository name, and variables in templates and code
To turn in your final project, post the GitHub URL where it can be found to the Volunteers channel in Teams.