WACS: Philosophy

Contents

Technical Description

WACS is a package that provides most of the features of the best adult web sites to help you organise, manage, update and access a collection of adult imagery and video clips on your own (server) computer (or possibly a suitable remote server). It also serves to keep that collection up to date automatically through a range of download tools.

Technically, information describing attributes, relationships and characteristics of other discrete data is known as Metadata. WACS is a relational database based metadata handling system for adult content with a particular focus on associating sets and videos with specific named models. WACS can also handle simple indexing of sets of photos and video clips without needing links to models. It's not designed to do anything else, although it might serve as a source of example code for using programming techniques in the perl language and it's database interface, Perl DBI.

WACS provides a significant number of web-page creating programs that come together to build the infrastructure of your own private adult web site in which to house your personal collection complete with catalogues, indexes, updates and search facilities. While the basic bones provided as part of the distribution are relatively simple, the back end applications are powerful and feature rich.

The core objective for WACS is to provide the same kind of organisation, display and search options provided by the best of breed web sites for your own collection which is assumed to contain material from a number of dispirate web sites gathered together by you based upon your own preferences and interests within the genre. Since WACS is free software, you are completely free to tailor it for your specific needs, although we would hope that you will honour the terms and spirit of the GPL License it is distributed under and return to the community those enhancements that may be of use to others. It should be entirely possible to build a commercial adult web site out of the building blocks that WACS provides, and the original author is quite happy to see that happen within the terms of the GPL license. If you do so, we do not expect your artwork or content - those are after all what makes it your web site - but we do expect features you add to the code itself to be returned to the community.

Now it is also important to specify from the outset that WACS is not a site sucker - all model records have to be manually added before even the newly added download tools come into play. However, once the system knows about a certain model, it does attempt to manage the collection of all sets by that model from a given web site. The process still requires significant manual intervention before a set has been imported into the system. It will however try to assist you in getting, updating and accounting for all the sets by that model - the focus is on collection management rather than blind acquisition. The primary objective is most definitely on collecting material by specific models that you like and making it easy to browse, access and enjoy that material.

The original author of this software is himself an adult photographer and he firmly believes that this software does not threaten those who host adult web sites. In fact, he hopes that the community that uses WACS will exchange metadata to allow people to find those sets by their favourite models at sites they might not otherwise know of, and thus act indirectly as a promotional tool for quality web sites. The original author is available for consulting and development work at reasonable rates for people who want specific new features or assistance and support in deploying WACS as a commercial web site backend.

Layout

WACS does not "swallow" your content, instead it wanders through nested directories of stuff that you have collected and tries it's best to make sense of it. Each time it finds a directory full of images, it does it's best to index those and incorporate information about them into it's database. You need to give it some clues if it's going to stand half a chance of making any real sense of it, and you do this by passing hints through where you put things and what you call them. Once it's looked at a set, it drops a small hidden tag file called .info into this directory to "mark it's territory". This is human readable and is transported around with the set to ensure that Wacs recognises and ties it back to the same meta data even if it gets moved or renamed.

First of all, it starts at the top of a directory tree (the location of which is specified in the Wacs configuration file). Let's say that is /vol/images/adult. At the top level of this tree, you might wish to create some folders - say "sapphicerotica", "teenflood", and "usenet" - into which you can file appropriate photo sets. You might also decide that as you collect sets by a specific model, you want to group collections by a single model together, so maybe you create "blondes", "brunettes" and "redheads". Wacs understands the difference between random collections of stuff, and per-model collections and acts differently according to what kind of directory its walking down into. These main directories are known as "areas" in Wacs parlance and the "sarea" variable in the sets database table identifies which one a set belongs too.

You can then sub-divide further, or not, depending on how you want to organise things. These sub-divisions are referred to as "categories" in Wacs and are stored in the "scategory" field in the sets database table. You might reasonably have a directory under "redheads" called "Sarah", or a directory under "sapphicerotica" of "twogirls-outdoors". Similarly you could nest the directories further and have "redheads", then "smalltits" then "Sarah", or "sapphicerotica" then "twogirls" then "outdoors". The only limitation is that when Wacs finds image files, it will assume it's reached the bottom of this particular branch of the file system tree, and will expect each directory at this level to contain photosets.

I mentioned earlier that Wacs extracts meta data from the way in which the directory is named, and the better you name the directory, the better the chance Wacs has at inferring content metadata. The convention I've adopted is that the directory name is long and in three parts - first is the names, second the clothing, and third the location and/or action. Each part is separated by an underscore and certain key words are picked out for use in the meta data. So for our redhead Sarah, a set featuring her in a pink dress but wearing no panties, sitting on a garden bench, we would call the directory Sarah_PinkDressNoPanties_GardenBench. From this, Wacs would flag this set with the "No Panties" and "Outdoor" attributes because of the keywords used. It's not a very exact mechanism, but it gets some basic attribute meta data which can be searched on into the database with an absolute minimum of fuss. For more details on the exact mechanism, please see the later page on the generate and updateinfo commands.

Finally, once a set has been associated with a model, the model's own attributes are merged with those of the set itself to produce surprisingly complete metadata.

Basic Structure

As has been mentioned above, WACS is written in the perl programming language and (almost) all of the retrieval tools it provides are web-based to allow access from as many devices on the home network as possible. It needs to be run on a fairly powerful server computer with significant storage capacity, a web server and a relational database. It was originally developed on an AMD Althon 64 based server running Fedora Core 5 (x86_64) Linux, the Oracle 10g database and the apache 2.2 web server. It has also been tested on the 32-bit (i686) version of Fedora Core 5 running with MySQL 5.1 as the backend server. Significant work has been undertaken recently to make it compatible with MySQL as a backend server in addition to Oracle, with the MySQL version now mostly working.

WACS makes extensive use of a relational database to manage the image collections and video files under it's control. Within this database are stored a number of tables containing different aspects of the information needed to present the many and various views of the metadata that WACS can provide. The table below summarises what these database tables are:

WACS Database Tables - Overview
Table
Name
ConceptDescription
sets what a record of the photoset or video itself
models who details of a model, her attributes and other information
assoc appearances connects a model with her appearance in a given set
idmap alias connection between a model and her name/reference on a specific site
download checklist an entry for a set on a web site, a checklist for what needs to be downloaded and afterwards for what we already have.
photographer style list of the known photographers so you can find other examples of their work
tag bookmark a mechanism for bookmarking a specific selection of sets.
vendor subscriptions information on subscription sites and your subscriptions to them.

Next Section: WACS Application Programming Interface
Back to WACS Documentation Index