You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/authoring/weaver_code_anatomy.md
+78-34Lines changed: 78 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,43 +51,87 @@ metadata:
51
51
---
52
52
```
53
53
54
-
## AssemblyLine metadata
54
+
## Interview metadata and metadata for publishing on CourtFormsOnline
55
55
56
-
The AssemblyLine metadata block has different, AssemblyLine specific metadata that doesn't fit in the normal [metadata block](#metadata). Additionally, data in this block isn't overwritten if it's included in another interview.
56
+
Current AssemblyLine interviews use an expanded [metadata block](https://docassemble.org/docs/initial.html#metadata) that includes additional fields beyond the basic `title` and `short title`. This expanded metadata helps organizations better categorize, describe, and manage their interviews.
57
+
58
+
:::info
59
+
The `interview_metadata` variable used in older AssemblyLine interviews is now deprecated. New interviews should include all metadata directly in the `metadata` block as shown below.
60
+
:::
57
61
58
62
```yml
59
-
mandatory: True
60
-
code: |
61
-
interview_metadata # make sure we initialize the object
62
-
if not defined("interview_metadata['a_258e_motion_for_impoundment']"):
Form created in 2021. Last reviewed 2024 with no changes needed.
81
101
---
82
102
```
83
103
84
-
1.`title`, `short title`, and `description` allow your organization's site to show more information about your form and to organize your forms more easily.
85
-
1.`original_form` is a link to the original, fillable PDF form that this interview is automating, if it exists.
86
-
1. 🚧 `allowed courts` allows your code to decide which courts to let the user pick from when they need to pick their court, usually used in conjunction with [ALThemeTemplate](https://github.com/SuffolkLITLab/docassemble-ALThemeTemplate).
87
-
1.`categories` is the [LIST taxonomy](https://taxonomy.legal/) code for this interview, which can be used by your organization to organize your interviews.
88
-
1.`attachment block variable` used to be used in the code that sends documents to courts, but now the [ALDocument object block](../components/AssemblyLine/al_document#aldocument-objects) is used instead.
89
-
1.`logic block variable` should also no longer be used.
90
-
1.`typical role`: controls which questions the user gets asked about themselves and other parties.
104
+
### Expanded metadata fields
105
+
106
+
1.**Basic information fields:**
107
+
-`title` and `short title`: Control the interview name in browser tabs and saved interview lists
108
+
-`description`: A detailed explanation of what the interview does and helps accomplish
109
+
-`can_I_use_this_form`: Helps users determine if this is the right form for their situation
110
+
-`before_you_start`: Information users should gather or consider before beginning
111
+
112
+
2.**Technical and administrative fields:**
113
+
-`maturity`: The development status (`production`, `development`, or `testing`)
114
+
-`estimated_completion_minutes`: How long most users take to complete the interview
115
+
-`estimated_completion_delta`: The typical variation in completion time (±)
116
+
-`languages`: List of language codes for available translations (e.g., `en`, `es`)
117
+
-`review_date`: When the interview should next be reviewed for updates
118
+
119
+
3.**Help and reference fields:**
120
+
-`help_page_url`: Link to additional help resources
121
+
-`help_page_title`: Display name for the help page link
122
+
-`original_form`: URL to the original blank form being automated
123
+
-`original_form_published_on`: Publication date of the original form
-`tags`: Fallback taxonomy codes if LIST_topics isn't available
128
+
-`jurisdiction`: Geographic scope using jurisdiction codes
129
+
-`form_titles`: Human-readable names of forms included
130
+
-`form_numbers`: Official form numbers, if assigned
131
+
-`fees`: Filing fees and other costs
132
+
133
+
5.**Maintenance and updates:**
134
+
-`update_notes`: Record of changes and review history
91
135
92
136
## Main intro page
93
137
Adds this text to the organization's intro page that appears at the beginning of every interview. This lets your user know right away that they have gotten to the right (or wrong) form. Note that this can (and should) be a more direct and detailed call to action, e.g. ("File a \_\_\_\_" or "Ask the court for \_\_\_\_"), rather than a simple short title, like the short title in the [metadata block](#metadata).
@@ -131,8 +175,8 @@ The full interview order block will look something like this. We'll go over each
1.`allowed_courts` allows the developer to limit which courts the person filling out the form can pick from, making it easier for them to pick the right court. By default, it's using the same values that are in the [metadata block](#assemblyline-metadata).
194
+
1.`allowed_courts` allows the developer to limit which courts the person filling out the form can pick from, making it easier for them to pick the right court. This is now configured directly in the interview code as shown above, rather than using the deprecated `interview_metadata` approach. This is currently used only in Massachusetts court forms.
151
195
1.`nav.set_section()` comes after `al_intro_screen` and `a_258e_motion_for_impoundment_intro` so that the user can't click to edit their answers before they've actually been asked any questions.
152
196
1.`user_role` and `user_ask_role` tell AssemblyLine which questions to ask about the main party and opposing parties listed on the form. These should be the same as the `typical role`. However, if `typical role` is `unknown`, then the `user_ask_role` variable will be here instead, and will ask the user what role they have in the case.
0 commit comments