Requirements
If you have feedback, please Suggest or prioritize a Requirement by April 25th!
Must Have
Number | Category | Must have | Requirement Type | Possible System Dependancies |
1 | Core | Creates bags that meet the Bagit specification | Technical | |
2 | Core | Establish fixity for email by generating commonly used checksums | Functional | |
3 | Core | Check fixity by validating checksums | Functional | |
4 | Core | Create metadata in bag-info.txt to insure bags are fully actionable | Technical | |
5 | Core | Update metadata in bag-info.txt | Technical | |
6 | Core | Package attachments and establish fixity by generating checksums | Functional | |
7 | Core | Preserve email folder structure and ensure it is actionable | Functional | |
8 | Core-PDF | Optionally generate PDFs for each email body that displays basic header information | Functional | wkhtmltopdf, htmldoc, if not xhtml2pdf |
9 | Core-PDF | Easy process for exporting PDFs for each email in bulk | Functional | |
10 | Core-PDF | Easy process for exporting PDFs for individual emails | Functional | |
11 | Input | Input from MBOX/EML | Functional | |
12 | Input | Input from PST | Functional | libpff has Windows dependencies |
13 | Input | Input from IMAP | Functional | |
14 | Installation | All core functionality works on Windows/macOS/Common Linux distros | Technical | Python on Windows |
15 | Installation | Documentation of any manually-installed dependencies | Functional | |
45 | Core | Preserve the original input data, unless directed to exclude folders or messages | Technical | |
46 | Core | Preserve links as attachments | Technical | |
48 | Core | Creates mailbags that conform to the Mailbag specification | Technical | |
Should Have
Number | Category | Should have | Requirement Type | Possible System Dependancies |
16 | Core | A process for compressing Mailbags and managing compressed Mailbags | Functional | |
17 | Core | A process for external tools to use email source data, like RATOM or ePADD to use MBOX data within a Mailbag | Functional | |
18 | Core | Provide Beyond the Repository (BTR) compliant BagIt Profiles | Technical | |
19 | Core | Provide feedback to users about what the tool is doing and its pace of progress | Functional | |
20 | Core-WARC | Optionally generate WARC files that include embedded CSS and Images | Functional | wget if not warcio |
21 | Core-WARC | Optionally capture external links within WARC files | Functional | wget if not warcio |
22 | Core-WARC | Easy process for exporting or connecting with a tool to replay WARC files | Functional | |
23 | Reporting | Report and export attachments | Functional | |
24 | Reporting | Report the email folders included in a Mailbag and the number of included email in each folder and the account overall | Technical | |
25 | Dependency management | Modular/extendable dependencies that work out-of-the box, but can be overridden | Functional | |
26 | Dependency management | Dependancies configurable via YAML or simmilar | Technical | |
27 | Dependency management | Multiple conversion options/plugins for PDFs | Technical | wkhtmltopdf, htmldoc, if not xhtml2pdf |
28 | Dependency management | Multiple conversion options/plugins for WARCs | Technical | |
29 | Dependency management | Process for upgrading and managing dependencies | Functional | |
30 | Installation | Provide Docker image | Technical | |
31 | Installation | Provide an executable for multiple platforms | Technical | |
32 | Installation | Clear documentation for managing system privileges | Functional | |
47 | Core-WARC | Optionally capture attached links within WARC files | Functional | |
49 | Input | Input from MSG files | Functional | |
Could Have
Number | Category | Could have | Requirement Type | Possible System Dependancies |
33 | Core | Lists important email metadata separate from source data and filesystem (like a CSV or SQLite), as a tag file | Technical | |
34 | Core | Provide an estimated time to completion for users during long-running processes | Technical | |
35 | Core | Provide a method of keeping or excluding specific email folders while creating Mailbags | Functional | |
36 | Core-PDF | Generate PDFs using customizable CSS | Functional | wkhtmltopdf, htmldoc, if not xhtml2pdf |
37 | Core-WARC | Customizable scoping rules for WARC creation | Functional | wget |
38 | Reporting | Export reports of email headers or text of individual emails | Functional | |
39 | Dependency management | Common dependencies across major platforms | Technical | |
40 | Dependency management | Individual mini-specs for future system dependencies | Technical | |
41 | Installation | All core dependencies install via a single comand, such as using pip | Technical | |
42 | Installation | Able to install on Windows machine without admin privileges | Technical | |
Won’t Have
Number | Category | Won't have | Requirement Type |
43 | Input | Input from Office 365 APIs | Functional |
44 | Input | Input from Gmail APIs | Functional |