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.
Disraptor’s documentation is available at disraptor.org/docs.
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.
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
cd discourse
git pull
bundle install
RAILS_ENV=development bundle exec rake db:migrate
-
Start the development server:
cd discourse RAILS_ENV=development bundle exec rails server
-
Go to 127.0.0.1:3000/qunit?qunit_single_plugin=disraptor&qunit_skip_core=1.
cd discourse
bundle exec rake plugin:spec["disraptor"]
-
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
- at