Open tmciver-mhe opened 9 years ago
The problem seems to be that there is a pending database migration that needs to be applied to the 'Tool Provider' app. Unfortunately, simply attempting to do the migration with bundle exec rake db:migrate
results in a Sqlite error that states that the lti2_tp_registrations
table already exists. Deleting this table allowed the database migration to proceed without error and the application does not then get the error described above when clicking 'Update' in the during the tool registration process.
Unfortunately, it does receive a '500 Internal Server Error' message on the web page. This seems it may have something to do with updating the lti2_tp_registrations
table with the data, but I'm not sure.
@tmciver-mhe I'll take a look later in the week.
I have the same problem...
Has any progress been made towards a solution for this?
I have not had time to look into this yet.
I was able to fix the schema migration by fixing the last migration file. The table and most entries already existed, just the new columns needed to be added.
20141020133931_create_lti2_tp_registries.lti2_tp.rb
# This migration comes from lti2_tp (originally 20131121012233)
class CreateLti2TpRegistries < ActiveRecord::Migration
def change
add_column :lti2_tp_registrations, :end_registration_id, :string, :after => :lti_version
add_column :lti2_tp_registrations, :proposed_tool_proxy, :text, :after => :end_registration_id
end
end
But now the TC throws a 500 server error
NoMethodError (undefined method `disposition=' for #Lti2Tc::DeploymentRequest:0x007fe63a54beb0):
Will try to dig into it more later.
I've been on medical leave (double knee replacement) since January 27th of this year and just coming back on stream in the last couple of weeks. It looks like there's been activity here during that time.
This repo is supposed to represent LTI2 version 2.0. LTI2.0 was released without support for 'reregistration'; that is, the ability to use the existing LTI trust relationship to renegotiate and update the ToolProxy (including credentials). However in this repo's master branch we picked up some tentative work on LTI2.1 with reregistration support. The 'disposition' parameter was an early approach to signal reregistration. It is no longer used in the 2.1 reregistration support. References to 'disposition' and to reregistration support should be able to be commented out to get this branch working.
Alternatively it looks like the branch labeled LTI2.0 in the LTI-Reference is an earlier version without disposition. This may also satisfy. But I haven't tried it and would have to reinstall some older RoR versions to get it working.
What I would recommend is the following: there is a much reworked version of all this which includes the real (still unreleased) 2.1 code. It also contains a much more elegant structure that James Rissler (jrissler) created based on Rails mountable engines. It is the version we've been using in production for some months now. I'll migrate that over to this public repo in the next week or so. However before I release it to LTI2-Reference I'll want to review it with our team to ensure we're not dragging over some proprietary stuff. So if you can wait for that it might be the best bet.
Thanks John, Don't know why I didn't try that before but yeah, the LTI2.0 branch seems to work just fine. Thanks for the response and I hope you're starting to feel better.
+1 @jtibbetts on moving the new model over instead of repairing this one.
This issue is seen when clicking the 'Update' button for the tool registration process described in step 11 of the "Getting It Running" section of the README.
I tried to resolve the issue by resetting the databases back to a clean state by issuing the command
bundle exec rake db:seed
in each application directory. When run in thetp_sample_app
directory, it aborted with a messages stating that there was 1 pending migration.I then ran the command
bundle exec rake db:migrate
which resulted in the following:I then renamed the
development.sqlite
file and reran the migrate command which seemed to work. Unfortunately, when I tried to register a tool, I saw the following screenshot: