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.

Notifications You must be signed in to change notification settings

comparajogos/disraptor

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

  • Add body-styling of proxy to "disraptor-content"-div to prevent styling loss

    • at disraptor/assets/javascripts/discourse/routes/disraptor-proxy.js.es6:95

About

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.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 48.1%
  • JavaScript 42.5%
  • Handlebars 7.7%
  • SCSS 1.7%