/bm-hooYa

Community-driven file tagger for pictures and other media

Primary LanguagePHP

hooYa!

hooYa! is a community-driven file tagger with support for lots of media types. Users contribute tag associations, which describe each file. Users can also contribute a number of files each day

You can check out the Scrin mothership of hooYa! at https://bm.howler.space/hub/hooYa

Dependencies

An HTTP Server

hooYa! has been tested with lighttp and Apache, but any web server with PHP and xsendfile support will work

PHP

Make sure your webserver can interpret and serve PHP files

mod_xsendfile

mod_xsendfile enables the sending of large files easily. You can grab an apache module here, but several implementations of this module exist for numerous other web servers

MySQL (MariaDB)

Storing tags and metadata about indexed files

Appropriate MySQL Module for PHP5

For apache, this is php5-mysql

bm-common

Common stylesheets and authentication

Imagemagick

Generating image thumbnails

ffmpegthumbnailer

Generating video thumbnails

Perl

You likely already have Perl5 installed, but in case you do not it is easily available for many operating systems

DBI

Perl5 database interface module. It is used for any perl scripts that run on the site, like the installation tools or the 'daily dump' for hooYa. This can be installed from CPAN by running cpan -i DBI as root, or per-user if you lack those permissions or want a simply local install

DBD::mysql

Perl5 module for interfacing with MySQL tables through DBI. Easily installed from CPAN by running cpan -i DBD::mysql as root, or per-user if you lack those permissions or want a simply local install

Digest::MD5::File

Perl5 module for calculating MD5 hashes of a file

Installation

Follow the set up instructions for bm-common; this project provides the common stylsheets and authentication for the website

Once you've installed bm-common correctly, install hooYa! by running git clone https://bm.howler.space/git/bigmike-hooYa.git

Then, cp includes/config.template.php includes/config.php and edit the configuration file to your taste

Lastly, run bin/install to create the hooYa! SQL structure

Features

File Tagging

Associative namespaces like series > yuyushiki Tags are handled by MySQL

Per-deployment Configuration

Per-deployment settings are defined in includes/config.php

Thumbnailing

Dynamic generation of thumbnails; cached

Tag Aliases

Instead of typing puella magi madoka magica every time, I can just type pmmm. How easy!

Extensible Media Classes

Some example classes are included, but it is trivial to index other media (PDFs, presentations etc.)

License

Modified BSD License (see docs/LICENSE)

Contact

Bother me on IRC in #bigtown on howler.space:6667 or by mail at <yumi@howler.space>