Skip to main content

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.

Project description

Suffolk LIT Lab Document Assembly Line

PyPI version

drawing

The Assembly Line Project is a collection of volunteers, students, and institutions who joined together during the COVID-19 pandemic to help increase access to the court system. Our vision is mobile-friendly, easy to use guided online forms that help empower litigants to access the court remotely.

Our signature project is CourtFormsOnline.org.

We designed a step-by-step, assembly line style process for automating court forms on top of Docassemble and built several tools along the way that you can use in your home jurisdiction.

This package contains runtime code and pre-written questions to support authoring robust, consistent, and attractive Docassemble interviews that help complete court forms.

Read more on our documentation page.

Related repositories

Documentation

https://suffolklitlab.org/docassemble-AssemblyLine-documentation/

Installation

Menu-driven installation

The recommended installation method is with the guided installation script.

Manual installation

Normally you do not need to manually install the Assembly Line. Use the installation script if you can. The instructions below are for your optional reference.

This package depends on the following configuration changes on your Docassemble server:

  • Ensure that font-awesome is enabled (this may be on by default:
default icons: font awesome
  • Add a Google API key that has access to:
    • Google Places API
    • Google Geocoding API
  • Add a VoiceRSS API key
  • Add a Twilio API key for SMS support
  • Add an email account: Mailgun or SendGrid recommended for email support
  • To show package update time and to enable the feedback form, add a GitHub Private Access token to your config.yml file, like this:
# Needs access to create new issues on repositories
github issues:
  username: "suffolklitlab-issues"
  token: "12345"
# Does not need any special access to public repositories  
github readonly:
  username: "suffolklitlab-issues"
  password: "45678"
  type: "basic"
install packages api key: 12345

Migration

See discussion here

ALDocument class

Purpose

The ALDocument class is a small utility library that makes it simpler to use the following features in an interview:

  • Conditional assembly of multiple, optional documents that are triggered in different ways in your interview
  • An addendum for PDF files that makes it simple to deal with overflow text
  • A customizable download screen that lists the documents in a neat table
  • A customizable "send" button that allows the user to email the final forms to a location of their choice

Here is a small snippet that you can copy and modify that shows how to use the most important features of the ALDocument class.

---
objects:
  - 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]")  
---
objects:
  - 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")
  - 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")
---
generic object: ALDocument
attachment:
  variable name: x.addendum
  docx template file: docx_addendum.docx
---
code: |
  CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].overflow_trigger = 640
  CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].label = "Reasons for request"
  CRA_Motion_to_Dismiss_attachment.overflow_fields.gathered = True
  
---
attachment:
    variable name: CRA_Motion_to_Dismiss_attachment[i]
    name: CRA Motion to Dismiss
    filename: CRA_Motion_to_Dismiss
    skip undefined: True
    pdf template file: CRA_Motion_to_Dismiss.pdf
    fields: 
      - "court_county": ${ trial_court.address.county }
      - "docket_number": ${ docket_number }
      - "user_signature": ${ users[0].signature_if_final(i) }
      - "signature_date": ${ signature_date }

It 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 some other method to "turn on" the attachment.

E.g.,

code: |
  CRA_Motion_to_Dismiss_attachment.enabled = condition1 and condition2

Changelog

See CHANGELOG.MD

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docassemble_assemblyline-4.4.0.tar.gz (1.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

docassemble_assemblyline-4.4.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file docassemble_assemblyline-4.4.0.tar.gz.

File metadata

  • Download URL: docassemble_assemblyline-4.4.0.tar.gz
  • Upload date:
  • Size: 1.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for docassemble_assemblyline-4.4.0.tar.gz
Algorithm Hash digest
SHA256 96663b94a6694cc434cfba638b7ae49bfc4d8a1b9b225023da0ebdc3abf64eea
MD5 d00110375f9e4f4b0dc2371e6aeb6d14
BLAKE2b-256 e5512218ecdf98151a79bd7500e041ae42de1fc55e9d8d894f4ffd69bc2e2dbb

See more details on using hashes here.

File details

Details for the file docassemble_assemblyline-4.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for docassemble_assemblyline-4.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d933527938998bfba13bc04001c8ee4cbe20327258de984ef0913c72ef5d322
MD5 afd4ccb10a92e6419262801af2a8dae2
BLAKE2b-256 43e31be5a988a8119d5d6932771297a8b4980b3a1e28c2dcb393f6edc1f55179

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page