Skip to content
This repository

The Organization for Transformative Works (OTW) - Archive Of Our Own (AO3) Project

branch: master
Octocat-spinner-32 app Merge pull request #1626 from sarken/Issue-3066-Unescape-unsubscribed April 24, 2014
Octocat-spinner-32 config Merge pull request #1416 from sarken/issue_3832 April 21, 2014
Octocat-spinner-32 db Merge pull request #1572 from sarken/filtertaggings_migration_comment… April 10, 2014
Octocat-spinner-32 doc Issue 3952: Remove fic-centric language from gift notification email April 05, 2014
Octocat-spinner-32 features Merge pull request #1626 from sarken/Issue-3066-Unescape-unsubscribed April 24, 2014
Octocat-spinner-32 lib Also escape commas in Japanese April 19, 2014
Octocat-spinner-32 log Gitkeep the log dir February 09, 2011
Octocat-spinner-32 oldtest Merge branch 'refs/heads/master' into issue-3280-fire-openid January 07, 2013
Octocat-spinner-32 public 3719 Make text in meta line up with tags in meta April 24, 2014
Octocat-spinner-32 script Minimal files need to get tests to run under codeship February 23, 2014
Octocat-spinner-32 spec Tumblr link has no html April 21, 2014
Octocat-spinner-32 test Update admins.yml and users.yml to work when seeding March 21, 2014
Octocat-spinner-32 .coveralls.yml Fixing a typo January 26, 2014
Octocat-spinner-32 .gitignore Merge branch 'master' of git:// May 24, 2013
Octocat-spinner-32 .travis.yml Put --trace back in travis config since it didn't reduce verbosity af… April 19, 2014
Octocat-spinner-32 Capfile rake deploy:all_interactive October 25, 2010
Octocat-spinner-32 Gemfile minor tweak that removes double call to pry February 22, 2014
Octocat-spinner-32 Gemfile.lock Sync Gemfile.lock with current master copy. February 25, 2014
Octocat-spinner-32 Edit README to check autodeploy April 19, 2014
Octocat-spinner-32 Rakefile Fix for rake DSL warnings August 02, 2011
Octocat-spinner-32 using resque_mailer to background all email March 18, 2011

Build Status Coverage Status

Codeship Status

About OTW-Archive

The OTW-Archive software is an open-source web application intended for hosting archives of fanworks, including fanfic, fanart, and fan vids. Its development is sponsored by the Organization for Transformative Works (, a nonprofit organization by and for fans.

The OTW-Archive software is still in development and has not yet been released, but you can see it in action on the Archive of Our Own (, aka AO3), a multifandom archive also run by the OTW.

Our ultimate goal is to release OTW-Archive in a form that can be installed and used by any fan archivist who wants to create her own archive. You can get more information about our broad development plan at the OTW-Archive Roadmap:

Volunteers are always welcome both for coding and testing! Please contact us at: for full details, or browse the Github pages (

Description of Contents

OTW-Archive is built using the Ruby on Rails framework, and uses the standard structure of a Rails application. A few specific details are described here:

app Most of the code specific to this application lives under the app/ directory, organized into models (which represent the underlying objects in the database), views (which are the front end of the application), and controllers (which provide the glue).

Works in the archive (eg, individual fanfic stories) are represented by the files: models/work.rb, controllers/works_controller.rb, and views/works.

Users in the archive are represented by the files: models/user.rb, controllers/users_controller.rb, and views/users.

Most metadata in the archive (fandoms, characters, etc) is represented as tags: models/tag.rb, controllers/tags_controller.rb, views/tags

public You can find the stylesheets, javascript, help files, and images used in this application under the public/ directory.

db The overall archive database layout can be found in the file schema.rb

Something went wrong with that request. Please try again.