2011-02-02 06:08:48 +08:00
|
|
|
source :rubygems
|
2011-02-01 09:57:29 +08:00
|
|
|
|
2011-09-27 13:28:33 +08:00
|
|
|
ONE_NINE = RUBY_VERSION >= "1.9."
|
|
|
|
|
2011-09-27 23:43:05 +08:00
|
|
|
gem 'rails', '2.3.14'
|
2011-02-01 09:57:29 +08:00
|
|
|
gem 'authlogic', '2.1.3'
|
2011-10-27 04:47:13 +08:00
|
|
|
#gem 'aws-s3', '0.6.2', :require => 'aws/s3'
|
|
|
|
# use custom gem until pull request at https://github.com/marcel/aws-s3/pull/41
|
|
|
|
# is merged into mainline. gem built from https://github.com/lukfugl/aws-s3
|
|
|
|
gem "aws-s3-instructure", "~> 0.6.2.1319643167", :require => 'aws/s3'
|
make "stay logged in" use a one-time token
closes #6382
Previously, the "stay logged in" cookie just used the authlogic default
implementation, which is the pseudonym persistence_token. This is a
problem, because that persistence_token only ever changes when the
pseudonym password changes, so it's the same everywhere; so if that
cookie is stolen, it's valid for a very long time.
This switches us to one-time-use tokens that expire as soon as the token
logs the user in once. Each user agent also gets a different
one-time-use token.
Change-Id: I4f20cd7759fd74590e82ed55797552e342243d49
testplan:
* Check that no token is set at all when "stay logged in" isn't
selected.
* Check "stay logged in", and verify:
* That you don't have to login again after restarting your browser,
but your _normandy_session got reset.
* That if you save and try to replay using the same
pseudonym_credentials, they don't work the second time.
* That a second browser will get a different pseudonym_credentials
value, and using one token doesn't affect the other.
* That once the token is used, a new one is generated and set in
your cookies. Verify this new token works as well.
* That logging out removes the pseudonym_credentials cookie in your
browser. And also that manually restoring this cookie still
doesn't log you in, since it was removed server-side as well.
* Change your password, and verify that the existing "stay logged in"
tokens no longer work.
* Delete your pseudonym, and verify the same.
Reviewed-on: https://gerrit.instructure.com/7093
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Cody Cutrer <cody@instructure.com>
Reviewed-by: Zach Wily <zach@instructure.com>
2011-11-22 05:20:48 +08:00
|
|
|
gem 'bcrypt-ruby', '3.0.1'
|
2011-02-01 09:57:29 +08:00
|
|
|
gem 'builder', '2.1.2'
|
|
|
|
gem 'daemons', '1.1.0'
|
|
|
|
gem 'diff-lcs', '1.1.2', :require => 'diff/lcs'
|
2012-05-09 10:04:43 +08:00
|
|
|
gem 'encrypted_cookie_store-instructure', '1.0.0', :require => 'encrypted_cookie_store'
|
2011-05-07 02:44:34 +08:00
|
|
|
gem 'erubis', '2.7.0'
|
conversation messages for submission comments, fixes #5443
this commit makes submission first-class citizens in conversations. this
means that when submission comments are added/deleted, or assignments are
unmuted, conversations and messages will be updated accordingly
the main impacts in the ui are:
1. submissions can be deleted from conversations. if a new comment is
added, they will reappear
2. submissions factor into the message total for the conversation. each
submission counts as a single message, even if there are multiple
comments
3. submission messages affect unread-ness, and are reflected in the
timestamp and text in the conversation preview
test plan:
1. confirm submissions appear in the appropriate conversations, i.e.
* submissions with no comments should not appear in any conversations
* submissions where there are comments but not by instructors:
* should appear in each instructor's private conversation with the
submitter
* should not appear in the submitter's private conversations with
anyone
* submissions where there are comments by instructors:
* should appear in each commenting instructor's private conversation
with the submitter
* should appear in submitter's private conversations with each
commenting instructor
adding or removing submission comments should update private
conversations accordingly (e.g. when one teacher comments on a
submission, it should be removed from the other teachers' private
conversations with the submitter).
2. for each scenario above where the submission comments are added and
appear in conversations, ensure that the submission as a whole behaves
like a single conversation message, i.e.
* the unread conversations count is incremented and the private
conversation is marked as unread (if it didn't exist or was already
read)
* the latest submission comment and timestamp should be reflected in
the conversation pane on the left side
* you can delete the submission from the conversation. if new comments
are posted on the submission, the submission should reappear in the
conversation (provided it still matches the criteria in 1.). note
that submission can not be forwarded to other conversations.
3. submissions should differ from traditional conversation messages in
that:
* they should not trigger conversation notifications
* they should not create/bump conversation stream items. if a
conversation has non-submission messages, the submission and its
comments should appear in the stream item, but they should not
cause it to jump to the top
migration:
existing submissions/comments will be migrated in, but not necessarily
through a traditional rails migration. to bring in those messages, run
the following from the rails console:
Submission.find_each{ |s| s.create_or_update_conversations!(:migrate) }
Change-Id: I06dcb8728402a6c4c613d445b80432a1f2973b73
Reviewed-on: https://gerrit.instructure.com/8086
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Jacob Fugal <jacob@instructure.com>
2012-01-16 23:39:31 +08:00
|
|
|
gem 'hairtrigger', '0.1.13'
|
2011-08-16 07:08:52 +08:00
|
|
|
gem 'haml', '3.1.2'
|
2011-09-27 13:28:33 +08:00
|
|
|
if !ONE_NINE
|
|
|
|
gem 'fastercsv', '1.5.3'
|
|
|
|
end
|
2011-03-30 05:18:17 +08:00
|
|
|
gem 'hashery', '1.3.0', :require => 'hashery/dictionary'
|
|
|
|
gem 'highline', '1.6.1'
|
2011-08-20 04:36:53 +08:00
|
|
|
gem 'i18n', '0.6.0'
|
2011-03-30 05:18:17 +08:00
|
|
|
gem 'icalendar', '1.1.5'
|
2011-02-01 09:57:29 +08:00
|
|
|
gem 'jammit', '0.6.0'
|
2011-12-07 06:39:11 +08:00
|
|
|
gem 'json', '1.5.2'
|
2011-02-01 09:57:29 +08:00
|
|
|
# native xml parsing, diigo
|
2012-05-01 06:28:47 +08:00
|
|
|
gem 'libxml-ruby', '2.3.2', :require => 'xml/libxml'
|
2011-08-11 01:53:45 +08:00
|
|
|
gem 'macaddr', '1.0.0' # macaddr 1.2.0 tries to require 'systemu' which isn't a dependency
|
2012-04-25 03:32:45 +08:00
|
|
|
gem 'mailman', '0.5.0'
|
2011-02-01 09:57:29 +08:00
|
|
|
gem 'mime-types', '1.16', :require => 'mime/types'
|
|
|
|
# attachment_fu (even the current technoweenie one on github) does not work
|
|
|
|
# with mini_magick 3.1
|
|
|
|
gem 'mini_magick', '1.3.2'
|
2011-09-04 13:19:47 +08:00
|
|
|
gem 'netaddr', '1.5.0'
|
2012-01-11 10:12:36 +08:00
|
|
|
gem 'nokogiri', '1.5.0'
|
2011-11-01 00:23:35 +08:00
|
|
|
gem 'oauth', '0.4.5'
|
2012-04-30 23:00:36 +08:00
|
|
|
gem 'rack', '1.1.3'
|
2011-09-27 23:44:15 +08:00
|
|
|
gem 'rake', '< 0.10'
|
2012-04-18 04:11:15 +08:00
|
|
|
gem 'rdoc', '3.12'
|
2011-09-30 05:47:49 +08:00
|
|
|
gem 'ratom-instructure', '0.6.9', :require => "atom" # custom gem until necessary changes are merged into mainstream
|
2012-05-12 06:32:11 +08:00
|
|
|
if !ONE_NINE
|
|
|
|
gem 'rbx-require-relative', '0.0.5'
|
|
|
|
end
|
2011-05-07 02:44:34 +08:00
|
|
|
gem 'rdiscount', '1.6.8'
|
2011-06-16 04:17:53 +08:00
|
|
|
gem 'require_relative', '1.0.1'
|
2011-05-25 03:12:22 +08:00
|
|
|
gem 'ritex', '1.0.1'
|
2011-02-01 09:57:29 +08:00
|
|
|
gem 'rscribd', '1.2.0'
|
|
|
|
gem 'ruby-net-ldap', '0.0.4', :require => 'net/ldap'
|
2012-05-15 03:52:00 +08:00
|
|
|
gem 'ruby-saml-mod', '0.1.14'
|
2011-04-08 07:01:32 +08:00
|
|
|
gem 'rubycas-client', '2.2.1'
|
2011-02-01 09:57:29 +08:00
|
|
|
gem 'rubyzip', '0.9.4', :require => 'zip/zip'
|
2012-01-11 10:12:36 +08:00
|
|
|
gem 'sanitize', '2.0.3'
|
2011-06-11 00:07:31 +08:00
|
|
|
gem 'uuid', '2.3.2'
|
2011-02-01 09:57:29 +08:00
|
|
|
gem 'will_paginate', '2.3.15'
|
2011-03-30 05:18:17 +08:00
|
|
|
gem 'xml-simple', '1.0.12', :require => 'xmlsimple'
|
2011-03-30 05:30:40 +08:00
|
|
|
# this is only needed by jammit, but we're pinning at 0.9.4 because 0.9.5 breaks
|
|
|
|
gem 'yui-compressor', '0.9.4'
|
2012-05-08 04:18:47 +08:00
|
|
|
gem 'foreigner', '0.9.2'
|
2011-02-01 09:57:29 +08:00
|
|
|
|
2012-04-19 00:24:58 +08:00
|
|
|
group :assets do
|
|
|
|
gem 'compass-rails', '1.0.1'
|
|
|
|
end
|
|
|
|
|
2011-03-01 08:37:39 +08:00
|
|
|
group :mysql do
|
|
|
|
gem 'mysql', '2.8.1'
|
|
|
|
end
|
|
|
|
|
|
|
|
group :postgres do
|
|
|
|
gem 'pg', '0.10.1'
|
|
|
|
end
|
|
|
|
|
2011-05-21 06:15:29 +08:00
|
|
|
group :sqlite do
|
|
|
|
gem 'sqlite3-ruby', '1.3.2'
|
|
|
|
end
|
|
|
|
|
2011-02-01 09:57:29 +08:00
|
|
|
group :test do
|
2012-03-21 04:04:10 +08:00
|
|
|
gem 'coffee-script'
|
2012-04-12 06:32:26 +08:00
|
|
|
gem 'coffee-script-source', '1.3.1' #pinned so everyone's compiled output matches
|
2011-03-30 05:18:17 +08:00
|
|
|
gem 'bluecloth', '2.0.10' # for generating api docs
|
2012-04-12 06:31:15 +08:00
|
|
|
gem 'parallel', '0.5.16'
|
2012-04-26 04:50:31 +08:00
|
|
|
gem 'parallelized_specs', '0.1.9'
|
2011-10-26 07:15:30 +08:00
|
|
|
gem 'mocha', '0.10.0'
|
2011-03-30 05:18:17 +08:00
|
|
|
gem 'rcov', '0.9.9'
|
2011-09-21 06:00:33 +08:00
|
|
|
gem 'rspec', '1.3.2'
|
|
|
|
gem 'rspec-rails', '1.3.4'
|
2012-02-11 01:31:06 +08:00
|
|
|
gem 'selenium-webdriver', '2.19.0'
|
2011-09-30 06:43:20 +08:00
|
|
|
gem 'webrat', '0.7.3'
|
2012-05-04 00:14:19 +08:00
|
|
|
gem 'yard', '0.8.0'
|
2011-09-27 13:28:33 +08:00
|
|
|
if ONE_NINE
|
|
|
|
gem 'test-unit', '1.2.3'
|
|
|
|
end
|
2011-02-01 09:57:29 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
group :development do
|
2012-03-21 04:04:10 +08:00
|
|
|
gem 'coffee-script'
|
2012-04-12 06:32:26 +08:00
|
|
|
gem 'coffee-script-source', '1.3.1' #pinned so everyone's compiled output matches
|
2012-04-12 06:31:15 +08:00
|
|
|
gem 'parallel', '0.5.16'
|
2011-09-27 13:28:33 +08:00
|
|
|
if ONE_NINE
|
2012-05-13 04:44:03 +08:00
|
|
|
gem 'debugger', '1.1.3'
|
2011-09-27 13:28:33 +08:00
|
|
|
else
|
|
|
|
gem 'ruby-debug', '0.10.4'
|
|
|
|
end
|
2011-06-16 23:22:00 +08:00
|
|
|
gem 'ruby_parser', '2.0.6'
|
|
|
|
gem 'sexp_processor', '3.0.5'
|
2011-07-16 00:59:22 +08:00
|
|
|
gem 'ya2yaml', '0.30'
|
2011-09-29 02:48:05 +08:00
|
|
|
gem 'guard'
|
2011-02-01 09:57:29 +08:00
|
|
|
end
|
|
|
|
|
2011-03-23 07:02:27 +08:00
|
|
|
group :redis do
|
2011-07-07 05:43:19 +08:00
|
|
|
gem 'redis-store', '1.0.0.rc1'
|
2011-03-23 07:02:27 +08:00
|
|
|
end
|
|
|
|
|
2012-05-16 05:15:11 +08:00
|
|
|
group :embedly do
|
|
|
|
gem 'embedly', '1.5.5'
|
|
|
|
end
|
|
|
|
|
2011-02-01 09:57:29 +08:00
|
|
|
# Non-standard Canvas extension to Bundler behavior -- load the Gemfiles from
|
|
|
|
# plugins.
|
|
|
|
Dir[File.join(File.dirname(__FILE__),'vendor/plugins/*/Gemfile')].each do |g|
|
|
|
|
eval(File.read(g))
|
|
|
|
end
|