Skip to content

Commit

Permalink
Add 'discussion' criteria. Fixes #186
Browse files Browse the repository at this point in the history
  Based on a comment from Karl Fogel.  See the lengthy discussion at
  #186

Signed-off-by: David A. Wheeler <dwheeler@dwheeler.com>
  • Loading branch information
david-a-wheeler committed Jan 30, 2016
1 parent 161d734 commit 65ebe74
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 1 deletion.
2 changes: 2 additions & 0 deletions app/models/project.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ class Project < ActiveRecord::Base
# Documentation
documentation_basics: ['MUST', false, false],
documentation_interface: ['MUST', false, false],
# Other
discussion: ['MUST', false, false],
# CHANGE CONTROL
# Public version-controlled source repository
repo_url: ['MUST', false, false],
Expand Down
20 changes: 20 additions & 0 deletions app/views/projects/_form.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,26 @@ The project MUST include reference documentation that describes its interface.},
The project MAY use hypertext links to non-project material as documentation.
}}) %>


<br><br>
<h3>Other</h3>

<%= render(partial: "status_chooser", locals: {f: f, is_disabled: is_disabled,
criteria: "discussion", desc: %{
The project MUST have one or more mechanisms
for discussion (including proposed changes and issues) that are
searchable, allow messages and topics to be addressed by URL,
enable new people to participate in some of the discussions, and
do not require client-side installation of proprietary software.},
details: %{
Examples of acceptable mechanisms include
GitHub issue and pull request discussions, Bugzilla, Mantis, and Trac.
Asynchronous discussion mechanisms (like IRC) are acceptable if
they meet these criteria; make sure there is a URL-addressable
archiving mechanism.
Proprietary Javascript, while discouraged, is permitted.
}}) %>

<br><br><br>

<h2 class="center h2">Change Control</h2>
Expand Down
20 changes: 20 additions & 0 deletions db/migrate/20160130165746_add_discussion.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
class AddDiscussion < ActiveRecord::Migration
def change
add_column :projects, :discussion_status, :string, default: '?'
add_column :projects, :discussion_justification, :text

reversible do |dir|
dir.up do
execute <<-SQL
UPDATE projects
SET discussion_status='Met',
discussion_justification='GitHub issue tracker and pull requests support discussion'
WHERE project_homepage_url LIKE '%github.com%' OR
repo_url LIKE '%github.com%' ;
SQL
end
# dir.down do ...
# end
end
end
end
4 changes: 3 additions & 1 deletion db/schema.rb
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.

ActiveRecord::Schema.define(version: 20160123144005) do
ActiveRecord::Schema.define(version: 20160130165746) do

create_table "projects", force: :cascade do |t|
t.integer "user_id"
Expand Down Expand Up @@ -156,6 +156,8 @@
t.string "test_continuous_integration_status", default: "?"
t.text "test_continuous_integration_justification"
t.string "cpe"
t.string "discussion_status", default: "?"
t.text "discussion_justification"
end

add_index "projects", ["user_id", "created_at"], name: "index_projects_on_user_id_and_created_at"
Expand Down
17 changes: 17 additions & 0 deletions doc/criteria.md
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,23 @@ Note that:
<sup>[<a href="#documentation_interface">documentation_interface</a>]</sup>
- The project MAY use hypertext links to non-project material as documentation.


*Other*

- <a name="discussion"></a>The project MUST have one or more mechanisms
for discussion (including proposed changes and issues) that are:
- searchable,
- allow messages and topics to be addressed by URL,
- enable new people to participate in some of the discussions, and
- do not require client-side installation of proprietary software.
Examples of acceptable mechanisms include
GitHub issue and pull request discussions, Bugzilla, Mantis, and Trac.
Asynchronous discussion mechanisms (like IRC) are acceptable if
they meet these criteria; make sure there is a URL-addressable
archiving mechanism.
Proprietary Javascript, while discouraged, is permitted.
<sup>[<a href="#discussion">discussion</a>]</sup>

### Change control

*Public version-controlled source repository*
Expand Down

0 comments on commit 65ebe74

Please sign in to comment.