Code Monkey home page Code Monkey logo

ygw-seforim-catalog's Introduction

Seforim Finder

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.

Installation

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.

Simple installation

  1. Download the contents of this repository into a zip file by clicking here (download will start automatically), and unzip/extract the zip file.
  2. Download the official Java program interpreter (which allows the program to run) by clicking here (download will start automatically).
  3. 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").
  4. 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!

Adding a taskbar shortcut

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.

  1. Right-click on SeforimFinderRunner.bat (the file with a gear icon) and click "Create shortcut".
  2. Right-click the newly created file named "SeforimFinderRunner - Shortcut", and click on "Properties".
  3. 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.
  4. 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.
  5. Drag the shortcut file to the taskbar and the shortcut should appear. Click on the new shortcut and the program should start up!

Using a custom book catalog

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.

Why not just use an .exe file?

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).

License

This software uses HebMorph for the Shoresh search, which is licensed under the GNU Affero General Public License version 3.

Screenshots

Alt Text Alt Text Alt Text Alt Text Alt Text Alt Text Alt Text Alt Text Alt Text Alt Text

ygw-seforim-catalog's People

Contributors

abrahamlewis4867 avatar sternbach-software avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.