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.
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.
It will also be possible to use connections for binding together sets
and videos that feature the same scenario, and will be the building block
to creating galleries. So far there is only an SQL interface to adding
new connections and this needs to change.
New Applications
Within series 0.7.x, a lot of work has been going on in terms of adding
new web-based collection management tools - the model manager, set manager,
unpack and placement managers all being good examples. We also took a look
at the large number of SQL scripts lying around and decided to build them
into a new web-based statistics application. More applications are still
needed including a preferences manager and the connections manager; hopefully
these will be added as the 0.7.x series progresses.
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 is significantly expanded in 0.7.3
with the inclusion of wacsxmlin and wacsxmlout for transfering set
details.
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). At present the PHP interface
is mostly focused on interfacing with the configuration files and database
routines, but future plans include more general API functions to make
developing PHP pages easier. With 0.7.3, we've introduced the wacsui module
which provides content related API calls in both Perl and PHP.
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