Skip to content
Disraptor is a plugin for Discourse. It aims at offering Discourse’s core functionality (e.g. user management, authentication, etc.) to web applications so they don’t have to implement them.
Ruby JavaScript HTML CSS
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
assets
config
docs
lib
spec
test/javascripts/acceptance
README.md
plugin.rb

README.md

Disraptor

Disraptor is a plugin for Discourse. It aims at offering Discourse’s core functionality (e.g. user management, authentication, etc.) to web applications so they don’t have to implement these features themselves.

Content

Documentation

Disraptor’s documentation is available at disraptor.org/docs.

Development

If you plan to develop Disraptor, the tutorial “How to create a Discourse plugin” might be helpful in getting to know some of Rails’ and Discourse’s conventions.

Setup Discourse & Disraptor

To develop your web application with Disraptor, setup a Discourse development environment (Ubuntu) first.

After this is done, you can start Discourse in development mode:

cd discourse
RAILS_ENV=development bundle exec rails server

Update Discourse

cd discourse
git pull
bundle install
RAILS_ENV=development bundle exec rake db:migrate

Tests

Frontend tests

  1. Start the development server:

    cd discourse
    RAILS_ENV=development bundle exec rails server
  2. Go to 127.0.0.1:3000/qunit?qunit_single_plugin=disraptor&qunit_skip_core=1.

Backend tests

cd discourse
bundle exec rake plugin:spec["disraptor"]

To do

  • Test whether a Disraptor user can override Discourse routes such as /admin or /latest if the client-side code doesn’t block it.

  • Document how a Disraptor user can see a list of Discourse routes.

  • Change semantics of routes to have “targetDomain” and “URL path” instead of “source path” and “target URL”:

    http://example.org + /tira9-client-web
    

    instead of

    /tira9-client-web + http://example.org/tira9-client-web
    
  • Add user-specific meta data (needs clear specification and use cases → meeting)

You can’t perform that action at this time.