Giter Site home page Giter Site logo

ltiadvantage's Introduction

LTI Advantage Libraries for .NET

NuGet

Library Release Prerelease
LtiAdvantage Nuget Nuget (with prereleases)
LtiAdvantage.IdentityModel Nuget Nuget (with prereleases)
LtiAdvantage.IdentityServer4 Nuget Nuget (with prereleases)
LtiAdvantage.AspNetCore Nuget Nuget (with prereleases)

Build Status

CI Env Status
AppVeyor Windows Build status
travis-ci Ubuntu Build Status

Getting Started

There are two sample applications you can reference for ideas:

ltiadvantage's People

Contributors

adbindal avatar andyfmiller avatar chriswritable avatar ddunkin avatar dependabot[bot] avatar jeroenhabets avatar jmpease avatar srijken avatar victorbush avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ltiadvantage's Issues

Feature: Data Privacy Launch support?

It's still early days but is anyone here involved in this or interested in LTI's new Data Privacy Launch? (*)

It "Allows LTI-enabled tools to assist administrative users in managing and executing requests related to data privacy." and we may be asked to implemented this some time in the future.

(*) NOTE: Data Privacy Launch 1.0 is a "Member Base Document" so only accessible as IMS member (which my current company is not).

To be transparent: I don't foresee our customers asking for this any time soon, and hence my team won't be looking into it in more detail any time soon either. If the requirement would arise of course it would be good to share experiences and ideally some dedicated support in this library.

Thanks in advance! Jeroen

LTI Advantage for .Net framework

Hello,

We are looking to update our code to LTI Advantage from 1.1 and noticed that it is built in .net core. Our project is in .net framework. Any suggestions?

Licensing

We noticed that this and all of your other LTI libraries on GitHub (which are a terrific resource!) do not appear to have any license specified. Therefore, technically it is a copyright violation for anyone to use the source code or a fork of it in any projects. Can you please provide an explicit license? MIT would be wonderful if possible. Here's an example project that has the license details configured: https://github.com/icsharpcode/SharpZipLib/blob/master/LICENSE.txt

The NuGet packages are licensed Apache-2.0, but that only covers the NuGet distributions.

Why not next release version as 1.0

Discussed in #78

Originally posted by jeroenhabets October 8, 2023
This library has been successfully used by many companies (though difficult to get data, I personally know of at least a handful) so why the 0.2..-alpha version.

  • The core of LTI Advantage is covered, so the existing API will most likely no longer change.
  • It's being used successfully for years
  • Someone stumbling on this library may be off put by the 0.x / alpha version
  • Some companies have a mature versions only policy (1.0 or even 1.1)

So @srijken why not do a release soon and call it 1.0?

P.S. I am planning a major regression test so a release (any release with the latest fixes and improvements) would be welcomed. If there is anything we can do to help, let me know.

Sample projects "out of date"

The getting stated links in the Readme both lead to Repos that state "This code is out of date*", however it's not clear where you are supposed to go to find examples that are up to date.

Setting Roles to single value results in incorrect claim value

If I set the Roles property to a single value:

var request = new LtiResourceRequest
{
   // ...
   Roles = new[] { LtiAdvantage.Lti.Role.ContextLearner }
};

Then the claim that gets sent is a string value (which is not correct and causes errors downstream):

"https://purl.imsglobal.org/spec/lti/claim/roles": "http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"

However, if I set multiple values:

var request = new LtiResourceRequest
{
   // ...
   Roles = new[] { LtiAdvantage.Lti.Role.InstitutionLearner, LtiAdvantage.Lti.Role.ContextLearner }
};

Then it correctly sends an array:

"https://purl.imsglobal.org/spec/lti/claim/roles": ["http://purl.imsglobal.org/vocab/lis/v2/institution/person#Learner", "http://purl.imsglobal.org/vocab/lis/v2/membership#Learner"]

I was working around this previously by setting multiple Roles but that is not always appropriate for all Role types

LTI Advantage for .Net framework

We want to implement LTI but did not found any proper get start documentation and working samples for the idea.
Is there any guideline and working sample code idea?

.Net 6

Hi @andyfmiller, @srijken

I am trying to build a "pure" .Net 6 version of the LtiAdvantage library and having numerous difficulties, unit tests not being found and various incompatibilities between JObject and JsonObject and so on (Newtonsoft is no longer needed when there's System.Text.JSon and so on) Do you plan to produce a .Net 6 build of the library or is the current .Net Standard build all we're likely to see? I really wanted a definitive build that leverages full .Net 6, the kind of library we'd build if we were starting afresh with .Net 6 today and had no interest in backward compatibility with .Net Framework etc.

Thanks

Unable to launch the tool from platform

we've tried with sample platform code and trying to launch the tool but unsuccessful.
Step 1:
Try to lunch the tool from platform
image

Step2 :
To send the request from tool to platform --> https://localhost:44338/connect/authorize
image

Step3:

Its not redirect back to the tool. Instead it gives below error

No webpage was found for the web address: https://localhost:44338/home/error?errorId=CfDJ8D7JpAcSF21NlB5naY6O_UyFSgwoegOhAu0Mv_SzqNDzAnn5buXLEqDFZl6miaOQBDNpzTPBWyk5dburepdeqRfUAUyaPz7OcaFWBjeptC6LXuCKVWw-YopU9Mx5bGIhBTIzkGYnvJaqRbGihkdpycA-8NNX77lcfYMAC_NHpUSKSbOD7DrgGZP4k1ofiZ3bUfxqSmvnNt5-YSAHxaF87sMg8m_bm38wbLw1wOlB4FGCHoL5xkZHNcPPwFU3VxEUbdQrpflgbAESgzwozVzibafGObOUbxpSeJF4QFtKaPFESc04EZsnrgcWfLSfmO5VNw
HTTP ERROR 404

image

Adding LtiAdvantage to NuGet

Hi Andy, do you have any plans to add this library to NuGet now that the IMS Security Framework has been finalised?

P.S Great work on this, helped me a lot with understanding how LTI 1.3 works. Thanks.

Supporting LTI 1.1 and Advantage

I am new to LTI and hoping to support LTI 1.1 (which many SIS / LMS currently support) as well as LTI Advantage. I am having a hard time finding test environments or scenarios to make sure that my LTI Tool works. Any ideas? I found the LTI Advantage Tool... but I need something that will ensure that my code will work with LTI 1.1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.