hudmol/archivesspace — pull request #270 by payten (2013-02-13 02:07:31+00:00)
Title: First crack at the Public interface

I thought I'd put in a PR for this branch for feedback and suggestions. The public application itself is fairly close to satisfying the first two pivotal tasks as it has a browse, search and summary page for records.

I can build the application locally (build/run public:war) and have included it in the dist process.

When running via build/run public:devserver, you'll find it on port 3001.
When running via the distribution, you'll find it on port 8081 by default.

Other than the new /public rails app, there's quite a few other things going on to support the new application.

backend
- added a public user with read access to things
- also modified unlisted_user_ids to generate from a list of usernames (namely the public and search usernames)
- added a new /search endpoint that allows searching the index across repositories
- use bundler to pull in gems (rather than specific 'requires') as was causing conflicts with gems in the shared gem path... this may no longer be an issue as I've reverted the public rails app to use the same version as frontend.

build
- introduce public:war, public:clean and public:devserver
- add public:war to the dist
- also added a command for the selenium tests selenium:public:test

common/config
- added entries and methods required for the public app (mostly mimicked from the frontend entries)

frontend:
- there's only a few little bug fixes / tweaks... actually nothing to do with the public interface :/

public
- the rails app... I won't go into too much detail but there's currently only one controller site_controller.rb to service the search and two record views. We can introduce more controllers if it gets more complicated... at the moment it's quite a simple app.
- it uses bootstrap and the same mechanism for themes (this may need to change as repositories may influence the theme in the future)

selenium-public
- selenium tests for the public app
- only a few tests in there to get things started
- NB these haven't been included in the build/run test script yet...