Skip to content

Instantly share code, notes, and snippets.

View natea's full-sized avatar

Nate Aune natea

View GitHub Profile
The problem is the way EDX implemented LTI. The parameter tool_consumer_instance_guid is not required, but strongly recommended, because is the only way for uniquely identification of the origin of the LTI request.
See what the specification (http://www.imsglobal.org/LTI/v1p1/ltiIMGv1p1.html) says:
tool_consumer_instance_guid=lmsng.school.edu
This is a unique identifier for the TC. A common practice is to use the DNS of the organization or the DNS of the TC instance. If the organization has multiple TC instances, then the best practice is to prefix the domain name with a locally unique identifier for the TC instance. In the single-tenancy case, the tool consumer data can be often be derived from the oauth_consumer_key. In a multi-tenancy case this can be used to differentiate between the multiple tenants within a single installation of a Tool Consumer. This parameter is strongly recommended in systems capable of multi-tenancy.
They don't even announce the product code which is fundamental for profiling
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_106e811268dbe4063c36583f6d3638eb/Rakefile:7)
remote: DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from <top (required)> at /tmp/build_106e811268dbe4
ubuntu@ip-172-31-45-245:/edx/var/log/rabbitmq$ tail /var/log/rabbitmq/[email protected]
=ERROR REPORT==== 16-Dec-2014::02:29:58 ===
closing AMQP connection <0.10582.40> (127.0.0.1:49183 -> 127.0.0.1:5672):
{handshake_error,starting,0,
{amqp_error,access_refused,
"PLAIN login refused: user 'edx' - invalid credentials",
'connection.start_ok'}}
=INFO REPORT==== 16-Dec-2014::02:29:59 ===
ubuntu@ip-172-31-45-245:/edx/var/log/rabbitmq$ sudo rabbitmqctl status
Status of node 'rabbit@ip-172-31-45-245' ...
[{pid,1435},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.2.3"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.2.3"},
{rabbit,"RabbitMQ","3.2.3"},
{mnesia,"MNESIA CXC 138 12","4.5"},
{os_mon,"CPO CXC 138 46","2.2.7"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.2.3"},
172.31.26.148 - - [16/Dec/2014:01:44:54 +0000] "GET /courses/healthshare/PatientIndex-01/2014-1/instructor/api/rescore_problem?unique_student_identifier=jamietitak&problem_to_reset=448fa375541266c7c6f1 HTTP/1.1" 400 26 "https://healthshare.learning.intersystems.com/courses/healthshare/PatientIndex-01/2014-1/instructor" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
- - 127.0.0.1 - - [16/Dec/2014:01:44:54 +0000] "GET /xqueue/get_queuelen/?queue_name=open-ended HTTP/1.1" 500 28 17.028 "-" "python-requests/1.1.0 CPython/2.7.3 Linux/3.2.0-69-virtual"
- - 127.0.0.1 - - [16/Dec/2014:01:44:54 +0000] "GET /xqueue/get_queuelen?queue_name=open-ended HTTP/1.1" 301 5 8.906 "-" "python-requests/1.1.0 CPython/2.7.3 Linux/3.2.0-69-virtual"
- - 127.0.0.1 - - [16/Dec/2014:01:44:54 +0000] "GET /grading_controller/status/ HTTP/1.1" 200 75 0.004 "-" "python-requests/1.1.0 CPython/2.7.3 Linux/3.2.0-69-virtual"
- - 127.0.0.1 - - [16/Dec/2014:01:45:02 +0
Dec 4 14:41:58 ip-172-31-17-166 [service_variant=lms][celery.worker.consumer][env:sandbox] ERROR [ip-172-31-17-166 17637] [consumer.py:397] - consumer: Connection to broker lost. Trying to re-establish the connection...
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/celery/worker/consumer.py", line 395, in start
self.consume_messages()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/celery/worker/consumer.py", line 458, in consume_messages
poll_timeout = (fire_timers(propagate=errors) if scheduled
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/celery/worker/hub.py", line 157, in fire_timers
entry()
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/celery/utils/timer2.py", line 59, in __call__
return self.fun(*self.args, **self.kwargs)
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 89, in get_response
response = middleware_method(request)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/newrelic-2.18.1.15/newrelic/hooks/framework_django.py", line 221, in wrapper
return wrapped(*args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/djangoapps/microsite_configuration/middleware.py", line 27, in process_request
microsite.set_by_domain(domain)
File "/edx/app/edxapp/edx-platform/common/djangoapps/microsite_configuration/microsite.py", line 145, in set_by_domain
if not has_configuration_set() or not domain:
File "/edx/app/edxapp/edx-platform/common/djangoapps/microsite_configuration/microsite.py", line 34, in has_configuration_set
Dec 4 00:14:12 ip-172-31-17-166 [service_variant=lms][django.request][env:sandbox] ERROR [ip-172-31-17-166 11115] [base.py:215] - Internal Server Error: /courses/InterSystems/TrakCare/2014/about
Traceback (most recent call last):
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/newrelic-2.18.1.15/newrelic/hooks/framework_django.py", line 492, in wrapper
return wrapped(*args, **kwargs)
File "/edx/app/edxapp/venvs/edxapp/local/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/edx/app/edxapp/edx-platform/common/djangoapps/util/cache.py", line 51, in _decorated
response = view_func(request, *args, **kwargs)
use microsite configuration from settings if the json can't be read
https://github.com/jazkarta/edx-platform/commit/5f7a6b6b1f9e795e2a4f9775414ca708d1334595
update microsite configuration from the json file written by edx-microsite-manager
https://github.com/jazkarta/edx-platform/commit/9748d49837ad774cf9c67d708bacb45a360a22d8
S3 bucket
https://github.com/jazkarta/edx-platform/commit/516b26574c43106aa51c7a3292eb09db3e3a7a80
Handle remote logo URL
{
"default": {
"course_about_show_social_links": false
},
"northshorelij": {
"domain_prefix": "northshorelij",
"SITE_NAME": "northshorelij.learning.intersystems.com",
"course_org_filter": "northshorelij",
"university": "North Shore LIJ",
"logo_image_url": "https://isclc-edxuploads.s3.amazonaws.com/microsites/logos/North_Shore-LIJ_logo_color.jpg",