<?xml version="1.0" encoding="UTF-8"?>
<wiki>
  <body>&lt;p&gt;This page documents the process to adapt the oscurrency codebase to run in a read-only hosting environment. At the moment, Heroku is my target platform.&lt;/p&gt;
&lt;p&gt;There are a number of barriers in the architecture of Insoshi which prevent it from running without access to the application server&amp;#8217;s local filesystem, specificaly image uploading, session management, insoshi usage reporting and user authentication.&lt;/p&gt;
&lt;p&gt;Image uploading can be solved with two steps. First by creating an Amazon S3 account and using the S3 backend to attachment_fu. Second, by using the Rmagick processor rather than ImageScience. ImageScience uses inline C, which needs to be compiled in a temporary directory. If the application server does not have access to local storage, this compiling stage will fail and all pages which display an avatar will throw an exception from RubyInline.&lt;/p&gt;
&lt;p&gt;Session management can be solved by generating a unique token for your deployed application in environment.rb&lt;/p&gt;
&lt;p&gt;User authentication is not solved yet. I have some local commits which hack around the limitations of requiring an rsa key pair in the filesystem but they are not ready to be pushed, as they require checking in a key to the deployment branch.&lt;/p&gt;
&lt;p&gt;Insoshi usage reporting can be disabled by following the &lt;span class=&quot;caps&quot;&gt;README&lt;/span&gt;.&lt;/p&gt;</body>
  <created-at type="datetime">2009-11-24T03:25:01-08:00</created-at>
  <id type="integer">346092</id>
  <permalink>hosting-oscurrency-on-a-read-only-repository</permalink>
  <repository-id type="integer">52116</repository-id>
  <title>Hosting oscurrency on a read-only repository</title>
  <updated-at type="datetime">2009-10-04T21:16:39-07:00</updated-at>
  <user-id type="integer">3917</user-id>
</wiki>
