Discourse integration with Grails

(Ian Kaplan) #1

This is my first post. I looked to see if this topic was covered, but didn’t find anything.

I am building a complex Amazon Web Services hosted application.

I am using Grails to develop the application. Grails provides much of the functionality that is provided by Ruby on Rails, but for Groovy/Java.

The application is tightly integrated in the way it controls access to content among the users. As a result, it would be difficult or impossible to host Discourse as a “side application”. I need the blog software integrated with the access and security layers that I have implemented.

Is it possible to host Discourse on a non-Rails backend? Would doing so require a complete rewrite of a large base of server code or is there a straight forward API?

Many thanks,

(Blake Erickson) #2

It is not possible to host Discourse on a non-Rails backend and you also need to use PostgreSQL (which I’m assuming you aren’t using either?).

You are probably better off just building your own simple forum in Java inside of your app so that you can use your existing tightly integrated access controls.

You can however implement SSO and only allow certain users to view certain categories.

(Ian Kaplan) #3

Thanks for the post, Blake.

I am using Postgres, but I only use Postgres for storing user information like user name, password and profile. Basically, highly relational data. For user created content, like discussion posts, comments, blog text and images, I’m planning to store the data on Amazon S3 and index it using a key/value store, either MongoDB or Riak (I’m leaning toward Riak, currently).

I guess that in the best of all possible worlds I was hoping to find something like Discourse with a server layer API which I could support on Grails, using S3 storage. I really like the look and operation of Discourse, but I had a feeling that it might not work. Still, I thought that I’d ask.

Right now I’m thinking of using CKEdit (which has nice Java support) and a Twitter Bootstrap blog template (from {wrap}Bootstrap).

Thanks again,