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