# ASF Secretary Mail Application

This is a major rewrite of the CGI version of the ASF Secretary Workbench focusing on maintainability, performance, and usability.

The previous version hid and showed portions of a single form that contained every possible parameter, had a single script that performed every possible action, and hid values in the svn properties and the browser DOM for later use; this version has separate forms and scripts for every action, the complete original email is available to this tool and values are passed as parameters.

The previous version has a separate cronjob that periodically would scan for new email and copy new attachments into SVN, and the first action the workbench would take when visited would be to update the working copy from SVN, emails are stored and indexed immediately upon receipt. This script also runs as a Passenger application, shaving approximately a half second off of each server interaction.

This tool was originally redesigned to be more app-like. Over time much of the user interface from the original tool was added, resulting in there sometimes being multiple ways to accomplish a single task. In general, this version aims to show you more information from the original email (dates, subjects, and even text) than the previous version of the tool.

As the data is never in SVN until you put it there, there never are any pending actions that need to be cleaned up and there is no working copy that can become wedged.

## Index page

This pages shows emails containing attachments that have yet to be processed. It dynamically updates as new emails arrive.

To process an email, either click on the timestamp or double click on the row.

A single action is possible from this index page: deleting spam. Select (single click) the row containing the spam and click either command-delete (macOS) or control-backspace (Windows and Linux). A button will appear at the bottom of the list enabling you to undo the last deletion.

## Parts page

This view is split into two panes, where results of actions taken on the left display on the right.

With a single click, you can see a text, headers (i.e. parsed), and raw view of the original email.

Following these actions are a list of attachments. Click on one to view the attachments and provide access to forms for further processing. Right clicking (or control-click on macOS) on the attachment will bring up an edit menu. Drag and drop an attachment over another attachment to append (staple) the dragged attachment to the attachment onto which it was dropped.

If you click on at attachment with an associated (detached) signature, that signature will also be selected and the signature will be verified with the results shown below the list of attachments.

If a document is received with a good hand signature and a bad digital signature, select the digital signature file (e.g. icla.pdf.asc) and delete it using the context menu (right click or control click). Then, select the pdf file and process it as usual.

Actions are organized into tabs. To switch or return to a set of actions, simply click on the tab.

Categorize allows you to select how you want to process this document. Should you mistakenly select the wrong option, click on the tab to again see the list of options.

Fill out the form and click on the button to initiate the processing of the document selected. This will result in a list of actions to be taken to show up on the right hand pane. Review and confirm this list, and the actions will sequentially be taken on your behalf. Should an action fail, you will be given the choice to cancel or proceed.

A list of links follows this form.

Deleting the entire email is also possible from this page. Click either command-delete (macOS) or control-backspace (Windows and Linux).

Clicking on the Secretary Mail header at the top of the left pan will return you to the index page.

## Source code

Clones of this repository can be found at ASF and GitHub.

The secretary workbench application can be found in the www/secretary/workbench subdirectory.

The source to this page is in secretary/workbench/public/HOWTO.html