What files do I need?

The files you need to download in order to work with or on Provenance depend on your role and operating system. As a user you simply need a compatible copy of OpenOffice and the Haathi extension. As a developer you need the source code and appropriate developer tools. Although the system is dependent on some third-party libraries, they are all either compiled into Haathi or included with the source. A "librarian" may need to update these dependencies with help from the links below.

Installation tips can be found by clicking on the footnote links in the tables.

User

Haathi is available for three operating systems. The 32-bit extension will only work in the 32-bit version of OpenOffice and similarly for the 64-bit version. Java is not used in Haathi, but OpenOffice seems to need it, indeed an old version of it, in order to manipulate extensions.

Operating System
Windows Linux Macintosh
32-bit 32-bit 64-bit 32-bit 64-bit

Developer

While the same (shared) source code files are used for each operating system, the supported tool chain is different. You can use your own, of course, but the supplied project files work with the tools in the list. Haathi is written in C++ and is built with either Microsoft Visual C++ on Windows or Eclipse with CDT otherwise. Server components are written in Java and work with the Eclipse project files included. These tools or something very similar are marked required. Optional components aren't needed in order to build the software, but may help you manipulate it. The OpenOffice SDKs are included and configured and do not need to be installed separately.

Shared Operating System
Windows Linux Macintosh
32-bit 32-bit 64-bit 32-bit 64-bit
Required
Required
Required
Required
Optional
  • GitHub interface for Eclipse such as
Optional
Optional
Optional

Librarian

The Provenance source code downloads above were constructed with the help of the files below. The files were manipulated in various ways and integrated into the build system. These are links to primary sources which can change at any time in ways that may break the system. Some are the same (shared) across each operating system while others are specific to their platform.

Shared Operating System
Windows Linux Macintosh
32-bit 32-bit 64-bit 32-bit 64-bit
  • OpenOffice 4.0.1
  • OpenOffice SDK (4.0.1)
    • Boost (1.61.0)
    • leptonica-devel package
      • giflib-devel package
      • libjpeg-devel package
      • libpng-devel package
      • libtiff-devel package
      • zlib-devel package
    • tesseract-devel package

    Installation Tips

    Click on the images for larger versions.

    1SHaathi extension

    To install the Haathi extension after you have downloaded it, first start up the already installed OpenOffice. Next, click on the Tools menu and select Extension Manager...
    Press the Add... button in the Extension Manager, navigate to the downloaded haathi.oxt, and Open it.
    You will be asked to Accept a license agreement.
    The extension will appear in the list, but is not available for use in OpenOffice until it is restarted. Close the Extension Manager, exit OpenOffice, and restart it.
    Upon restart you should have access to Haathi through a new Provenance menu.
    Windows and dialogs related to Provenance are indicated by the "Provenance" text in the title bar. OpenOffice is still able to edit its regular (local, not Provenance-enabled) documents, so check the window title to be sure your save command, for instance, is being applied to a Provenance document if that is the intention. The Provenance edit window is pictured below.
    The audit window looks very similar.

    2WAMicrosoft Visual C++ 2008 Express Edition

    This version of the compiler is no longer readily available. If you do find it somewhere, what you will first download is vcsetup.exe, the Visual C++ setup program. Run the program to download and install the remainder of Visual C++ 2008 Express Edition. You will eventually be asked for a registration key. The license server may no longer be running. If the product insists on a registration key before it runs, then you can exit and then use regedit to rename or delete the registry key HKEY_CURRENT_USER/Software/Microsoft/VCExpress/9.0/Registration.

    2WBMicrosoft Visual C++ 2015 Community Edition

    Download and run the small installer which will in turn download the large development system.

    2Lgcc-c++ toolchain package

    On Fedora 20 this can be achieved with the command sudo yum install gcc-c++. The specifics will depend on your Linux distribution. Use the helloWorld project later to verify that you have installed gcc-c++ and Eclipse successfully.

    2MCommand Line Tools for Xcode

    You will need an Apple ID and password for the download. Click on the download link above and log in. Check near the top of the list of downloads or search for the "Command Line Tools (OS X ...) for Xcode" that is appropriate for your version of the operating system and click on it. A description will appear beside a link to a *.dmg file for download. Download the file and double click to mount and open it. Click on the package icon to start the installation procedure. Use the helloWorld project later to verify that you have installed the Command Line Tools and Eclipse successfully. Note that gdb is not included with recent versions of the Command Lines Tools, so debugging with Eclipse will not be possible.

    3SJava JRE or SDK

    The JRE will suffice, but the SDK includes keytool, which may be useful but is not required. Follow the standard installation procedure for your platform.

    4SEclipse Mars

    Follow the standard Eclipse installation procedure for your platform. The standard version should suffice. Both JUnit and Ant are used for Java development, but they should be included.

    4LMCDT (C/C++ Development Tools)

    It might be better not to download this component directly, but to install it from within Eclipse. Find in the Help menu the item Install New Software... and click. Complete the Install dialog in approximately the way pictured below and click Next > or Finish until complete.