This is a fast, powerful, and beautiful (see screenshots below) program for searching a catalog of Hebrew books (seforim). It can search by exact match, malei/chaseir (plene/defective) insensitivity, and Shoresh (root word) search (good for finding a sefer with an approximate title, among other things). I would love to spread it to other yeshivos and libraries for free. if you would like to use it, please let me know so I can keep tabs on the user base. Feel free to create an issue here if you need help setting it up. The code is available here.
This repository contains files for setting up the seforim finder on a Windows computer. Instructions for setting it up on a macOS or Linux computer are virtually the same, but require me to create an additional file. Create an issue here if you would like instructions for setting the program up on those platforms.
- Download the contents of this repository into a zip file by clicking here (download will start automatically), and unzip/extract the zip file.
- Download the official Java program interpreter (which allows the program to run) by clicking here (download will start automatically).
- Extract the zip file from step 2. to the folder you made in step 1. (the folder that starts with "jdk" should be in the same folder as the file "SeforimFinder.jar").
- Double-click the file named "SeforimFinderRunner.bat" (the file with a gear icon - the ".bat" part may not be visible) and the program should start up!
If you would like to add a shortcut to the taskbar at the bottom of the screen that can be clicked to run the program, follow the steps below. If you don't care about the icon in the taskbar displaying the seforim finder logo, skip step 4.
- Right-click on SeforimFinderRunner.bat (the file with a gear icon) and click "Create shortcut".
- Right-click the newly created file named "SeforimFinderRunner - Shortcut", and click on "Properties".
- In the text field with the label "Target:", replace the text with
%windir%\system32\cmd.exe /c start "" "%CD%\SeforimFinderRunner.bat"
. Click "Apply" to save the changes. - Click "Change icon". In the popup, click "Browse..." and navigate to where you extracted this repository (the file you downloaded in step 1 of Basic Installation above). There is an icon in that folder with a magnifying glass on a book. Double-click that image to select it. Click "OK" to exit the icon picker popup window. Click "Apply" in the Properties windo to save the changes, and click "OK" to close the Properties window.
- Drag the shortcut file to the taskbar and the shortcut should appear. Click on the new shortcut and the program should start up!
The catalog is pulled from a local spreadsheet (CSV) file. The file bundled with the program is from the Yeshiva of Greater Washington's seforim library. A companion program for creating this file is under consideration for being created. Currently, the workflow involves editing a spreadsheet (using Google Sheets) and exporting that spreadsheet as a .tsv
file (TSV stands for Tab Seperated Value, because book names can contain commas).
The program is expecting columns to be in a certain order because it was designed for a specific spreadsheet, but it can easily be restructered to accomodate other formats. I would be happy to work with any institution to make the process user-friendly.
You may wonder why I don't package this as an exe file. There are several reasons:
- Some antiviruses falsely flag Java programs packaged in an .exe file as a virus, so to make this as seamless of a process as possible, it is not packaged as an exe.
- If an error occurs, the contents of the log need to be sent to me for me to fix the error, and using an exe would not allow seeing the logs.
- Java programs get very big when packaged into an .exe, and GitHub does not allow hosting files bigger than 100 MB.
- The program can take 5-10 seconds to start up, and I wouldn't want a user thinking that nothing happened while it was loading, so displaying the logs lets you know what is happening and how soon the program will finish setting up.
- Packaging a Java program as an .exe can be quite complicated, and increases the number of moving parts that can be the cause of an issue should one come up. Leaving the program as a .jar file reduces these complications.
In short, it is to give you, the user, a better experience using the program - both when getting it up and running, as well as when reporting an issue (should one arise).
This software uses HebMorph for the Shoresh search, which is licensed under the GNU Affero General Public License version 3.