docassemble.AssemblyLine


Namedocassemble.AssemblyLine JSON
Version 3.2.0 PyPI version JSON
download
home_pagehttps://courtformsonline.org
SummaryNone
upload_time2024-10-31 14:09:21
maintainerNone
docs_urlNone
authorSuffolk Legal Innovation and Technology Lab
requires_pythonNone
licenseThe MIT License (MIT)
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Suffolk LIT Lab Document Assembly Line

[![PyPI version](https://badge.fury.io/py/docassemble-AssemblyLine.svg)](https://badge.fury.io/py/docassemble-AssemblyLine)

<img src="https://user-images.githubusercontent.com/7645641/142245862-c2eb02ab-3090-4e97-9653-bb700bf4c54d.png" alt="drawing" width="300" alt="work together" style="align: center;"/>

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](https://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](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/).


# Related repositories

* https://github.com/SuffolkLitLab/docassemble-ALWeaver
* https://github.com/SuffolkLitLab/docassemble-ALMassachusetts
* https://github.com/SuffolkLitLab/docassemble-MassAccess
* https://github.com/SuffolkLitLab/docassemble-ALThemeTemplate
* https://github.com/SuffolkLitLab/EfileProxyServer

# Documentation

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

# Installation

## Menu-driven installation

The recommended installation method is with the [guided installation script](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/docs/installation).

## Manual installation

Normally you do not need to manually install the Assembly Line. Use the [installation script](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/docs/installation)
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](https://docassemble.org/docs/config.html#default%20icons) is enabled (this may be on by default:
```yaml
default icons: font awesome
```
* Add a [Google API key](https://docassemble.org/docs/config.html#google) that has access to:
    * Google Places API
    * Google Geocoding API
* Add a [VoiceRSS API key](https://docassemble.org/docs/config.html#voicerss)
* Add a [Twilio API key](https://docassemble.org/docs/config.html#twilio) for SMS support
* 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
* To show package update time and to enable the feedback form, add a GitHub Private Access token to your config.yml file, like this:
```yaml
# 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"
```
* 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:
```yaml
install packages api key: 12345
```

# Migration

See [discussion here](https://github.com/SuffolkLITLab/docassemble-AssemblyLine/issues/69)


# 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](https://github.com/SuffolkLITLab/docassemble-AssemblyLine/blob/main/CHANGELOG.md)

            

Raw data

            {
    "_id": null,
    "home_page": "https://courtformsonline.org",
    "name": "docassemble.AssemblyLine",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": null,
    "author": "Suffolk Legal Innovation and Technology Lab",
    "author_email": "qsteenhuis@suffolk.edu",
    "download_url": "https://files.pythonhosted.org/packages/bb/b3/23d2b972ba19bb8bc103c04e2cded0ba4a8e74ead6c2327b5bc992d1bf48/docassemble_assemblyline-3.2.0.tar.gz",
    "platform": null,
    "description": "# Suffolk LIT Lab Document Assembly Line\n\n[![PyPI version](https://badge.fury.io/py/docassemble-AssemblyLine.svg)](https://badge.fury.io/py/docassemble-AssemblyLine)\n\n<img src=\"https://user-images.githubusercontent.com/7645641/142245862-c2eb02ab-3090-4e97-9653-bb700bf4c54d.png\" alt=\"drawing\" width=\"300\" alt=\"work together\" style=\"align: center;\"/>\n\nThe Assembly Line Project is a collection of volunteers, students, and institutions who joined together\nduring the COVID-19 pandemic to help increase access to the court system. Our vision is mobile-friendly,\neasy to use **guided** online forms that help empower litigants to access the court remotely.\n\nOur signature project is [CourtFormsOnline.org](https://courtformsonline.org).\n\nWe designed a step-by-step, assembly line style process for automating court forms on top of Docassemble\nand built several tools along the way that **you** can use in your home jurisdiction.\n\nThis package contains **runtime code** and **pre-written questions** to support authoring robust, \nconsistent, and attractive Docassemble interviews that help complete court forms.\n\nRead more on our [documentation page](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/).\n\n\n# Related repositories\n\n* https://github.com/SuffolkLitLab/docassemble-ALWeaver\n* https://github.com/SuffolkLitLab/docassemble-ALMassachusetts\n* https://github.com/SuffolkLitLab/docassemble-MassAccess\n* https://github.com/SuffolkLitLab/docassemble-ALThemeTemplate\n* https://github.com/SuffolkLitLab/EfileProxyServer\n\n# Documentation\n\nhttps://suffolklitlab.org/docassemble-AssemblyLine-documentation/\n\n# Installation\n\n## Menu-driven installation\n\nThe recommended installation method is with the [guided installation script](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/docs/installation).\n\n## Manual installation\n\nNormally you do not need to manually install the Assembly Line. Use the [installation script](https://suffolklitlab.org/docassemble-AssemblyLine-documentation/docs/installation)\nif you can. The instructions below are for your optional reference.\n\nThis package depends on the following configuration changes on your Docassemble server:\n\n* Ensure that [font-awesome](https://docassemble.org/docs/config.html#default%20icons) is enabled (this may be on by default:\n```yaml\ndefault icons: font awesome\n```\n* Add a [Google API key](https://docassemble.org/docs/config.html#google) that has access to:\n    * Google Places API\n    * Google Geocoding API\n* Add a [VoiceRSS API key](https://docassemble.org/docs/config.html#voicerss)\n* Add a [Twilio API key](https://docassemble.org/docs/config.html#twilio) for SMS support\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\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:\n```yaml\n# Needs access to create new issues on repositories\ngithub issues:\n  username: \"suffolklitlab-issues\"\n  token: \"12345\"\n# Does not need any special access to public repositories  \ngithub readonly:\n  username: \"suffolklitlab-issues\"\n  password: \"45678\"\n  type: \"basic\"\n```\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:\n```yaml\ninstall packages api key: 12345\n```\n\n# Migration\n\nSee [discussion here](https://github.com/SuffolkLITLab/docassemble-AssemblyLine/issues/69)\n\n\n# ALDocument class\n\n## Purpose\n\nThe ALDocument class is a small utility library that makes it simpler to use the following features in an interview:\n\n* Conditional assembly of multiple, optional documents that are triggered in different ways in your interview\n* An addendum for PDF files that makes it simple to deal with overflow text\n* A customizable download screen that lists the documents in a neat table\n* A customizable \"send\" button that allows the user to email the final forms to a location of their choice\n\nHere is a small snippet that you can copy and modify that shows how to use the most important features of the ALDocument class.\n\n```\n---\nobjects:\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]\")  \n---\nobjects:\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\")\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\")\n---\ngeneric object: ALDocument\nattachment:\n  variable name: x.addendum\n  docx template file: docx_addendum.docx\n---\ncode: |\n  CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].overflow_trigger = 640\n  CRA_Motion_to_Dismiss_attachment.overflow_fields['reasons_for_request'].label = \"Reasons for request\"\n  CRA_Motion_to_Dismiss_attachment.overflow_fields.gathered = True\n  \n---\nattachment:\n    variable name: CRA_Motion_to_Dismiss_attachment[i]\n    name: CRA Motion to Dismiss\n    filename: CRA_Motion_to_Dismiss\n    skip undefined: True\n    pdf template file: CRA_Motion_to_Dismiss.pdf\n    fields: \n      - \"court_county\": ${ trial_court.address.county }\n      - \"docket_number\": ${ docket_number }\n      - \"user_signature\": ${ users[0].signature_if_final(i) }\n      - \"signature_date\": ${ signature_date }\n```\n\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\nsome other method to \"turn on\" the attachment.\n\nE.g.,\n\n```\ncode: |\n  CRA_Motion_to_Dismiss_attachment.enabled = condition1 and condition2\n```\n\n# Changelog\n\nSee [CHANGELOG.MD](https://github.com/SuffolkLITLab/docassemble-AssemblyLine/blob/main/CHANGELOG.md)\n",
    "bugtrack_url": null,
    "license": "The MIT License (MIT)",
    "summary": null,
    "version": "3.2.0",
    "project_urls": {
        "Homepage": "https://courtformsonline.org"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "621278f6bc17044b820da9761420d57f945a1e313771725a33266162db0a1042",
                "md5": "bb2f87ce79895efe47f3aa42c0ebc803",
                "sha256": "6e7dbbdf0adfb31330ce6e15bb22491da8ce19327fb676246cf2330fd68ebff0"
            },
            "downloads": -1,
            "filename": "docassemble.AssemblyLine-3.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bb2f87ce79895efe47f3aa42c0ebc803",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 1029061,
            "upload_time": "2024-10-31T14:09:19",
            "upload_time_iso_8601": "2024-10-31T14:09:19.490576Z",
            "url": "https://files.pythonhosted.org/packages/62/12/78f6bc17044b820da9761420d57f945a1e313771725a33266162db0a1042/docassemble.AssemblyLine-3.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bbb323d2b972ba19bb8bc103c04e2cded0ba4a8e74ead6c2327b5bc992d1bf48",
                "md5": "de876efb620cd3cf703b9b75fe3d4f12",
                "sha256": "e45427c78f84833754174df8c825b3f488d6e89cc68465852ef432685f265497"
            },
            "downloads": -1,
            "filename": "docassemble_assemblyline-3.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "de876efb620cd3cf703b9b75fe3d4f12",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 997857,
            "upload_time": "2024-10-31T14:09:21",
            "upload_time_iso_8601": "2024-10-31T14:09:21.706801Z",
            "url": "https://files.pythonhosted.org/packages/bb/b3/23d2b972ba19bb8bc103c04e2cded0ba4a8e74ead6c2327b5bc992d1bf48/docassemble_assemblyline-3.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-10-31 14:09:21",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "docassemble.assemblyline"
}
        
Elapsed time: 0.67592s