WACS: Futures
Contents
The Junk Yard
As with many packages released in a (hopefully) usable on day one state,
Wacs has been in use and developement on the author's machine for several
years prior to it's GPL release. That release project has required a lot
of cleaning up, documentation and particular the removal of system specific
entries out to a more generic framework based on a configuration file.
Many little useful utilities are
yet to be cleaned up for public consumption, others will need a re-write
before they are completed and ready. The idea is have an area in
the SVN repository for these various little scripts.
They may not even work as-is but may provide useful clues
and ideas for people wishing to work on WACS - hence the name junkyard.
- compare -
The first program in there compares the contents of a directory with images
in with those in a spares
sub-directory of itself and deletes those which are absolute duplicates
leaving any files that are not the same. This is useful if you've obtained
the same set twice from different sources via an unreliable file sharing
network such as usenet. It'll keep any ones that weren't in the main set
or where corrupt in either the main or duplicate set.
- rungq -
The second program, rungq, runs the gqview image viewer program (which has
a very nice full screen mode) with the directory names of a group of files
listed in a "Saved Search" (or tag set). This basically lets people using
a local Unix/Linux box take advantage of the searching and taging facilities
of Wacs from a command-line based image viewer.
Code Enhancement
As ever with a piece of under-development code, there are many new
features being thought about, planning and on the horizon. This section
summarises a few of the key ones and provide a list of possible projects
to consider if you wish to work on the WACS codebase.
Install
The current manual installation proceedure is pretty complex. The easyinstall
script was the first step down the path to a "works-out-of-the-box" version
of Wacs, but this needs much more work to be likely to work on a reasonable
set of Linux distributions. The upgrade script is also somewhat basic and
doesn't really cope very well with things which MIGHT have changed. It has
got a little better in later 0.6.x releases as it'll now install a lot of
icons if they don't already exist.
Security
The basic security mechanism is complete: basic enforcement, login, lease
handling, user role and a fairly complete implementation of exclusion
preferences are all present. Not all applications that should use the
exclusion mechanism are yet aware of it.
Initial code has been added to limit the amount of damage "viewer" grade users
can do. Again there is more work to do on this.
The login screen which adds a temporary lease for that user/host combination
is now complete and seems to work; it includes the consent tick box and
the preference exclusions requests.
Future work includes accepting connections which specify an HTTP_USER and
HTTP_PASSWORD and not requiring them to reauthenticate if the details given
are valid.
Hooks have also been placed within the configuration system to allow for
future alternative techniques for authentication with a user account
database schema a distinct possibility.
Rating Tools
At present ratings are added using the SQL command interface. It would
be much better if ratings could just be added through the web interface,
but this should probably only be open to certain users (ie the owner).
Support for searching for specific ratings has been properly added and
tested with the 0.6.2 release.
Hopefully this tool should be ready for the 0.7.x release series.
Location
With the 0.6.2 schema change set, some new fields have been introduced
that in 0.7.x should support a location attribute. There will be two
parts to it - slocation will contain a very basic set of
pre-defined entries - obvious ones are: Bedroom, Bathroom, Kitchen,
Lounge, Garden, Country, Studio, etc. The second one slocdetail will
allow a slightly freer description, although still standardised, allowing
things like Gym, Swimming Pool, Shop, Office, etc. The core location
values if set, should be both searchable and featured in a pull down
menu on the model page.
Connections
The new connections (conn) database table is designed to allow extremely
flexible connections to be established between various records. There
aren't yet any clearly defined rules, but the idea is that if you have
say a particular piece of clothing belonging to a particular photographer
that you can establish a link between each of the sets featuring it.
It can be the same for a location, a theme, a style, etc - very flexible.
New Applications
More work is still needed - a web-based addmodel script is an obvious one
along with an interface to guide people through adding a new IDmap entry
for an existing model. Similarly a web interface to generate would be useful.
Metadata Exchange
A long term project which I would consider really interesting would be
to allow the free exchange of metadata between Wacs users. Information
on other web sites that also feature sets by favourite models, attributes
definitions and long format set names linked back to the source set id
would make importing new sets quicker and more efficient. Of course a
protocol and standard format would need to be defined along with some
absolute frame of reference for each model and set. Hopefully a
developer community around the GPL'd version of Wacs can work towards
this goal. The wacsexport and wacsimport scripts already allow the
exchange of model details, and this will be expanded over time.
Programming Interface
While Wacs is designed to operate as a free standing site, there is
definitely a draw to making it extensible and configurable for people
who want to develop their own user interfaces. To this end a PHP interface
module has been developed, and the documentation on programming using the
Wacs API has been enhanced (with more to come). A future direction may
be to include some alternative site "skins" which can be laid over the
basic Wacs system. If someone is keen to work on this, please contact
beaky.
Back to WACS Documentation Index