Skip to content
Mat Kelly edited this page Aug 5, 2019 · 11 revisions

WAIL Development wiki

The hierarchy of the repository (for macOS) will be as-follows with the hope of squashing some long-outstanding platform variances:

/Application/
- WAIL.app (executable)
-- Contents/ (the core WAIL code/functionality)
-- build/ (pyinstaller and icons)
-- bundledApps/
--- heritrix-3.2.0/
---- bin/ (the Heritrix executables are in here)
---- jobs/ (poll this directory for current/past jobs
--- html/ (a remnant from warc-proxy)
--- phantomjs/ (support for executing Heritrix jobs using the web interface)
--- tomcat/
---- webapps/
----- ROOT/ (wayback src dir)
----- bin/ (wayback support)
----- lib/ (wayback support)
----- ...etc... (wayback support)
--- warc-proxy/
-- support

This will allow a single icon for WAIL in macOS but something similar should be done with Windows; however, Windows does not have this folder-is-an-app concept (via bundles), so something creative and aesthetic should be done.

Asset Fetching

There is also a plan to fetch the WAIL assets (e.g., Wayback, Heritrix) on first-run to provide the user the most up-to-date version. A binary will probably be needed, as we do not want to require the user to have development tools (e.g., Python, setup-tools, gcc) installed on their system. This should be facilitate by the above restructuring, as everything that needs to be fetch should reside in /bundledapps/.

As for the method to accomplish this, git is too technical and likely not supported unless a library is included in WAIL. In that same regard, anything that is fetched will need to be placed in a very specific, portable location (relative to WAIL), and will need to have its configuration files setup by the WAIL script, so it might be best to keep the fetch procedure in WAIL, whether by http(s), git, curl, or some other method.

User Interface

The user interface must be intuitive for casual PC users. Some UI guidelines should probably be consulted.

Tabs:

  • Basic tab
    • URL text field
    • Archive Now! button
    • Check Archived Status button
    • View Archive button
  • Advanced tab
    • General Sub-tab
      • Service Status, State, Version text fields and a Fix button for each:
        • Heritrix
        • Wayback
    • Wayback Sub-tab
      • View Wayback In Browser button
      • Edit Wayback Configuration button
      • Reset Wayback Configuration button
    • Heritrix Sub-tab
      • Listbox with all job ids previously run
        • When one is selected, metadata about the crawl is displayed to the right via text
        • Setup New Crawl button
        • Launch WebUI button
        • Relaunch Process button
    • Miscellaneous
      • View Archives
      • App update
Clone this wiki locally