{"id":18330653,"url":"https://github.com/suffolklitlab/docassemble-assemblyline","last_synced_at":"2025-05-02T22:30:57.187Z","repository":{"id":37508053,"uuid":"323679025","full_name":"SuffolkLITLab/docassemble-AssemblyLine","owner":"SuffolkLITLab","description":"Quickly go from a paper court form to a runnable, guided, step-by-step web application powered by Docassemble. Swap out branding and pre-built questions to meet your needs.","archived":false,"fork":false,"pushed_at":"2025-03-27T17:29:04.000Z","size":2588,"stargazers_count":48,"open_issues_count":118,"forks_count":6,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-04-15T23:56:19.088Z","etag":null,"topics":["access-to-justice","assemblyline-core","courts","docassemble","document-assembly-line","form-builder"],"latest_commit_sha":null,"homepage":"https://suffolklitlab.org/docassemble-AssemblyLine-documentation/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SuffolkLITLab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-22T16:33:04.000Z","updated_at":"2025-04-06T22:35:58.000Z","dependencies_parsed_at":"2024-01-16T03:57:10.488Z","dependency_job_id":"2e81e936-c2fd-4f84-9a6f-4ed088cc9bc2","html_url":"https://github.com/SuffolkLITLab/docassemble-AssemblyLine","commit_stats":null,"previous_names":[],"tags_count":57,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuffolkLITLab%2Fdocassemble-AssemblyLine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuffolkLITLab%2Fdocassemble-AssemblyLine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuffolkLITLab%2Fdocassemble-AssemblyLine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SuffolkLITLab%2Fdocassemble-AssemblyLine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SuffolkLITLab","download_url":"https://codeload.github.com/SuffolkLITLab/docassemble-AssemblyLine/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252116029,"owners_count":21697297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["access-to-justice","assemblyline-core","courts","docassemble","document-assembly-line","form-builder"],"created_at":"2024-11-05T19:24:34.239Z","updated_at":"2025-05-02T22:30:52.173Z","avatar_url":"https://github.com/SuffolkLITLab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Suffolk LIT Lab Document Assembly Line\r\n\r\n[![PyPI version](https://badge.fury.io/py/docassemble-AssemblyLine.svg)](https://badge.fury.io/py/docassemble-AssemblyLine)\r\n\r\n\u003cimg src=\"https://user-images.githubusercontent.com/7645641/142245862-c2eb02ab-3090-4e97-9653-bb700bf4c54d.png\" alt=\"drawing\" width=\"300\" alt=\"work together\" style=\"align: center;\"/\u003e\r\n\r\nThe Assembly Line Project is a collection of volunteers, students, and institutions who joined together\r\nduring the COVID-19 pandemic to help increase access to the court system. Our vision is mobile-friendly,\r\neasy to use **guided** online forms that help empower litigants to access the court remotely.\r\n\r\nOur signature project is [CourtFormsOnline.org](https://courtformsonline.org).\r\n\r\nWe designed a step-by-step, assembly line style process for automating court forms on top of Docassemble\r\nand built several tools along the way that **you** can use in your home jurisdiction.\r\n\r\nThis package contains **runtime code** and **pre-written questions** to support authoring robust, \r\nconsistent, and attractive Docassemble interviews that help complete court forms.\r\n\r\nRead more on our [documentation page](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/).\r\n\r\n\r\n# Related repositories\r\n\r\n* https://github.com/SuffolkLitLab/docassemble-ALWeaver\r\n* https://github.com/SuffolkLitLab/docassemble-ALMassachusetts\r\n* https://github.com/SuffolkLitLab/docassemble-MassAccess\r\n* https://github.com/SuffolkLitLab/docassemble-ALThemeTemplate\r\n* https://github.com/SuffolkLitLab/EfileProxyServer\r\n\r\n# Documentation\r\n\r\nhttps://suffolklitlab.org/docassemble-AssemblyLine-documentation/\r\n\r\n# Installation\r\n\r\n## Menu-driven installation\r\n\r\nThe recommended installation method is with the [guided installation script](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/docs/installation).\r\n\r\n## Manual installation\r\n\r\nNormally you do not need to manually install the Assembly Line. Use the [installation script](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/docs/installation)\r\nif you can. The instructions below are for your optional reference.\r\n\r\nThis package depends on the following configuration changes on your Docassemble server:\r\n\r\n* Ensure that [font-awesome](https://docassemble.org/docs/config.html#default%20icons) is enabled (this may be on by default:\r\n```yaml\r\ndefault icons: font awesome\r\n```\r\n* Add a [Google API key](https://docassemble.org/docs/config.html#google) that has access to:\r\n    * Google Places API\r\n    * Google Geocoding API\r\n* Add a [VoiceRSS API key](https://docassemble.org/docs/config.html#voicerss)\r\n* Add a [Twilio API key](https://docassemble.org/docs/config.html#twilio) for SMS support\r\n* Add an email account: [Mailgun](https://docassemble.org/docs/config.html#mailgun%20api) or [SendGrid](https://docassemble.org/docs/config.html#sendgrid%20api) recommended for email support\r\n* To show package update time and to enable the feedback form, add a GitHub Private Access token to your config.yml file, like this:\r\n```yaml\r\n# Needs access to create new issues on repositories\r\ngithub issues:\r\n  username: \"suffolklitlab-issues\"\r\n  token: \"12345\"\r\n# Does not need any special access to public repositories  \r\ngithub readonly:\r\n  username: \"suffolklitlab-issues\"\r\n  password: \"45678\"\r\n  type: \"basic\"\r\n```\r\n* If you are also using the [Assembly Line Weaver](https://github.com/SuffolkLITLab/docassemble-assemblylinewizard), you may want to set up a [Docassemble API key](https://docassemble.org/docs/api.html#manage_api) in your config.yml file to allow you to install packages automatically, like this:\r\n```yaml\r\ninstall packages api key: 12345\r\n```\r\n\r\n# Migration\r\n\r\nSee [discussion here](https://github.com/SuffolkLITLab/docassemble-AssemblyLine/issues/69)\r\n\r\n\r\n# ALDocument class\r\n\r\n## Purpose\r\n\r\nThe ALDocument class is a small utility library that makes it simpler to use the following features in an interview:\r\n\r\n* Conditional assembly of multiple, optional documents that are triggered in different ways in your interview\r\n* An addendum for PDF files that makes it simple to deal with overflow text\r\n* A customizable download screen that lists the documents in a neat table\r\n* A customizable \"send\" button that allows the user to email the final forms to a location of their choice\r\n\r\nHere is a small snippet that you can copy and modify that shows how to use the most important features of the ALDocument class.\r\n\r\n```\r\n---\r\nobjects:\r\n  - CRA_Motion_to_Dismiss_attachment: ALDocument.using(filename=\"CRA_Motion_to_Dismiss\", title=\"Motion to Dismiss CRA\", enabled=True, has_addendum=True, default_overflow_message=\"[See addendum]\")  \r\n---\r\nobjects:\r\n  - al_user_bundle: ALDocumentBundle.using(elements=[CRA_Motion_to_Dismiss_attachment], title=\"Forms to download and deliver to court\", filename=\"motion_to_dismiss_CRA.pdf\")\r\n  - al_court_bundle: ALDocumentBundle.using(elements=[CRA_Motion_to_Dismiss_attachment], title=\"Forms to download and deliver to court\", filename=\"motion_to_dismiss_CRA.pdf\")\r\n---\r\ngeneric object: ALDocument\r\nattachment:\r\n  variable name: x.addendum\r\n  docx template file: docx_addendum.docx\r\n---\r\ncode: |\r\n  CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].overflow_trigger = 640\r\n  CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].label = \"Reasons for request\"\r\n  CRA_Motion_to_Dismiss_attachment.overflow_fields.gathered = True\r\n  \r\n---\r\nattachment:\r\n    variable name: CRA_Motion_to_Dismiss_attachment[i]\r\n    name: CRA Motion to Dismiss\r\n    filename: CRA_Motion_to_Dismiss\r\n    skip undefined: True\r\n    pdf template file: CRA_Motion_to_Dismiss.pdf\r\n    fields: \r\n      - \"court_county\": ${ trial_court.address.county }\r\n      - \"docket_number\": ${ docket_number }\r\n      - \"user_signature\": ${ users[0].signature_if_final(i) }\r\n      - \"signature_date\": ${ signature_date }\r\n```\r\n\r\nIt is very common to have a *contingent* document in ALDocument. If your document is contingent, remove the `enabled=True` from the object declaration, and use\r\nsome other method to \"turn on\" the attachment.\r\n\r\nE.g.,\r\n\r\n```\r\ncode: |\r\n  CRA_Motion_to_Dismiss_attachment.enabled = condition1 and condition2\r\n```\r\n\r\n# Changelog\r\n\r\nSee [CHANGELOG.MD](https://github.com/SuffolkLITLab/docassemble-AssemblyLine/blob/main/CHANGELOG.md)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuffolklitlab%2Fdocassemble-assemblyline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuffolklitlab%2Fdocassemble-assemblyline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuffolklitlab%2Fdocassemble-assemblyline/lists"}