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.

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