-
Notifications
You must be signed in to change notification settings - Fork 421
1.0 Roadmap
During the initial development of Forem, we asked people to point to Forem in their Gemfile
like this:
gem 'forem', :git => "git://github.com/radar/forem"
As of this writing, Forem's current development and all installations of Forem are using the master
branch of the repository. There is probably going to be a point where this is no longer A Good Idea. This point is rapidly approaching.
To fix this little issue, we will tag a 1.0 release. Before this though, there are some large sweeping changes that we are going to implement to round out the release. They are as follows.
Currently, for syntax highlighting, we're using forem-redcarpet
. This gem works well, but has a dependency on a gem that needs Python installed. We believe that you shouldn't need to have Python installed to run Forem.
We will be switching to using highlight.js
instead. This means the syntax highlighting will be done client-side, rather than server-side.
We're going to be upgrading the permissions system to operate with user groups, rather than on particular users. This would allow groups of users to be assigned a single permission, such as being able to post to a forum, while denying other groups.
This change requires a fundamental re-think of the permissions system currently inside Forem. We will be switching to having a forem_groups
table, with a forem_permissions
table keeping track of what users have what permissions on what objects.
We will also be adding a moderation system to Forem. Upon their first post, users will be placed into a moderation queue where moderators may review their first topic / post before reviewing it. After they've been vetted, users will be able to post freely. There will also be reporting of posts by users.
This is discussed further in Issue #156.
Forem will also come with a default theme, providing a file at app/views/layouts/forem.html.erb
inside the engine that will be used as the default layout for the engine. To customize the layout used, people can place this code inside their config/initializers/forem.rb
:
config.to_prepare do
Forem::ApplicationController.layout :not_forem
end
This will then use app/views/layouts/not_forem.html.erb
, which could exist inside the application or, optionally, another engine.
Once the above tasks are complete, we will tag 1.0 and ask that users to point to this tag rather than directly at master in the future.