From 9ed1339b5f8b8aa8d3c4d79a5deb503f537c7eca Mon Sep 17 00:00:00 2001 From: Charles Severance Date: Sun, 9 Oct 2022 08:00:54 -0400 Subject: [PATCH] SAK-46983 LTI rename visible "basiclti" to "lti" (#10922) * SAK-46983 - Rename visible "basislti" -> "lti" This renames easily changed visible basic lti values to lti This does not reorganize the siurce folders or package names * Fix review comments from Earle and Brian * Another tranche of name changing --- .../AssignmentEntityProvider.java | 4 +- .../assignment/tool/AssignmentAction.java | 2 +- basiclti/README.md | 8 +- basiclti/basiclti-api/pom.xml | 2 +- .../org/sakaiproject/lti/api/LTIService.java | 2 +- .../org/sakaiproject/blti/ServiceServlet.java | 4 +- .../org/sakaiproject/lti13/LTI13Servlet.java | 4 +- basiclti/basiclti-common/LICENSE | 2 +- basiclti/basiclti-common/NOTICE | 10 --- basiclti/basiclti-common/README | 6 +- basiclti/basiclti-common/pom.xml | 2 +- .../basiclti/util/SakaiBLTIUtil.java | 84 +++++++++--------- .../basiclti/util/SimpleEncryption.java | 2 +- .../BLTIEventsEntityProvider.java | 2 +- .../org/sakaiproject/lti13/LineItemUtil.java | 2 +- .../src/main/resources/META-INF/LICENSE | 2 +- .../src/main/resources/META-INF/NOTICE | 10 --- .../src/main/resources/META-INF/README | 14 --- .../util/foorm/TestFoormJUnit.java | 2 +- basiclti/basiclti-docs/pom.xml | 2 +- basiclti/basiclti-impl/pom.xml | 2 +- .../impl/BasicLTISecurityServiceImpl.java | 31 +++---- .../sakaiproject/lti/impl/BaseLTIService.java | 2 +- .../impl/SiteMembershipsSynchroniserImpl.java | 4 +- .../org/sakaiproject/lti13/OIDCServlet.java | 4 +- .../src/bundle/basiclti-events_es.properties | 2 +- .../bundle/basiclti-events_zh_CN.properties | 2 +- .../src/bundle/basiclti_zh_CN.properties | 6 +- .../sakaiproject/blti/ProviderServlet.java | 24 ++--- .../sakaiproject/portlets/IMSBLTIPortlet.java | 6 +- basiclti/basiclti-tool/pom.xml | 2 +- .../src/bundle/ltitool.properties | 2 +- .../src/bundle/ltitool_ar.properties | 2 +- .../src/bundle/ltitool_ca.properties | 2 +- .../src/bundle/ltitool_de_DE.properties | 2 +- .../src/bundle/ltitool_es.properties | 2 +- .../src/bundle/ltitool_eu.properties | 2 +- .../src/bundle/ltitool_fr_FR.properties | 2 +- .../src/bundle/ltitool_ro_RO.properties | 2 +- .../src/bundle/ltitool_tr_TR.properties | 2 +- .../sakaiproject/blti/tool/LTIAdminTool.java | 8 +- ...basiclti.admin.xml => sakai.lti.admin.xml} | 2 +- .../basiclti-tool/src/webapp/WEB-INF/web.xml | 2 +- basiclti/docs/README.md | 8 +- ...sakai_basiclti_api.md => sakai_lti_api.md} | 24 ++--- .../media/image1.png | Bin .../media/image2.png | Bin .../media/image3.png | Bin .../media/image4.png | Bin ...siclti_portlet.md => sakai_lti_portlet.md} | 72 +++++++-------- .../media/image1.png | Bin .../media/image2.png | Bin .../media/image3.png | Bin .../media/image4.png | Bin .../media/image5.png | Bin .../media/image6.png | Bin .../media/image7.png | Bin .../media/image8.png | Bin ...clti_provider.md => sakai_lti_provider.md} | 16 ++-- .../media/image1.png | Bin .../media/image2.png | Bin .../media/image3.png | Bin .../media/image4.png | Bin ...basiclti_vendor.md => sakai_lti_vendor.md} | 41 +++++---- .../media/image1.png | Bin .../media/image2.png | Bin basiclti/pom.xml | 2 +- basiclti/tsugi-util/NOTICE | 2 +- basiclti/tsugi-util/README.md | 2 +- .../org/tsugi/basiclti/BasicLTIConstants.java | 14 +-- .../java/org/tsugi/basiclti/BasicLTIUtil.java | 6 +- .../src/main/resources/META-INF/LICENSE | 2 +- .../src/main/resources/META-INF/NOTICE | 4 +- .../src/main/resources/META-INF/README | 6 +- .../config/bundle/default.sakai.properties | 65 +++++++------- .../bundle/experimental.sakai.properties | 22 ++--- .../providers/SiteEntityProvider.java | 2 +- .../util/impl/FormattedTextTest.java | 2 +- lessonbuilder/README | 2 +- .../lessonbuildertool/service/BltiEntity.java | 6 +- .../service/LessonBuilderEntityProducer.java | 3 +- .../tool/producers/LtiImportItemProducer.java | 4 +- lessonbuilder/tool/src/webapp/js/show-page.js | 8 +- library/src/webapp/js/headscripts.js | 2 +- mycalendar/src/webapp/scripts/mycalendar.js | 2 +- .../portal/service/PortalServiceImpl.java | 2 +- .../sakaiproject/portal/util/ToolUtils.java | 2 +- .../tool/src/webapp/javascript/profile2.js | 2 +- .../sakaiproject/site/tool/MenuBuilder.java | 2 +- .../sakaiproject/site/tool/SiteAction.java | 2 +- .../vm/sitesetup/toolGroupMultipleDisplay.vm | 2 +- .../src/resources/Events.properties | 2 +- .../src/resources/Events_ar.properties | 2 +- .../src/resources/Events_ca.properties | 2 +- .../src/resources/Events_es.properties | 2 +- .../src/resources/Events_eu.properties | 2 +- .../src/resources/Events_fa_IR.properties | 2 +- .../src/resources/Events_fr_FR.properties | 2 +- .../src/resources/Events_hi_IN.properties | 2 +- .../src/resources/Events_mn.properties | 2 +- .../src/resources/Events_pt_BR.properties | 2 +- .../src/resources/Events_ro_RO.properties | 2 +- .../src/resources/Events_zh_CN.properties | 2 +- 103 files changed, 301 insertions(+), 333 deletions(-) delete mode 100644 basiclti/basiclti-common/NOTICE delete mode 100644 basiclti/basiclti-common/src/main/resources/META-INF/NOTICE delete mode 100644 basiclti/basiclti-common/src/main/resources/META-INF/README rename basiclti/basiclti-tool/src/webapp/WEB-INF/tools/{sakai.basiclti.admin.xml => sakai.lti.admin.xml} (95%) rename basiclti/docs/{sakai_basiclti_api.md => sakai_lti_api.md} (94%) rename basiclti/docs/{sakai_basiclti_api => sakai_lti_api}/media/image1.png (100%) rename basiclti/docs/{sakai_basiclti_api => sakai_lti_api}/media/image2.png (100%) rename basiclti/docs/{sakai_basiclti_api => sakai_lti_api}/media/image3.png (100%) rename basiclti/docs/{sakai_basiclti_api => sakai_lti_api}/media/image4.png (100%) rename basiclti/docs/{sakai_basiclti_portlet.md => sakai_lti_portlet.md} (92%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image1.png (100%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image2.png (100%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image3.png (100%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image4.png (100%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image5.png (100%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image6.png (100%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image7.png (100%) rename basiclti/docs/{sakai_basiclti_portlet => sakai_lti_portlet}/media/image8.png (100%) rename basiclti/docs/{sakai_basiclti_provider.md => sakai_lti_provider.md} (93%) rename basiclti/docs/{sakai_basiclti_provider => sakai_lti_provider}/media/image1.png (100%) rename basiclti/docs/{sakai_basiclti_provider => sakai_lti_provider}/media/image2.png (100%) rename basiclti/docs/{sakai_basiclti_provider => sakai_lti_provider}/media/image3.png (100%) rename basiclti/docs/{sakai_basiclti_provider => sakai_lti_provider}/media/image4.png (100%) rename basiclti/docs/{sakai_basiclti_vendor.md => sakai_lti_vendor.md} (92%) rename basiclti/docs/{sakai_basiclti_vendor => sakai_lti_vendor}/media/image1.png (100%) rename basiclti/docs/{sakai_basiclti_vendor => sakai_lti_vendor}/media/image2.png (100%) diff --git a/assignment/tool/src/java/org/sakaiproject/assignment/entityproviders/AssignmentEntityProvider.java b/assignment/tool/src/java/org/sakaiproject/assignment/entityproviders/AssignmentEntityProvider.java index 2d304de0a3c9..a125ede6a5db 100644 --- a/assignment/tool/src/java/org/sakaiproject/assignment/entityproviders/AssignmentEntityProvider.java +++ b/assignment/tool/src/java/org/sakaiproject/assignment/entityproviders/AssignmentEntityProvider.java @@ -707,7 +707,7 @@ public ActionReturn getGradableForSite(EntityView view , Map par Integer contentKey = assignment.getContentId(); if ( contentKey != null ) { // Fall back launch for SimpleAssignments without any user-submission - simpleAssignment.ltiGradableLaunch = "/access/basiclti/site/" + siteId + "/content:" + contentKey; + simpleAssignment.ltiGradableLaunch = "/access/lti/site/" + siteId + "/content:" + contentKey; Map content = ltiService.getContent(contentKey.longValue(), site.getId()); String contentItem = StringUtils.trimToEmpty((String) content.get(LTIService.LTI_CONTENTITEM)); @@ -716,7 +716,7 @@ public ActionReturn getGradableForSite(EntityView view , Map par String ltiSubmissionLaunch = null; for ( SimpleSubmitter submitter: submission.submitters ) { if ( submitter.id != null ) { - ltiSubmissionLaunch = "/access/basiclti/site/" + siteId + "/content:" + contentKey + "?for_user=" + submitter.id; + ltiSubmissionLaunch = "/access/lti/site/" + siteId + "/content:" + contentKey + "?for_user=" + submitter.id; // Instead of parsing, the JSON we just look for a simple existance of the submission review entry // Delegate the complex understanding of the launch to SakaiBLTIUtil diff --git a/assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java b/assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java index ed264f4bd16f..482ad6fdc015 100644 --- a/assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java +++ b/assignment/tool/src/java/org/sakaiproject/assignment/tool/AssignmentAction.java @@ -3479,7 +3479,7 @@ protected void setAssignmentFormContext(SessionState state, Context context) { Placement placement = toolManager.getCurrentPlacement(); // String contentReturn = SakaiBLTIUtil.getOurServerUrl() + "/portal/tool/" + placement.getId() + String contentReturn = serverConfigurationService.getToolUrl() + "/" + placement.getId() - + "/sakai.basiclti.admin.helper.helper" + + "/sakai.lti.admin.helper.helper" + "?panel=AssignmentsMain" + "&flow=assignment"; context.put("findExternalToolUrl", contentReturn); diff --git a/basiclti/README.md b/basiclti/README.md index af1da80399d0..d48bbfedc525 100644 --- a/basiclti/README.md +++ b/basiclti/README.md @@ -65,9 +65,9 @@ BASE_URL/portal/site/SITE_ID/tool/TOOL_ID?panel=ToolSite&sakai_action=doSearch&f New URLs used in export service : -------------------------------------------------------------------------------- -- CSV : BASE_URL/access/basiclti/site/SITE_ID/export:CSV -- Excel : BASE_URL/access/basiclti/site/SITE_ID/export:EXCEL +- CSV : BASE_URL/access/lti/site/SITE_ID/export:CSV +- Excel : BASE_URL/access/lti/site/SITE_ID/export:EXCEL You can also specify a filter with a TOOL_ID -- CSV : BASE_URL/access/basiclti/site/SITE_ID/export:CSV:TOOL_ID -- Excel : BASE_URL/access/basiclti/site/SITE_ID/export:EXCEL:TOOL_ID +- CSV : BASE_URL/access/lti/site/SITE_ID/export:CSV:TOOL_ID +- Excel : BASE_URL/access/lti/site/SITE_ID/export:EXCEL:TOOL_ID diff --git a/basiclti/basiclti-api/pom.xml b/basiclti/basiclti-api/pom.xml index 69d15b525218..9def19e59be1 100644 --- a/basiclti/basiclti-api/pom.xml +++ b/basiclti/basiclti-api/pom.xml @@ -8,7 +8,7 @@ 23-SNAPSHOT - BasicLTI API (basiclti-api) + LTI API (basiclti-api) org.sakaiproject.basiclti basiclti-api jar diff --git a/basiclti/basiclti-api/src/java/org/sakaiproject/lti/api/LTIService.java b/basiclti/basiclti-api/src/java/org/sakaiproject/lti/api/LTIService.java index 6697168b7f70..22f395d5d242 100644 --- a/basiclti/basiclti-api/src/java/org/sakaiproject/lti/api/LTIService.java +++ b/basiclti/basiclti-api/src/java/org/sakaiproject/lti/api/LTIService.java @@ -39,7 +39,7 @@ public interface LTIService extends LTISubstitutionsFilter { /** Constants */ String ADMIN_SITE = "!admin"; - String LAUNCH_PREFIX = "/access/basiclti/site/"; + String LAUNCH_PREFIX = "/access/lti/site/"; /** * This string starts the references to resources in this service. diff --git a/basiclti/basiclti-blis/src/java/org/sakaiproject/blti/ServiceServlet.java b/basiclti/basiclti-blis/src/java/org/sakaiproject/blti/ServiceServlet.java index 0280beda9bce..4fc0e2076a0b 100644 --- a/basiclti/basiclti-blis/src/java/org/sakaiproject/blti/ServiceServlet.java +++ b/basiclti/basiclti-blis/src/java/org/sakaiproject/blti/ServiceServlet.java @@ -79,7 +79,7 @@ /** * Notes: * - * This program is directly exposed as a URL to receive IMS Basic LTI messages + * This program is directly exposed as a URL to receive IMS LTI messages * so it must be carefully reviewed and any changes must be looked at carefully. * Here are some issues: * @@ -150,7 +150,7 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response) protected void doPostForm(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String ipAddress = request.getRemoteAddr(); - log.debug("Basic LTI Service Form request from IP={}", ipAddress); + log.debug("LTI Service Form request from IP={}", ipAddress); String allowOutcomes = ServerConfigurationService.getString( SakaiBLTIUtil.BASICLTI_OUTCOMES_ENABLED, SakaiBLTIUtil.BASICLTI_OUTCOMES_ENABLED_DEFAULT); diff --git a/basiclti/basiclti-blis/src/java/org/sakaiproject/lti13/LTI13Servlet.java b/basiclti/basiclti-blis/src/java/org/sakaiproject/lti13/LTI13Servlet.java index 61ce823b80f2..21404d377dbf 100644 --- a/basiclti/basiclti-blis/src/java/org/sakaiproject/lti13/LTI13Servlet.java +++ b/basiclti/basiclti-blis/src/java/org/sakaiproject/lti13/LTI13Servlet.java @@ -2197,9 +2197,9 @@ private void resultsForAssignment(String signed_placement, Site site, Assignment // Indicate "who" is reading this grade - needs to be a real user account String gb_user_id = ServerConfigurationService.getString( - "basiclti.outcomes.userid", "admin"); + "lti.outcomes.userid", "admin"); String gb_user_eid = ServerConfigurationService.getString( - "basiclti.outcomes.usereid", gb_user_id); + "lti.outcomes.usereid", gb_user_id); sess.setUserId(gb_user_id); sess.setUserEid(gb_user_eid); diff --git a/basiclti/basiclti-common/LICENSE b/basiclti/basiclti-common/LICENSE index 478e86136570..34c600a6d9ac 100644 --- a/basiclti/basiclti-common/LICENSE +++ b/basiclti/basiclti-common/LICENSE @@ -204,7 +204,7 @@ =============================================================================== -The BasicLTI Utilities (basiclti-util) distribution includes a number of subcomponents +These Utilities distribution includes a number of subcomponents with separate copyright notices and license terms. Your use of the code for the these subcomponents is subject to the terms and conditions of the following licenses. diff --git a/basiclti/basiclti-common/NOTICE b/basiclti/basiclti-common/NOTICE deleted file mode 100644 index 8a89346ad717..000000000000 --- a/basiclti/basiclti-common/NOTICE +++ /dev/null @@ -1,10 +0,0 @@ -BasicLTI Utilities (basiclti-util) -Copyright 2010 IMS Global Learning Consortium www.imsglobal.org - ------------------------------------------------------------ - -This product includes software (OAuth) developed by -AOL LLC., Google, Inc., and Netflix, Inc. (http://code.google.com/p/oauth/). - -This product includes software (Base64) developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/basiclti/basiclti-common/README b/basiclti/basiclti-common/README index bfec6b03c1b5..2fecb9b001fb 100644 --- a/basiclti/basiclti-common/README +++ b/basiclti/basiclti-common/README @@ -1,10 +1,10 @@ - IMS Global Learning Consortium BasicLTI Utilities + Sakai LTI Utilities What is it? ----------- - BasicLTI Utilities are a set of utility classes to aid in the development - of BasicLTI consumers and providers. They deal with much of the heavy lifting + These Utilities are a set of utility classes to aid in the development + of LTI consumers and providers. They deal with much of the heavy lifting and make the process more opaque to the developer. Licensing diff --git a/basiclti/basiclti-common/pom.xml b/basiclti/basiclti-common/pom.xml index e9f22cb81d03..82c16b259e31 100644 --- a/basiclti/basiclti-common/pom.xml +++ b/basiclti/basiclti-common/pom.xml @@ -8,7 +8,7 @@ 23-SNAPSHOT - BasicLTI Common (basiclti-common) + LTI Common (basiclti-common) org.sakaiproject.basiclti basiclti-common jar diff --git a/basiclti/basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java b/basiclti/basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java index 172f7ea60b27..9d6c4dbf645a 100644 --- a/basiclti/basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java +++ b/basiclti/basiclti-common/src/java/org/sakaiproject/basiclti/util/SakaiBLTIUtil.java @@ -122,7 +122,7 @@ import net.oauth.OAuth; /** - * Some Sakai Utility code for IMS Basic LTI This is mostly code to support the + * Some Sakai Utility code for IMS LTI This is mostly code to support the * Sakai conventions for making and launching BLTI resources within Sakai. */ @SuppressWarnings("deprecation") @@ -132,20 +132,20 @@ public class SakaiBLTIUtil { public static final boolean verbosePrint = false; // Property: If false(default), allows comment to be returned in an LTI 1.1 POX read outcome - public static final String LTI_STRICT = "basiclti.strict"; + public static final String LTI_STRICT = "lti.strict"; - public static final String BASICLTI_OUTCOMES_ENABLED = "basiclti.outcomes.enabled"; + public static final String BASICLTI_OUTCOMES_ENABLED = "lti.outcomes.enabled"; public static final String BASICLTI_OUTCOMES_ENABLED_DEFAULT = "true"; - public static final String BASICLTI_SETTINGS_ENABLED = "basiclti.settings.enabled"; + public static final String BASICLTI_SETTINGS_ENABLED = "lti.settings.enabled"; public static final String BASICLTI_SETTINGS_ENABLED_DEFAULT = "true"; - public static final String BASICLTI_ROSTER_ENABLED = "basiclti.roster.enabled"; + public static final String BASICLTI_ROSTER_ENABLED = "lti.roster.enabled"; public static final String BASICLTI_ROSTER_ENABLED_DEFAULT = "true"; - public static final String BASICLTI_LINEITEMS_ENABLED = "basiclti.lineitems.enabled"; + public static final String BASICLTI_LINEITEMS_ENABLED = "lti.lineitems.enabled"; public static final String BASICLTI_LINEITEMS_ENABLED_DEFAULT = "true"; - public static final String BASICLTI_CONSUMER_USERIMAGE_ENABLED = "basiclti.consumer.userimage.enabled"; - public static final String INCOMING_ROSTER_ENABLED = "basiclti.incoming.roster.enabled"; - public static final String BASICLTI_ENCRYPTION_KEY = "basiclti.encryption.key"; - public static final String BASICLTI_LAUNCH_SESSION_TIMEOUT = "basiclti.launch.session.timeout"; + public static final String BASICLTI_CONSUMER_USERIMAGE_ENABLED = "lti.consumer.userimage.enabled"; + public static final String INCOMING_ROSTER_ENABLED = "lti.incoming.roster.enabled"; + public static final String BASICLTI_ENCRYPTION_KEY = "lti.encryption.key"; + public static final String BASICLTI_LAUNCH_SESSION_TIMEOUT = "lti.launch.session.timeout"; public static final String LTI13_DEPLOYMENT_ID = "lti13.deployment_id"; public static final String LTI13_DEPLOYMENT_ID_DEFAULT = "1"; // To match Moodle public static final String LTI_CUSTOM_SUBSTITION_PREFIX = "lti.custom.substitution."; @@ -170,7 +170,7 @@ public class SakaiBLTIUtil { public static final String BASICLTI_PORTLET_PLACEMENTSECRET = LTIService.LTI_PLACEMENTSECRET; public static final String BASICLTI_PORTLET_OLDPLACEMENTSECRET = LTIService.LTI_OLDPLACEMENTSECRET; - public static final String BASICLTI_LTI11_LAUNCH_TYPE = "basiclti.lti11.launchtype"; + public static final String BASICLTI_LTI11_LAUNCH_TYPE = "lti.lti11.launchtype"; public static final String BASICLTI_LTI11_LAUNCH_TYPE_LEGACY = "legacy"; public static final String BASICLTI_LTI11_LAUNCH_TYPE_LTI112 = "lti112"; public static final String BASICLTI_LTI11_LAUNCH_TYPE_DEFAULT = BASICLTI_LTI11_LAUNCH_TYPE_LEGACY; @@ -512,7 +512,7 @@ public static void addSiteInfo(Properties props, Properties lti13subst, Site sit } // Fix up the return Url - String returnUrl = ServerConfigurationService.getString("basiclti.consumer_return_url", null); + String returnUrl = ServerConfigurationService.getString("lti.consumer_return_url", null); if (returnUrl == null) { returnUrl = getOurServerUrl() + LTI1_ANON_PATH + "return-url"; Session s = SessionManager.getCurrentSession(); @@ -785,12 +785,12 @@ public static void addPlacementInfo(Properties props, String placementId) { setProperty(props, "ext_outcome_data_values_accepted", "text"); // SAK-25696 // New Basic Outcomes URL - String outcome_url = ServerConfigurationService.getString("basiclti.consumer.ext_ims_lis_basic_outcome_url", null); + String outcome_url = ServerConfigurationService.getString("lti.consumer.ext_ims_lis_basic_outcome_url", null); if (outcome_url == null) { outcome_url = getOurServerUrl() + LTI11_SERVICE_PATH; } setProperty(props, "ext_ims_lis_basic_outcome_url", outcome_url); - outcome_url = ServerConfigurationService.getString("basiclti.consumer." + BasicLTIConstants.LIS_OUTCOME_SERVICE_URL, null); + outcome_url = ServerConfigurationService.getString("lti.consumer." + BasicLTIConstants.LIS_OUTCOME_SERVICE_URL, null); if (outcome_url == null) { outcome_url = getOurServerUrl() + LTI11_SERVICE_PATH; } @@ -800,7 +800,7 @@ public static void addPlacementInfo(Properties props, String placementId) { if (settingsEnabled() && BASICLTI_PORTLET_ON.equals(allowSettings) ) { setProperty(props, "ext_ims_lti_tool_setting_id", result_sourcedid); - String service_url = ServerConfigurationService.getString("basiclti.consumer.ext_ims_lti_tool_setting_url", null); + String service_url = ServerConfigurationService.getString("lti.consumer.ext_ims_lti_tool_setting_url", null); if (service_url == null) { service_url = getOurServerUrl() + LTI11_SERVICE_PATH; } @@ -810,7 +810,7 @@ public static void addPlacementInfo(Properties props, String placementId) { if (rosterEnabled() && BASICLTI_PORTLET_ON.equals(allowRoster) ) { setProperty(props, "ext_ims_lis_memberships_id", result_sourcedid); - String roster_url = ServerConfigurationService.getString("basiclti.consumer.ext_ims_lis_memberships_url", null); + String roster_url = ServerConfigurationService.getString("lti.consumer.ext_ims_lis_memberships_url", null); if (roster_url == null) { roster_url = getOurServerUrl() + LTI11_SERVICE_PATH; } @@ -870,31 +870,31 @@ public static void addConsumerData(Properties props, Properties custom) { // Get the organizational information setProperty(custom, LTICustomVars.TOOLPLATFORMINSTANCE_GUID, - ServerConfigurationService.getString("basiclti.consumer_instance_guid", defaultName)); + ServerConfigurationService.getString("lti.consumer_instance_guid", defaultName)); setProperty(props, BasicLTIConstants.TOOL_CONSUMER_INSTANCE_GUID, - ServerConfigurationService.getString("basiclti.consumer_instance_guid", defaultName)); + ServerConfigurationService.getString("lti.consumer_instance_guid", defaultName)); setProperty(custom, LTICustomVars.TOOLPLATFORMINSTANCE_NAME, - ServerConfigurationService.getString("basiclti.consumer_instance_name", defaultName)); + ServerConfigurationService.getString("lti.consumer_instance_name", defaultName)); setProperty(props, BasicLTIConstants.TOOL_CONSUMER_INSTANCE_NAME, - ServerConfigurationService.getString("basiclti.consumer_instance_name", defaultName)); + ServerConfigurationService.getString("lti.consumer_instance_name", defaultName)); setProperty(custom, LTICustomVars.TOOLPLATFORMINSTANCE_DESCRIPTION, - ServerConfigurationService.getString("basiclti.consumer_instance_description", defaultName)); + ServerConfigurationService.getString("lti.consumer_instance_description", defaultName)); setProperty(props, BasicLTIConstants.TOOL_CONSUMER_INSTANCE_DESCRIPTION, - ServerConfigurationService.getString("basiclti.consumer_instance_description", defaultName)); + ServerConfigurationService.getString("lti.consumer_instance_description", defaultName)); setProperty(custom, LTICustomVars.TOOLPLATFORMINSTANCE_URL, - ServerConfigurationService.getString("basiclti.consumer_instance_url", + ServerConfigurationService.getString("lti.consumer_instance_url", ServerConfigurationService.getString("serverUrl", null))); setProperty(props, BasicLTIConstants.TOOL_CONSUMER_INSTANCE_URL, - ServerConfigurationService.getString("basiclti.consumer_instance_url", + ServerConfigurationService.getString("lti.consumer_instance_url", ServerConfigurationService.getString("serverUrl", null))); setProperty(custom, LTICustomVars.TOOLPLATFORMINSTANCE_CONTACTEMAIL, - ServerConfigurationService.getString("basiclti.consumer_instance_contact_email", null)); + ServerConfigurationService.getString("lti.consumer_instance_contact_email", null)); setProperty(props, BasicLTIConstants.TOOL_CONSUMER_INSTANCE_CONTACT_EMAIL, - ServerConfigurationService.getString("basiclti.consumer_instance_contact_email", null)); + ServerConfigurationService.getString("lti.consumer_instance_contact_email", null)); } @@ -933,14 +933,14 @@ public static void addGlobalData(Site site, Properties props, Properties custom, addConsumerData(props, custom); // Send along the CSS URL - String tool_css = ServerConfigurationService.getString("basiclti.consumer.launch_presentation_css_url", null); + String tool_css = ServerConfigurationService.getString("lti.consumer.launch_presentation_css_url", null); if (tool_css == null) { tool_css = getOurServerUrl() + CSSUtils.getCssToolBase(); } setProperty(props, BasicLTIConstants.LAUNCH_PRESENTATION_CSS_URL, tool_css); // Send along the CSS URL list - String tool_css_all = ServerConfigurationService.getString("basiclti.consumer.ext_sakai_launch_presentation_css_url_all", null); + String tool_css_all = ServerConfigurationService.getString("lti.consumer.ext_sakai_launch_presentation_css_url_all", null); if (site != null && tool_css_all == null) { tool_css_all = getOurServerUrl() + CSSUtils.getCssToolBase() + ',' + getOurServerUrl() + CSSUtils.getCssToolSkinCDN(CSSUtils.getSkinFromSite(site)); } @@ -1153,12 +1153,12 @@ public static String[] postLaunchHTML(Map content, Map content, Map content, Map * It doesn't pull in any external dependenies (commons-codec or http://www.jasypt.org/) - * as Basic LTI tries to keep them to a minimum. + * as LTI tries to keep them to a minimum. * * @author buckett * diff --git a/basiclti/basiclti-common/src/java/org/sakaiproject/blti/entityprovider/BLTIEventsEntityProvider.java b/basiclti/basiclti-common/src/java/org/sakaiproject/blti/entityprovider/BLTIEventsEntityProvider.java index f0c982ef85fe..ef3a0bcfee4b 100644 --- a/basiclti/basiclti-common/src/java/org/sakaiproject/blti/entityprovider/BLTIEventsEntityProvider.java +++ b/basiclti/basiclti-common/src/java/org/sakaiproject/blti/entityprovider/BLTIEventsEntityProvider.java @@ -24,7 +24,7 @@ import org.sakaiproject.entitybroker.util.AbstractEntityProvider; /** - * An entity provider to register Basic LTI events with SiteStats + * An entity provider to register LTI events with SiteStats * */ public class BLTIEventsEntityProvider extends AbstractEntityProvider implements AutoRegisterEntityProvider, Statisticable, Describeable { diff --git a/basiclti/basiclti-common/src/java/org/sakaiproject/lti13/LineItemUtil.java b/basiclti/basiclti-common/src/java/org/sakaiproject/lti13/LineItemUtil.java index fd290cd3183d..cdda0a9a5eb9 100644 --- a/basiclti/basiclti-common/src/java/org/sakaiproject/lti13/LineItemUtil.java +++ b/basiclti/basiclti-common/src/java/org/sakaiproject/lti13/LineItemUtil.java @@ -54,7 +54,7 @@ import static org.tsugi.basiclti.BasicLTIUtil.parseIMS8601; /** - * Some Sakai Utility code for IMS Basic LTI This is mostly code to support the + * Some Sakai Utility code for IMS LTI This is mostly code to support the * Sakai conventions for making and launching BLTI resources within Sakai. */ @SuppressWarnings("deprecation") diff --git a/basiclti/basiclti-common/src/main/resources/META-INF/LICENSE b/basiclti/basiclti-common/src/main/resources/META-INF/LICENSE index 478e86136570..34c600a6d9ac 100644 --- a/basiclti/basiclti-common/src/main/resources/META-INF/LICENSE +++ b/basiclti/basiclti-common/src/main/resources/META-INF/LICENSE @@ -204,7 +204,7 @@ =============================================================================== -The BasicLTI Utilities (basiclti-util) distribution includes a number of subcomponents +These Utilities distribution includes a number of subcomponents with separate copyright notices and license terms. Your use of the code for the these subcomponents is subject to the terms and conditions of the following licenses. diff --git a/basiclti/basiclti-common/src/main/resources/META-INF/NOTICE b/basiclti/basiclti-common/src/main/resources/META-INF/NOTICE deleted file mode 100644 index 8a89346ad717..000000000000 --- a/basiclti/basiclti-common/src/main/resources/META-INF/NOTICE +++ /dev/null @@ -1,10 +0,0 @@ -BasicLTI Utilities (basiclti-util) -Copyright 2010 IMS Global Learning Consortium www.imsglobal.org - ------------------------------------------------------------ - -This product includes software (OAuth) developed by -AOL LLC., Google, Inc., and Netflix, Inc. (http://code.google.com/p/oauth/). - -This product includes software (Base64) developed at -The Apache Software Foundation (http://www.apache.org/). diff --git a/basiclti/basiclti-common/src/main/resources/META-INF/README b/basiclti/basiclti-common/src/main/resources/META-INF/README deleted file mode 100644 index bfec6b03c1b5..000000000000 --- a/basiclti/basiclti-common/src/main/resources/META-INF/README +++ /dev/null @@ -1,14 +0,0 @@ - IMS Global Learning Consortium BasicLTI Utilities - - What is it? - ----------- - - BasicLTI Utilities are a set of utility classes to aid in the development - of BasicLTI consumers and providers. They deal with much of the heavy lifting - and make the process more opaque to the developer. - - Licensing - --------- - - Please see the file called LICENSE source directories. - diff --git a/basiclti/basiclti-common/src/test/org/sakaiproject/util/foorm/TestFoormJUnit.java b/basiclti/basiclti-common/src/test/org/sakaiproject/util/foorm/TestFoormJUnit.java index ff4edf1d41c1..391ff4f3f12e 100644 --- a/basiclti/basiclti-common/src/test/org/sakaiproject/util/foorm/TestFoormJUnit.java +++ b/basiclti/basiclti-common/src/test/org/sakaiproject/util/foorm/TestFoormJUnit.java @@ -66,7 +66,7 @@ * later from scratch. * * There will need to be some code refactoring to make it possible to - * fully unit test the basic lti code. + * fully unit test the LTI code. * */ @Slf4j diff --git a/basiclti/basiclti-docs/pom.xml b/basiclti/basiclti-docs/pom.xml index ebf418b55d53..070912344604 100644 --- a/basiclti/basiclti-docs/pom.xml +++ b/basiclti/basiclti-docs/pom.xml @@ -8,7 +8,7 @@ 23-SNAPSHOT - BasicLTI Docs (basiclti-docs) + LTI Docs (basiclti-docs) org.sakaiproject.basiclti basiclti-docs pom diff --git a/basiclti/basiclti-impl/pom.xml b/basiclti/basiclti-impl/pom.xml index 98c0654f18b5..f9845cd0a9aa 100644 --- a/basiclti/basiclti-impl/pom.xml +++ b/basiclti/basiclti-impl/pom.xml @@ -8,7 +8,7 @@ 23-SNAPSHOT - BasicLTI Implementation (basiclti-impl) + Sakai LTI Implementation (basiclti-impl) org.sakaiproject.basiclti basiclti-impl sakai-component diff --git a/basiclti/basiclti-impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityServiceImpl.java b/basiclti/basiclti-impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityServiceImpl.java index eda60e9008f0..db6df68b710c 100644 --- a/basiclti/basiclti-impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityServiceImpl.java +++ b/basiclti/basiclti-impl/src/java/org/sakaiproject/basiclti/impl/BasicLTISecurityServiceImpl.java @@ -96,8 +96,8 @@ public class BasicLTISecurityServiceImpl implements EntityProducer { @Setter private EntityManager entityManager; @Setter private SecurityService securityService; - public static final String MIME_TYPE_BLTI="ims/basiclti"; - public static final String REFERENCE_ROOT="/basiclti"; + public static final String REFERENCE_ROOT="/lti"; + public static final String REFERENCE_ROOT_LEGACY="/basiclti"; public static final String APPLICATION_ID = "sakai:basiclti"; public static final String TOOL_REGISTRATION = "sakai.basiclti"; public static final String EVENT_BASICLTI_LAUNCH = "basiclti.launch"; @@ -169,12 +169,13 @@ public void init() log.info("{}.init()", this); if (ServerConfigurationService.getString(SakaiBLTIUtil.BASICLTI_ENCRYPTION_KEY, null) == null) { - log.error("BasicLTI secrets in database unencrypted, please set {}", SakaiBLTIUtil.BASICLTI_ENCRYPTION_KEY); + log.error("LTI secrets in database unencrypted, please set {}", SakaiBLTIUtil.BASICLTI_ENCRYPTION_KEY); } try { // register as an entity producer entityManager.registerEntityProducer(this,REFERENCE_ROOT); + entityManager.registerEntityProducer(this,REFERENCE_ROOT_LEGACY); } catch (Throwable t) { @@ -213,14 +214,14 @@ public boolean isSuperUser(String userId) /** * {@inheritDoc} - /access/basiclti/site/12-siteid-456/98-placement-id - /access/basiclti/content/ --- content path ---- (Future) + /access/lti/site/12-siteid-456/98-placement-id + /access/lti/content/ --- content path ---- (Future) */ public boolean parseEntityReference(String reference, Reference ref) { - if (reference.startsWith(REFERENCE_ROOT)) + if (reference.startsWith(REFERENCE_ROOT) || reference.startsWith(REFERENCE_ROOT_LEGACY) ) { - // we will get null, simplelti, site, , + // we will get null, lti, site, , // we will store the context, and the ContentHosting reference in our id field. String id = null; String context = null; @@ -271,8 +272,8 @@ private void sendHTMLPage(HttpServletResponse res, String body) private void doSplash(HttpServletRequest req, HttpServletResponse res, String splash, ResourceLoader rb) { - // req.getRequestURL()=http://localhost:8080/access/basiclti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 - // req.getRequestURI()=/access/basiclti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 + // req.getRequestURL()=http://localhost:8080/access/lti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 + // req.getRequestURI()=/access/lti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 String acceptPath = req.getRequestURI().toString() + "?splash=bypass"; String body = "
"; String txt = rb.getString("launch.button", "Press to continue to external tool."); @@ -314,8 +315,8 @@ private void doRedirect(HttpServletRequest req, HttpServletResponse res, String private void redirectOIDC(HttpServletRequest req, HttpServletResponse res, Map content, Map tool, String oidc_endpoint, ResourceLoader rb) { - // req.getRequestURL()=http://localhost:8080/access/basiclti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 - // req.getRequestURI()=/access/basiclti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 + // req.getRequestURL()=http://localhost:8080/access/lti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 + // req.getRequestURI()=/access/lti/site/85fd092b-1755-4aa9-8abc-e6549527dce0/content:0 String login_hint = req.getRequestURI(); String query_string = req.getQueryString(); String messageTypeParm = req.getParameter(SakaiBLTIUtil.MESSAGE_TYPE_PARAMETER); @@ -380,8 +381,8 @@ private void handleLTI112(HttpServletRequest req, HttpServletResponse res, Map allowedToolsList = Arrays.asList(allowedTools); @@ -628,14 +628,14 @@ protected void validate(Map payload, boolean isTrustedConsumer) throws LTIExcept // Lookup the secret - final String configPrefix = "basiclti.provider." + oauth_consumer_key + "."; + final String configPrefix = "lti.provider." + oauth_consumer_key + "."; final String oauth_secret = ServerConfigurationService.getString(configPrefix+ "secret", null); if (oauth_secret == null) { throw new LTIException( "launch.key.notfound",oauth_consumer_key, null); } final OAuthMessage oam = (OAuthMessage) payload.get("oauth_message"); - final String forcedURIScheme = ServerConfigurationService.getString("basiclti.provider.forcedurischeme", null); + final String forcedURIScheme = ServerConfigurationService.getString("lti.provider.forcedurischeme", null); if(forcedURIScheme != null) { try { @@ -776,7 +776,7 @@ protected Site findOrCreateSite(Map payload, boolean trustedConsumer) throws LTI Site site = null; // Get the site if it exists - if (ServerConfigurationService.getBoolean("basiclti.provider.lookupSitesByLTIContextIdProperty", false)) { + if (ServerConfigurationService.getBoolean("lti.provider.lookupSitesByLTIContextIdProperty", false)) { try { site = findSiteByLTIContextId(context_id); if (site != null) { @@ -810,7 +810,7 @@ protected Site findOrCreateSite(Map payload, boolean trustedConsumer) throws LTI String sakai_type = "project"; // BLTI-154. If an autocreation site template has been specced in sakai.properties, use it. - String autoSiteTemplateId = ServerConfigurationService.getString("basiclti.provider.autositetemplate", null); + String autoSiteTemplateId = ServerConfigurationService.getString("lti.provider.autositetemplate", null); boolean templateSiteExists = SiteService.siteExists(autoSiteTemplateId); @@ -820,7 +820,7 @@ protected Site findOrCreateSite(Map payload, boolean trustedConsumer) throws LTI if(autoSiteTemplateId == null || !templateSiteExists) { //BLTI-151 If the new site type has been specified in sakai.properties, use it. - sakai_type = ServerConfigurationService.getString("basiclti.provider.newsitetype", null); + sakai_type = ServerConfigurationService.getString("lti.provider.newsitetype", null); if(BasicLTIUtil.isBlank(sakai_type)) { // It wasn't specced in the props. Test for the ims course context type. final String context_type = (String) payload.get(BasicLTIConstants.CONTEXT_TYPE); @@ -1011,7 +1011,7 @@ private void handleContentItem(HttpServletRequest request, HttpServletResponse r throws ServletException, IOException { - String allowedToolsConfig = ServerConfigurationService.getString("basiclti.provider.allowedtools", ""); + String allowedToolsConfig = ServerConfigurationService.getString("lti.provider.allowedtools", ""); String[] allowedTools = allowedToolsConfig.split(":"); List allowedToolsList = Arrays.asList(allowedTools); diff --git a/basiclti/basiclti-portlet/src/java/org/sakaiproject/portlets/IMSBLTIPortlet.java b/basiclti/basiclti-portlet/src/java/org/sakaiproject/portlets/IMSBLTIPortlet.java index 580d50f7d176..873cd792bf10 100644 --- a/basiclti/basiclti-portlet/src/java/org/sakaiproject/portlets/IMSBLTIPortlet.java +++ b/basiclti/basiclti-portlet/src/java/org/sakaiproject/portlets/IMSBLTIPortlet.java @@ -188,7 +188,7 @@ public void doView(RenderRequest request, RenderResponse response) // Check to see if our launch will be successful String[] retval = SakaiBLTIUtil.postLaunchHTML(placement.getId(), rb); if ( retval.length > 1 ) { - String iframeUrl = "/access/basiclti/site/"+context+"/"+placement.getId(); + String iframeUrl = "/access/lti/site/"+context+"/"+placement.getId(); String frameHeight = getCorrectProperty(request, "frameheight", null); log.debug("fh={}", frameHeight); String newPage = getCorrectProperty(request, "newpage", null); @@ -214,13 +214,13 @@ public void doView(RenderRequest request, RenderResponse response) log.debug("Setting sakai:maximized-url={}", iframeUrl); if ( BASICLTI_PORTLET_ON.equals(newPage) || forcePopup ) { - String windowOpen = "window.open('"+iframeUrl+"','BasicLTI');"; + String windowOpen = "window.open('"+iframeUrl+"','LTI');"; String siteName = ServerConfigurationService.getString(SITE_NAME, SAKAI); title = title!=null ? title : rb.getString("tool.name", "your tool"); String newPageLaunchText = rb.getFormattedMessage("new.page.launch", new Object[]{ComponentManager.get(FormattedText.class).escapeHtml(title, false), ComponentManager.get(FormattedText.class).escapeHtml(siteName, false)}); text.append(newPageLaunchText); text.append("

\n"); - text.append(""); + text.append(""); } else { if ( BASICLTI_PORTLET_ON.equals(maximize) ) { text.append(" @@ -512,13 +512,13 @@ press the button to proceed to the external tool. Since External Tool is a portlet, we do not have the "frame-within-frame" problem that Linktool would have since LinkTool is -a traditional Sakai tool. But since Basic LTI demands an iframe for an +a traditional Sakai tool. But since LTI demands an iframe for an external tool the External Tool portlet generates an iframe for the external tool content and places the following URL into the iframe: -/access/basiclti/site/63ed6677-6ac4-4-466f7f51fc68/dcb61c3e-508-3238ecd330cc +/access/lti/site/63ed6677-6ac4-4-466f7f51fc68/dcb61c3e-508-3238ecd330cc -The URL is served through /access and a **basiclti** Entity Producer. +The URL is served through /access and a **lti** Entity Producer. This means that the URL can effectively be used anywhere. It needs to be in its own window or in an iFrame because it will generate and auto-submit the form data as shown above – but this allows clever reuse @@ -535,13 +535,13 @@ simply launch to the proper URL. Another possible feature would be to add a checkbox to "hide the tool from students" and show the instructor the access URL as part of the configuration dialog. -Comparing Basic LTI With Sakai LinkTool -======================================= +Comparing LTI With Sakai LinkTool +================================= Within the Sakai community, one of my goals is to convince developers to stop using the LinkTool since the LinkTool only works with Sakai. Developers who have built external tools that support the LinkTool -protocol should be able to add Basic Tool Interoperability. +protocol should be able to add Tool Interoperability. Since IMS LTI 1.1 uses OAuth, it does not require any web-services call-back to Sakai for key validation (i.e. you do not need to call @@ -564,7 +564,7 @@ sign-on (see sample code from IMS). It is possible for an external tool that uses IMS LTI 1.1 for launch, provisioning, and trust to use the run-time web services developed for use with LinkTool tools. If the property **ext\_sakai\_session** is set -to "true" in the tool placement, the Sakai BasicLTI tool includes a +to "true" in the tool placement, the Sakai LTI tool includes a signed session key and server information in the **ext\_sakai\_session** and **ext\_sakai\_server** variables. These values are created in the exact same manner as the LinkTool so they can be used with these web diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image1.png b/basiclti/docs/sakai_lti_portlet/media/image1.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image1.png rename to basiclti/docs/sakai_lti_portlet/media/image1.png diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image2.png b/basiclti/docs/sakai_lti_portlet/media/image2.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image2.png rename to basiclti/docs/sakai_lti_portlet/media/image2.png diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image3.png b/basiclti/docs/sakai_lti_portlet/media/image3.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image3.png rename to basiclti/docs/sakai_lti_portlet/media/image3.png diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image4.png b/basiclti/docs/sakai_lti_portlet/media/image4.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image4.png rename to basiclti/docs/sakai_lti_portlet/media/image4.png diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image5.png b/basiclti/docs/sakai_lti_portlet/media/image5.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image5.png rename to basiclti/docs/sakai_lti_portlet/media/image5.png diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image6.png b/basiclti/docs/sakai_lti_portlet/media/image6.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image6.png rename to basiclti/docs/sakai_lti_portlet/media/image6.png diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image7.png b/basiclti/docs/sakai_lti_portlet/media/image7.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image7.png rename to basiclti/docs/sakai_lti_portlet/media/image7.png diff --git a/basiclti/docs/sakai_basiclti_portlet/media/image8.png b/basiclti/docs/sakai_lti_portlet/media/image8.png similarity index 100% rename from basiclti/docs/sakai_basiclti_portlet/media/image8.png rename to basiclti/docs/sakai_lti_portlet/media/image8.png diff --git a/basiclti/docs/sakai_basiclti_provider.md b/basiclti/docs/sakai_lti_provider.md similarity index 93% rename from basiclti/docs/sakai_basiclti_provider.md rename to basiclti/docs/sakai_lti_provider.md index b8c40758d8e4..891aea309177 100644 --- a/basiclti/docs/sakai_basiclti_provider.md +++ b/basiclti/docs/sakai_lti_provider.md @@ -40,12 +40,12 @@ Configuration In order to enable the LTI Tool Provider, you must enable it in **sakai.properties** for your server: - basiclti.provider.enabled=true + lti.provider.enabled=true You also need to list the Sakai tool ids that you will allow to be served out as IMS Provided tools using the following property: -basiclti.provider.allowedtools=sakai.announcements:sakai.singleuser:sakai.assignment.grades:sakai.dropbox:sakai.forums:sakai.gradebook.tool:sakai.podcasts:sakai.poll:sakai.resources:sakai.schedule:sakai.samigo:sakai.rwiki + lti.provider.allowedtools=sakai.announcements:sakai.singleuser:sakai.assignment.grades:sakai.dropbox:sakai.forums:sakai.gradebook.tool:sakai.podcasts:sakai.poll:sakai.resources:sakai.schedule:sakai.samigo:sakai.rwiki The Tool Provider will refuse to provide any tool that is not on this list. If this item is not included, no tools will be provided. @@ -60,7 +60,7 @@ The following line adds a secret of "secret" for a key of "lmsng.school.edu". You can have as many secrets as you like using this pattern. -basiclti.provider.lmsng.school.edu.secret=secret + lti.provider.lmsng.school.edu.secret=secret Please do not use such a simple secret – a good secret should be at least as long and random as a typical GUID. @@ -68,7 +68,7 @@ least as long and random as a typical GUID. In order to allow clean passthrough of site and user credentials, add the key to the list of trusted consumers using the following property: -basiclti.provider.highly.trusted.consumers=lmsng.school.edu:another.school.edu + lti.provider.highly.trusted.consumers=lmsng.school.edu:another.school.edu If a request comes through from a consumer on this list, then the user and site credentials will be used as-is, ie they will not be namespaced. @@ -105,7 +105,7 @@ Consumer" from the Sakai Provider when you launch. You should see the Sakai Wiki tool. Notice the name "Jane Q. Public" which was provisioned from the LTI PHP Tool Consumer. -![](sakai_basiclti_provider/media/image1.png) +![](sakai_lti_provider/media/image1.png) You should also see log messages indicating the creation of the user, site, and tool as follows: @@ -133,7 +133,7 @@ http://localhost:8080/imsblti/provider/sakai.singleuser You should see a 403 (Forbidden) message as shown below: -![](sakai_basiclti_provider/media/image2.png) +![](sakai_lti_provider/media/image2.png) You should also see a warning message in the **catalina.out** file: @@ -157,12 +157,12 @@ Sakai Enterprise ID (i.e. EID). Similarly, the Provider prepends the **oauth\_consumer\_key** to the LTI **context\_id** value to produce the site's id as shown below in the Administrator **Sites** tool. -![](sakai_basiclti_provider/media/image3.png) +![](sakai_lti_provider/media/image3.png) Similarly, if you look in the Sakai Administrator's **Users** tool, you can see the name-spaced user accounts: -![](sakai_basiclti_provider/media/image4.png) +![](sakai_lti_provider/media/image4.png) And if you look in the **Realms** tool, you can see that the name-spaced user account has been properly joined to the name spaced site with the diff --git a/basiclti/docs/sakai_basiclti_provider/media/image1.png b/basiclti/docs/sakai_lti_provider/media/image1.png similarity index 100% rename from basiclti/docs/sakai_basiclti_provider/media/image1.png rename to basiclti/docs/sakai_lti_provider/media/image1.png diff --git a/basiclti/docs/sakai_basiclti_provider/media/image2.png b/basiclti/docs/sakai_lti_provider/media/image2.png similarity index 100% rename from basiclti/docs/sakai_basiclti_provider/media/image2.png rename to basiclti/docs/sakai_lti_provider/media/image2.png diff --git a/basiclti/docs/sakai_basiclti_provider/media/image3.png b/basiclti/docs/sakai_lti_provider/media/image3.png similarity index 100% rename from basiclti/docs/sakai_basiclti_provider/media/image3.png rename to basiclti/docs/sakai_lti_provider/media/image3.png diff --git a/basiclti/docs/sakai_basiclti_provider/media/image4.png b/basiclti/docs/sakai_lti_provider/media/image4.png similarity index 100% rename from basiclti/docs/sakai_basiclti_provider/media/image4.png rename to basiclti/docs/sakai_lti_provider/media/image4.png diff --git a/basiclti/docs/sakai_basiclti_vendor.md b/basiclti/docs/sakai_lti_vendor.md similarity index 92% rename from basiclti/docs/sakai_basiclti_vendor.md rename to basiclti/docs/sakai_lti_vendor.md index 395fe618cf3b..bceae3684da3 100644 --- a/basiclti/docs/sakai_basiclti_vendor.md +++ b/basiclti/docs/sakai_lti_vendor.md @@ -1,5 +1,5 @@ -Pre-Installing the IMS BasicLTI Test Tool in Sakai -================================================== +Pre-Installing the LTI Test Tool in Sakai +========================================= May 26, 2011 @@ -10,8 +10,7 @@ Note: vendors who want to write documentation as to how to pre-install their tool in a Sakai installation.* -*This document is Copyright 2011, Charles Severance - Creative Commons -CC0* +*This document is Copyright 2011, Charles Severance - Creative Commons CC0* *CC0 is effectively a 'Public Domain' - You are granted permission to use this document in any way you see fit, including removing the above @@ -29,17 +28,17 @@ vendor.* *basiclti/basiclti-docs/resources/docs/sakai\_basiclti\_portlet.doc* *Which give you a more in-depth description of the options available -when pre-configuring Basic LTI tools in Sakai.* +when pre-configuring LTI tools in Sakai.* Introduction ============ -Thank you for your interest in the IMS Basic LTI test tool. This -document will describe how to install the IMS Basic LTI test tool in +Thank you for your interest in the IMS LTI test tool. This +document will describe how to install the IMS LTI test tool in your Sakai instance. At this point you should have been provided a URL, key, and secret for -the IMS Basic LTI Test Tool. +the IMS LTI Test Tool. **URL:** https://www.tsugi.org/lti-test/tool.php @@ -53,7 +52,7 @@ Making Your Own Copy of the Tool Registration File ================================================== The Sakai tool registration process reads an XML document to create as -many pre-configured Basic LTI tools as you like. The default BasicLTI +many pre-configured LTI tools as you like. The default LTI tool registration is in the source tree at the following location: basiclti/basiclti-portlet/src/webapp/WEB-INF/sakai/IMSBLTIPortlet.xml @@ -76,7 +75,7 @@ The portlets folder should be in the same directory as your **sakai.properties** file resides. **Note:** You only have to copy this file into **sakai.home** once -regardless of the number of pre-configured Basic LTI tools that you want +regardless of the number of pre-configured LTI tools that you want to install. If you look in **sakai.home** and find this file is already there, all that is necessary is to add a new tool registration XML to the existing file. @@ -85,20 +84,20 @@ Once the copy of the **IMSBLTIPortlet.xml** file is properly placed in the **sakai.home** folder, it *overrides* the copy in the **imsblti** webapp. So you need to maintain the existing **sakai.basiclti** tool registration in the new copy of the file unless you explicitly intend to -not provide a generic Basic LTI tool for your users. +not provide a generic LTI tool for your users. The Tool Registration File ========================== The default **IMSBLTIPortlet.xml** file contains the registration for -the Basic LTI Tool and looks as follows. +the LTI Tool and looks as follows. + title="LTI" + description="Learning Tools Interoperability."> @@ -168,7 +167,7 @@ the Basic LTI Tool and looks as follows. We add multiple tool registrations to this file by adding multiple -<tool> sections. The Basic LTI tool capabilities are controlled by +<tool> sections. The LTI tool capabilities are controlled by properties. The basic idea is that you can set a property that is equivalent to setting the property in the configuration screen of the tool. And if you also set the corresponding "final" property to "true" – @@ -176,18 +175,18 @@ then the instructor will neither see, nor be able to change that property. So the administrator can set and completely lock down the properties – or lock-down most of the properties. -Adding the IMS Basic LTI Test Tool to your System +Adding the IMS LTI Test Tool to your System ================================================= Once you have made a copy of the **IMSBLTIPortlet.xml** file, we simply -need to add the new tool registration for the IMS Basic LTI Test Tool. +need to add the new tool registration for the IMS LTI Test Tool. The following is an example of the additional tool registration to be inserted as indicated above. + description="IMS LTI Test."> @@ -277,13 +276,13 @@ tool registration with Sakai toolId=sakai.imstestlti If your Sakai restarts and you do not see the tool in **Site Info**, you should check the Tomcat log for errors. Search for the string 'imsblti' -in the logs as that is the name of the servlet that contains the Basic +in the logs as that is the name of the servlet that contains the LTI tool. If the installation was successful, you should see the new tool as available for use in the **Site Info** tool as shown below: -![](sakai_basiclti_vendor/media/image1.png) +![](sakai_lti_vendor/media/image1.png) You can see that the new 'Awesomeness' tool appears and can be selected as if it is any other tool. @@ -292,7 +291,7 @@ Since we left a few parameters as not final, the instructor can go into the configuration screen and change the parameters we decided to allow them to change but none of the other parameters appear: -![](sakai_basiclti_vendor/media/image2.png) +![](sakai_lti_vendor/media/image2.png) If we adjust the tool registration above, setting all of the parameters to be final, the instructor will not be able to change any configuration diff --git a/basiclti/docs/sakai_basiclti_vendor/media/image1.png b/basiclti/docs/sakai_lti_vendor/media/image1.png similarity index 100% rename from basiclti/docs/sakai_basiclti_vendor/media/image1.png rename to basiclti/docs/sakai_lti_vendor/media/image1.png diff --git a/basiclti/docs/sakai_basiclti_vendor/media/image2.png b/basiclti/docs/sakai_lti_vendor/media/image2.png similarity index 100% rename from basiclti/docs/sakai_basiclti_vendor/media/image2.png rename to basiclti/docs/sakai_lti_vendor/media/image2.png diff --git a/basiclti/pom.xml b/basiclti/pom.xml index a3b4e9189f9b..05a712acab58 100644 --- a/basiclti/pom.xml +++ b/basiclti/pom.xml @@ -9,7 +9,7 @@ ../master/pom.xml - BasicLTI base pom (basiclti) + Sakai LTI base pom (basiclti) org.sakaiproject.basiclti basiclti pom diff --git a/basiclti/tsugi-util/NOTICE b/basiclti/tsugi-util/NOTICE index 84495a7628da..76c9e5981e06 100644 --- a/basiclti/tsugi-util/NOTICE +++ b/basiclti/tsugi-util/NOTICE @@ -1,4 +1,4 @@ -BasicLTI Utilities (tsugi-util) +Tsugi LTI Utilities (tsugi-util) Copyright 2010- Charles R. Severance ----------------------------------------------------------- diff --git a/basiclti/tsugi-util/README.md b/basiclti/tsugi-util/README.md index 710edc51d297..b513567ebcab 100644 --- a/basiclti/tsugi-util/README.md +++ b/basiclti/tsugi-util/README.md @@ -3,7 +3,7 @@ What is it? ----------- Tsugi-util contains a set of utility classes to aid in the development -of BasicLTI consumers and providers. They deal with much of the heavy lifting +of LTI consumers and providers. They deal with much of the heavy lifting and make the process more opaque to the developer. There is no Sakai-specific code but the code is developed and maintained in the diff --git a/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIConstants.java b/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIConstants.java index 1394c7d4edd2..f5d8ad57b922 100644 --- a/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIConstants.java +++ b/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIConstants.java @@ -62,8 +62,8 @@ public class BasicLTIConstants { /** * custom_keyname=value *

- * The creator of a Basic LTI link can add custom key/value parameters to a - * launch which are to be included with the launch of the Basic LTI link. The + * The creator of a LTI link can add custom key/value parameters to a + * launch which are to be included with the launch of the LTI link. The * Common Cartridge section below describes how these parameters are * represented when storing custom parameters in a Common Cartridge. *

@@ -77,9 +77,9 @@ public class BasicLTIConstants { *

* Would map to: custom_review_chapter=1.2.56 *

- * Creators of Basic LTI links would be well served to limit their parameter + * Creators of LTI links would be well served to limit their parameter * names to lower case and to use no punctuation other than underscores. If - * these custom parameters are included in the Basic LTI link, the TC must + * these custom parameters are included in the LTI link, the TC must * include them in the launch data or the TP may fail to function. */ public static final String CUSTOM_PREFIX = "custom_"; @@ -227,7 +227,7 @@ public class BasicLTIConstants { /** * lti_message_type=basic-lti-launch-request *

- * This indicates that this is a Basic LTI Launch Message. This allows a TP to + * This indicates that this is a LTI Launch Message. This allows a TP to * accept a number of different LTI message types at the same launch URL. This * parameter is required. */ @@ -520,7 +520,7 @@ public class BasicLTIConstants { * If set, this will signal that the external application has provided an eid which * should be used preferentially. Many external applications will not have access to a user's uuid * in Sakai, so this allows integrations with those systems. - * This parameter is optional and is unique to the Sakai Basic LTI provider. + * This parameter is optional and is unique to the Sakai LTI provider. */ public static final String EXT_SAKAI_PROVIDER_EID = "ext_sakai_provider_eid"; @@ -530,7 +530,7 @@ public class BasicLTIConstants { * If set, this will indicate to an external application that the user is normally * known by this ID and when displaying the ID to the user this ID should be used instead of the * user_id and ext_sakai_provider_eid. - * This parameter is optional and is unique to the Sakai Basic LTI provider. + * This parameter is optional and is unique to the Sakai LTI provider. */ public static final String EXT_SAKAI_PROVIDER_DISPLAYID = "ext_sakai_provider_displayid"; diff --git a/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIUtil.java b/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIUtil.java index ae6982a1e57e..583b4b60a8ea 100644 --- a/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIUtil.java +++ b/basiclti/tsugi-util/src/java/org/tsugi/basiclti/BasicLTIUtil.java @@ -136,7 +136,7 @@ public class BasicLTIUtil { private static final String EMPTY_JSON_OBJECT = "{\n}\n"; - // Returns true if this is a Basic LTI message with minimum values to meet the protocol + // Returns true if this is a LTI message with minimum values to meet the protocol public static boolean isRequest(HttpServletRequest request) { String message_type = request.getParameter(LTI_MESSAGE_TYPE); @@ -647,10 +647,10 @@ public static String postLaunchHTML( text.append("

\n");
-			text.append("BasicLTI Endpoint\n");
+			text.append("LTI Endpoint\n");
 			text.append(endpoint);
 			text.append("\n\n");
-			text.append("BasicLTI Parameters:\n");
+			text.append("LTI Parameters:\n");
 			for (Entry entry : newMap.entrySet()) {
 				String key = entry.getKey();
 				String value = entry.getValue();
diff --git a/basiclti/tsugi-util/src/main/resources/META-INF/LICENSE b/basiclti/tsugi-util/src/main/resources/META-INF/LICENSE
index 478e86136570..cf04bffdc977 100644
--- a/basiclti/tsugi-util/src/main/resources/META-INF/LICENSE
+++ b/basiclti/tsugi-util/src/main/resources/META-INF/LICENSE
@@ -204,7 +204,7 @@
 
 ===============================================================================
 
-The BasicLTI Utilities (basiclti-util) distribution includes a number of subcomponents
+The LTI Utilities (basiclti-util) distribution includes a number of subcomponents
 with separate copyright notices and license terms. Your use of the
 code for the these subcomponents is subject to the terms and
 conditions of the following licenses.
diff --git a/basiclti/tsugi-util/src/main/resources/META-INF/NOTICE b/basiclti/tsugi-util/src/main/resources/META-INF/NOTICE
index 8a89346ad717..b028ef1de4f3 100644
--- a/basiclti/tsugi-util/src/main/resources/META-INF/NOTICE
+++ b/basiclti/tsugi-util/src/main/resources/META-INF/NOTICE
@@ -1,5 +1,5 @@
-BasicLTI Utilities (basiclti-util)
-Copyright 2010 IMS Global Learning Consortium www.imsglobal.org
+LTI Utilities (tsugi-util)
+Copyright 2010- Charles Severance
 
 -----------------------------------------------------------
 
diff --git a/basiclti/tsugi-util/src/main/resources/META-INF/README b/basiclti/tsugi-util/src/main/resources/META-INF/README
index bfec6b03c1b5..c1e4cfcd306a 100644
--- a/basiclti/tsugi-util/src/main/resources/META-INF/README
+++ b/basiclti/tsugi-util/src/main/resources/META-INF/README
@@ -1,10 +1,10 @@
-            IMS Global Learning Consortium BasicLTI Utilities
+            Tsugi LTI Utilities
 
   What is it?
   -----------
 
-  BasicLTI Utilities are a set of utility classes to aid  in the development
-  of BasicLTI consumers and providers. They deal with much of the heavy lifting
+  These Utilities are a set of utility classes to aid  in the development
+  of LTI consumers and providers. They deal with much of the heavy lifting
   and make the process more opaque to the developer.
 
   Licensing
diff --git a/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties b/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties
index a2b23d91a89a..25f0a3db0d9c 100644
--- a/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties
+++ b/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties
@@ -2262,36 +2262,35 @@
 # announcement.notification.email.to.matches.from=true
 
 ## BASICLTI PROVIDER
-# blti.producer prefix no longer used, should be basiclti.provider
 
 # Enable the Provider
 # **NOTE This setting was "imsblti.producer.enabled" in versions prior to 2.9.x
 # DEFAULT: false
-# basiclti.provider.enabled=true
+# lti.provider.enabled=true
 
 # BasicLTI Provider-enabled tools
 # Colon separated list of tool ids
 # DEFAULT: none
-# basiclti.provider.allowedtools=sakai.announcements:sakai.singleuser:sakai.assignment.grades:blogger:sakai.dropbox:sakai.mailbox:sakai.forums:sakai.gradebook.tool:sakai.podcasts:sakai.poll:sakai.resources:sakai.schedule:sakai.samigo:sakai.rwiki
+# lti.provider.allowedtools=sakai.announcements:sakai.singleuser:sakai.assignment.grades:blogger:sakai.dropbox:sakai.mailbox:sakai.forums:sakai.gradebook.tool:sakai.podcasts:sakai.poll:sakai.resources:sakai.schedule:sakai.samigo:sakai.rwiki
 
 # BasicLTI Provider secret - you must provide a password
 # DEFAULT: none (null)
-# basiclti.provider.[hostname].secret=
+# lti.provider.[hostname].secret=
 
 # Colon separated list of trusted consumers - permit clean pass through of site/user credentials for the list of trusted consumers, 
-# e.g., basiclti.provider.highly.trusted.consumers=lmsng.school.edu:another.school.edu. 
+# e.g., lti.provider.highly.trusted.consumers=lmsng.school.edu:another.school.edu. 
 # DEFAULT: none (null)
-# basiclti.provider.highly.trusted.consumers=
+# lti.provider.highly.trusted.consumers=
 
- #Colon separated list of trusted email consumers -  will allow the Sakai as LTI provider to optionally 'trust' the consumer and lookup the userid
- #based on the consumer provided user email address.
- #e.g., basiclti.provider.email.trusted.consumers=lmsng.school.edu:another.school.edu.
- #DEFAULT: none (null)
- # basiclti.provider.email.trusted.consumers=
+#Colon separated list of trusted email consumers -  will allow the Sakai as LTI provider to optionally 'trust' the consumer and lookup the userid
+#based on the consumer provided user email address.
+#e.g., lti.provider.email.trusted.consumers=lmsng.school.edu:another.school.edu.
+#DEFAULT: none (null)
+# lti.provider.email.trusted.consumers=
 
 #Creates a site of mentioned type 
-#e.g., basiclti.provider.newsitetype=project
-#basiclti.provider.newsitetype=
+#e.g., lti.provider.newsitetype=project
+#lti.provider.newsitetype=
 #default role mapping for the sakai provider site when could not find  matching role from consumer 
 # e.g., lti.role.mapping.Student=Member
 #lti.role.mapping.Student=
@@ -2300,58 +2299,58 @@
 
 # Use to override the URL to the launch presentation CSS file
 # DEFAULT: none (null) - results in "[SERVER_URL]/library/skin/default/tool.css" being used
-# basiclti.consumer.launch_presentation_css_url=
+# lti.consumer.launch_presentation_css_url=
 
 # DEFAULT: none (null) - results in "[SERVER_URL]/imsblis/service/return-url" being used
-# basiclti.consumer_return_url=
+# lti.consumer_return_url=
 
 # Set to "true" to enable. Any other value or missing will keep this from being enabled. This allows the launch to specify a URL that contains some resource content.   
 # **NOTE:  Experimental Feature 2.8.0 
 # DEFAULT: none (null). 
-# basiclti.contentlink.enabled=
+# lti.contentlink.enabled=
 
 # Set to "true" to enable. Any other value or missing will keep this from being enabled.
 # Additionally, there must be a gradebook tool on the site in order for this to enable.
 # DEFAULT: none (null). 
-# basiclti.outcomes.enabled=
+# lti.outcomes.enabled=
 
 # Allows an external tool (if granted proper permissions) to retrieve a course roster for the course that they were launched from. 
 # This allows the launch to specify a URL that contains some resource content.
 # **NOTE:  Experimental Feature 2.8.0 
 # DEFAULT: true. Set to "false" to disable.
-# basiclti.roster.enabled=
+# lti.roster.enabled=
 
 # Enable the pulling of rosters from LTI consumers. Users are created in Sakai
 # and added to the provisioned site.
 # DEFAULT: false. Set to "true" to enable.
-# basiclti.incoming.roster.enabled=true
+# lti.incoming.roster.enabled=true
 
 # DEFAULT: true. Set to "false" to disable.
-# basiclti.settings.enabled=
+# lti.settings.enabled=
 
 ## BASICLTI Organizational information
 # DEFAULT: none (null)
-# basiclti.consumer_instance_contact_email=
+# lti.consumer_instance_contact_email=
 
 # DEFAULT: none (null)
-# basiclti.consumer_instance_description=
+# lti.consumer_instance_description=
 
 # DEFAULT: serverName 
-# basiclti.consumer_instance_guid=lmsng.school.edu
+# lti.consumer_instance_guid=lmsng.school.edu
 
 # DEFAULT: none (null)
-# basiclti.consumer_instance_name=
+# lti.consumer_instance_name=
 
 # DEFAULT: none (null)
-# basiclti.consumer_instance_url=
+# lti.consumer_instance_url=
 
-# LMS-wide key, e.g., basiclti.consumer_instance_key.imsglobal.org=lmsng.school.edu 
+# LMS-wide key, e.g., lti.consumer_instance_key.imsglobal.org=lmsng.school.edu 
 # DEFAULT: none (null)
-# basiclti.consumer_instance_key.[hostname]
+# lti.consumer_instance_key.[hostname]
 
-# LMS-wide secret, e.g., basiclti.consumer_instance_secret.imsglobal.org=secret 
+# LMS-wide secret, e.g., lti.consumer_instance_secret.imsglobal.org=secret 
 # DEFAULT: none (null)
-# basiclti.consumer_instance_secret.[hostname]
+# lti.consumer_instance_secret.[hostname]
 
 # IMS LTI 1.3 includes a concept called deployment_id for servers that serve multiple tennants
 # from the same URL or for SASS based servers that use a single PKI key pair
@@ -2366,11 +2365,11 @@
 
 # Name of the site property to display in the table.
 # DEFAULT: Department
-# basiclti.tool.site.attribution.key=Division
+# lti.tool.site.attribution.key=Division
 
 # Title for the column header for the attribution column, can be a text or a translation key
 # DEFAULT: content.attribution
-# basiclti.tool.site.attribution.name=content.attribution
+# lti.tool.site.attribution.name=content.attribution
 
 # Suppress portlet form field with supplied launch end-point URL.
 # DEFAULT: none (null)
@@ -5544,9 +5543,9 @@ rubrics.integration.token-secret=12345678900909091234
 #assignment.usegraderbydefault=false
 
 # Allows you to control the default LTI 1.1 Launchtype
-# default: basiclti.lti11.launchtype=legacy
+# default: lti.lti11.launchtype=legacy
 # If you want the default to require the double LTI 1.1 launch set this to
-# basiclti.lti11.launchtype=lti112
+# lti.lti11.launchtype=lti112
 
 # Provide an auto-constructed lineitem for an LTI Advantage launch if the tool
 # did not request a lineitem via its DeepLinkResponse. (SAK-44137)
diff --git a/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/experimental.sakai.properties b/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/experimental.sakai.properties
index 0490166a084a..79a30fb7afd7 100644
--- a/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/experimental.sakai.properties
+++ b/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/experimental.sakai.properties
@@ -8,24 +8,24 @@
 # BASICLTI PROVIDER
 # Enable the Producer
 # Default=false
-basiclti.provider.enabled=true
+lti.provider.enabled=true
 
-# BasicLTI Provider-enabled tools
-basiclti.provider.allowedtools=sakai.announcements:sakai.singleuser:sakai.assignment.grades:blogger:sakai.dropbox:sakai.mailbox:sakai.forums:sakai.gradebook.tool:sakai.podcasts:sakai.poll:sakai.resources:sakai.schedule:sakai.samigo:sakai.rwiki
+# LTI Provider-enabled tools
+lti.provider.allowedtools=sakai.announcements:sakai.singleuser:sakai.assignment.grades:blogger:sakai.dropbox:sakai.mailbox:sakai.forums:sakai.gradebook.tool:sakai.podcasts:sakai.poll:sakai.resources:sakai.schedule:sakai.samigo:sakai.rwiki
 
-# BasicLTI Provider secret
-basiclti.provider.lmsng.school.edu.secret=secret
+# LTI Provider secret
+lti.provider.lmsng.school.edu.secret=secret
 
-basiclti.outcomes.enabled=true 
-basiclti.settings.enabled=true 
-basiclti.roster.enabled=true
-basiclti.contentlink.enabled=true
+lti.outcomes.enabled=true 
+lti.settings.enabled=true 
+lti.roster.enabled=true
+lti.contentlink.enabled=true
 
 # Additional consumer/secret that we can setup as a highly trusted consumer
-basiclti.provider.uportal-integration.secret=secret
+lti.provider.uportal-integration.secret=secret
 
 # Setup highly trusted consumers, see https://jira.sakaiproject.org/browse/BLTI-31
-basiclti.provider.highly.trusted.consumers=uportal-integration
+lti.provider.highly.trusted.consumers=uportal-integration
 
 # WEBSERVICES
 # Indicates whether or not we allow web-service logins.
diff --git a/entitybroker/core-providers/src/java/org/sakaiproject/entitybroker/providers/SiteEntityProvider.java b/entitybroker/core-providers/src/java/org/sakaiproject/entitybroker/providers/SiteEntityProvider.java
index c0845287804c..a9bd76aa1344 100644
--- a/entitybroker/core-providers/src/java/org/sakaiproject/entitybroker/providers/SiteEntityProvider.java
+++ b/entitybroker/core-providers/src/java/org/sakaiproject/entitybroker/providers/SiteEntityProvider.java
@@ -590,7 +590,7 @@ public ActionReturn getPagesAndTools(EntityView view, Search search) {
                         toolPopup = "true".equals(toolProps.getProperty("popup"));
                     } else if ("sakai.basiclti".equals(tc.getToolId())) {
                         toolPopup = "on".equals(toolProps.getProperty("imsti.newpage"));
-                        source = "/access/basiclti/site/" + tc.getContext() + "/" + tc.getId();
+                        source = "/access/lti/site/" + tc.getContext() + "/" + tc.getId();
                     }
                 }
             }
diff --git a/kernel/kernel-impl/src/test/java/org/sakaiproject/util/impl/FormattedTextTest.java b/kernel/kernel-impl/src/test/java/org/sakaiproject/util/impl/FormattedTextTest.java
index e645053b8286..475e2e570ee0 100644
--- a/kernel/kernel-impl/src/test/java/org/sakaiproject/util/impl/FormattedTextTest.java
+++ b/kernel/kernel-impl/src/test/java/org/sakaiproject/util/impl/FormattedTextTest.java
@@ -1228,7 +1228,7 @@ public void getHtmlBodyTest() {
 
     @Test
     public void testLocalIframeSrc() {
-        String url = serverConfigurationService.getServerUrl() + "/access/basiclti/site/0f68e843-1f0c-473d-b469-852a49ea0f05/content:62";
+        String url = serverConfigurationService.getServerUrl() + "/access/lti/site/0f68e843-1f0c-473d-b469-852a49ea0f05/content:62";
         String contentItemIframe = "";
         StringBuilder errorMessages = new StringBuilder();
diff --git a/lessonbuilder/README b/lessonbuilder/README
index b3a4609586bd..e1efe0d5eced 100644
--- a/lessonbuilder/README
+++ b/lessonbuilder/README
@@ -280,7 +280,7 @@ patch, which should be applied to the file
 portal/portal-impl/impl/src/java/org/sakaiproject/portal/charon/handlers/PDAHandler.java
 in your source tree.
 
-MNEME, YAFT, ASSIGNMENT2,  BASIC LTI AND JFORUM DEPENDENCIES
+MNEME, YAFT, ASSIGNMENT2,  LTI AND JFORUM DEPENDENCIES
 
 LessonBuilder will support quizes from Mneme, topics from JForum or
 YAFT, assignments from Assignment 2 and external tools using Basic
diff --git a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/BltiEntity.java b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/BltiEntity.java
index e896af9e6129..dc07af22d136 100644
--- a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/BltiEntity.java
+++ b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/BltiEntity.java
@@ -410,7 +410,7 @@ public List createNewUrls(SimplePageBean bean, Integer bltiToolId, bool
 	}
 	List> tools = ltiService.getTools(search,null,0,0, bean.getCurrentSiteId());
 	for ( Map tool : tools ) {
-		String url = ServerConfigurationService.getToolUrl() + "/" + toolId + "/sakai.basiclti.admin.helper.helper?panel=ContentConfig&flow=lessons&tool_id="
+		String url = ServerConfigurationService.getToolUrl() + "/" + toolId + "/sakai.lti.admin.helper.helper?panel=ContentConfig&flow=lessons&tool_id="
 			+ tool.get(LTIService.LTI_ID) + "&returnUrl=" + URLEncoder.encode(returnUrl);
 		String fa_icon = (String) tool.get(LTIService.LTI_FA_ICON);
 		Long ls = getLong(tool.get(LTIService.LTI_PL_LINKSELECTION));
@@ -419,7 +419,7 @@ public List createNewUrls(SimplePageBean bean, Integer bltiToolId, bool
 		list.add(new UrlItem(url, (String) tool.get(LTIService.LTI_TITLE), (String) tool.get(LTIService.LTI_DESCRIPTION), fa_icon, selector));
 	}
 
-	String url = ServerConfigurationService.getToolUrl() + "/" + toolId + "/sakai.basiclti.admin.helper.helper?panel=Main" + 
+	String url = ServerConfigurationService.getToolUrl() + "/" + toolId + "/sakai.lti.admin.helper.helper?panel=Main" + 
 		"&returnUrl=" + URLEncoder.encode(returnUrl);
 	list.add(new UrlItem(url, messageLocator.getMessage("simplepage.create_blti")));
 	return list;
@@ -452,7 +452,7 @@ public String editItemUrl(String toolId) {
 	loadContent();
 	if (content == null)
 	    return null;
-	String url = ServerConfigurationService.getToolUrl() + "/" + toolId + "/sakai.basiclti.admin.helper.helper?panel=ContentConfig&flow=lessons&id=" +
+	String url = ServerConfigurationService.getToolUrl() + "/" + toolId + "/sakai.lti.admin.helper.helper?panel=ContentConfig&flow=lessons&id=" +
 		content.get(LTIService.LTI_ID);
 	if ( returnUrl != null ) {
 		url = url + "&returnUrl=" + URLEncoder.encode(returnUrl);
diff --git a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java
index 2fe6fcde7f21..e5bfa12cad9c 100644
--- a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java
+++ b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/service/LessonBuilderEntityProducer.java
@@ -767,7 +767,8 @@ private boolean makePage(Element element, String oldServer, String siteId, Strin
 				}
 			} else if (type == SimplePageItem.TEXT) {
 			String html = itemElement.getAttribute("html");
-			Pattern idPattern = Pattern.compile("(https?://[^/]+/access/basiclti/site)/" + Pattern.quote(oldSiteId) + "/content:([0-9]+)");
+			// TODO: SAK-46983 - Check carefully
+			Pattern idPattern = Pattern.compile("(https?://[^/]+/access/[basic]*lti/site)/" + Pattern.quote(oldSiteId) + "/content:([0-9]+)");
 			Matcher matcher = idPattern.matcher(html);
 			StringBuffer sb = new StringBuffer();
 			boolean foundLtiLink = false;
diff --git a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/tool/producers/LtiImportItemProducer.java b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/tool/producers/LtiImportItemProducer.java
index b7e8a30d5616..1a36f48dc4f3 100644
--- a/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/tool/producers/LtiImportItemProducer.java
+++ b/lessonbuilder/tool/src/java/org/sakaiproject/lessonbuildertool/tool/producers/LtiImportItemProducer.java
@@ -159,7 +159,7 @@ public void fillComponents(UIContainer tofill, ViewParameters viewparams, Compon
 
 		// Can set ContentItemSelection launch values or put in our own data items
 		// which will come back later.  Be mindful of GET length limitations enroute
-		// to the /access/basiclti servlet.
+		// to the /access/lti servlet.
 		Properties contentData = new Properties();
 		contentData.setProperty(ContentItem.ACCEPT_MEDIA_TYPES, ContentItem.MEDIA_CC);
 		contentData.setProperty("answer", "42");  // An example
@@ -186,7 +186,7 @@ public void fillComponents(UIContainer tofill, ViewParameters viewparams, Compon
 				String siteInfoToolId = simplePageBean.getCurrentTool("sakai.siteinfo");
 
 				String helperUrl = ServerConfigurationService.getToolUrl() + "/" + siteInfoToolId +
-					"/sakai.basiclti.admin.helper.helper?panel=ContentConfig&flow=import&tool_id=" +
+					"/sakai.lti.admin.helper.helper?panel=ContentConfig&flow=import&tool_id=" +
 					tool.get(LTIService.LTI_ID) + "&returnUrl=" + URLEncoder.encode(contentReturn);
 
 				String title = (String) tool.get(LTIService.LTI_TITLE);
diff --git a/lessonbuilder/tool/src/webapp/js/show-page.js b/lessonbuilder/tool/src/webapp/js/show-page.js
index 52e2b062dc74..fe65ef725e69 100644
--- a/lessonbuilder/tool/src/webapp/js/show-page.js
+++ b/lessonbuilder/tool/src/webapp/js/show-page.js
@@ -2975,15 +2975,17 @@ $(document).ready(function() {
 		enableHighlight: false,
 	});
 
-	$('a[href*="access/basiclti"]').each(function() {
+	// This must work for /access/lti *and* /access/basiclti forever since existing content has hard-coded urls in the database
+	$('a[href*="access/"]').each(function() {
 		const href = this.href;
 		if ( this.href === null ) return;
-		if ( this.href.indexOf('/access/basiclti') < 0 ) return
+		if ( this.href.indexOf('/access/basiclti') < 0 && this.href.indexOf('/access/lti') < 0 ) return
 		if ( '_blank' !== this.target ) return
 		if ( this.onclick !== null ) return;
-		console.log('Patching an LTI Launch in new window!', this.href);
+		console.debug('Patching LTI Launch to open with JS', this.href);
 		this.onclick = function () { window.open(this.href,'_blank');return false; };
 	});
+
 	return false;
 });
 
diff --git a/library/src/webapp/js/headscripts.js b/library/src/webapp/js/headscripts.js
index 2ce86135b563..9137b13c3d81 100644
--- a/library/src/webapp/js/headscripts.js
+++ b/library/src/webapp/js/headscripts.js
@@ -290,7 +290,7 @@ function setMainFrameHeightNow(id, maxHeight)
 	}
 
 	//SAK-21209 check we can access the document, 
-	//ie this could be a Basic LTI request and therefore we are not allowed
+	//ie this could be a LTI request and therefore we are not allowed
 	try {
 		var frame = parent.document.getElementById(id);
 	} catch (e) {
diff --git a/mycalendar/src/webapp/scripts/mycalendar.js b/mycalendar/src/webapp/scripts/mycalendar.js
index aa61fc09c39b..8355a93c2ada 100644
--- a/mycalendar/src/webapp/scripts/mycalendar.js
+++ b/mycalendar/src/webapp/scripts/mycalendar.js
@@ -205,7 +205,7 @@
           /http(s)?:\/\/[A-Za-z0-9:_.-]+(\/samigo-app\/servlet\/Login\?id=[A-Za-z0-9-]*)/ ,
           /*
              Example URL for Adobe Connect via eSyncTraining
-             http://sakai.noodle-partners.com:8080/egcint/redirect.jsf\?url=http://sakai.noodle-partners.com:8080/access/basiclti/site/sakai-demo/null/?ltiId=15169%26ltiAction=join%2673ad790e-b17e-46e2-89c3-412cb0167823
+             http://sakai.noodle-partners.com:8080/egcint/redirect.jsf\?url=http://sakai.noodle-partners.com:8080/access/lti/site/sakai-demo/null/?ltiId=15169%26ltiAction=join%2673ad790e-b17e-46e2-89c3-412cb0167823
            */
           /http(s)?:\/\/[A-Za-z0-9:_.-]+\/egcint\/redirect.jsf\?url=http(s)?:\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]*\/\?ltiId=\d*%26ltiAction=join%26[0-9A-Fa-f-]*/,
           /*
diff --git a/portal/portal-service-impl/impl/src/java/org/sakaiproject/portal/service/PortalServiceImpl.java b/portal/portal-service-impl/impl/src/java/org/sakaiproject/portal/service/PortalServiceImpl.java
index c29493263712..d1147fbc8237 100644
--- a/portal/portal-service-impl/impl/src/java/org/sakaiproject/portal/service/PortalServiceImpl.java
+++ b/portal/portal-service-impl/impl/src/java/org/sakaiproject/portal/service/PortalServiceImpl.java
@@ -567,7 +567,7 @@ public String getContentItemUrl(Site site) {
 		*/
 
 		// Now we are in good shape, make the URL
-		String helper_url = "/portal/tool/"+toolConfig.getId()+"/sakai.basiclti.admin.helper.helper?panel=CKEditor";
+		String helper_url = "/portal/tool/"+toolConfig.getId()+"/sakai.lti.admin.helper.helper?panel=CKEditor";
 		return helper_url;
 	}
 
diff --git a/portal/portal-util/util/src/java/org/sakaiproject/portal/util/ToolUtils.java b/portal/portal-util/util/src/java/org/sakaiproject/portal/util/ToolUtils.java
index 05e9de2a5a54..9e5ed6172b9d 100644
--- a/portal/portal-util/util/src/java/org/sakaiproject/portal/util/ToolUtils.java
+++ b/portal/portal-util/util/src/java/org/sakaiproject/portal/util/ToolUtils.java
@@ -238,7 +238,7 @@ public static String getToolPopupUrl(ToolConfiguration pageTool)
 			source = pro.getProperty("source");
 		} else if ( "sakai.basiclti".equals(pageTool.getToolId()) 
 				&& "on".equals(pro.getProperty("imsti.newpage")) ) {
-			source = "/access/basiclti/site/"+pageTool.getContext()+"/"+pageTool.getId();
+			source = "/access/lti/site/"+pageTool.getContext()+"/"+pageTool.getId();
 		}
 		return source;
 	}
diff --git a/profile2/tool/src/webapp/javascript/profile2.js b/profile2/tool/src/webapp/javascript/profile2.js
index 4af733e3a72b..0a4a598e134a 100644
--- a/profile2/tool/src/webapp/javascript/profile2.js
+++ b/profile2/tool/src/webapp/javascript/profile2.js
@@ -39,7 +39,7 @@ function fixWindowVertical() {
 function resizeFrame(updown){
 
     if (top.location != self.location) {
-        //PRFL-672 check context, ie if we are in a remote iframe (Basic LTI)
+        //PRFL-672 check context, ie if we are in a remote iframe (LTI)
         try {
             if(parent.document){
                 var frame = parent.document.getElementById(window.name);
diff --git a/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/MenuBuilder.java b/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/MenuBuilder.java
index 944668d9c4a9..64de639ad79e 100644
--- a/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/MenuBuilder.java
+++ b/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/MenuBuilder.java
@@ -277,7 +277,7 @@ public static void buildMenuForSiteInfo( VelocityPortlet portlet, RunData data,
                 menu.add( buildMenuEntry( rl.getString( "java.link" ), "doLinkHelper", activeTab.equals( SiteInfoActiveTab.LINK_TO_PARENT_SITE ) ) );
             }
 
-            if( !TM.isStealthed( "sakai.basiclti.admin.helper" ) )
+            if( !TM.isStealthed( "sakai.lti.admin.helper" ) )
             {
                 // 'External Tools'
                 menu.add( buildMenuEntry( rl.getString( "java.external" ), "doExternalHelper", activeTab.equals( SiteInfoActiveTab.EXTERNAL_TOOLS ) ) );
diff --git a/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java b/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java
index dd5704d2c9c8..76ad455790b8 100644
--- a/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java
+++ b/site-manage/site-manage-tool/tool/src/java/org/sakaiproject/site/tool/SiteAction.java
@@ -4478,7 +4478,7 @@ public void doExternalHelper(RunData data) {
 		sessionManager.getCurrentToolSession().setAttribute(HELPER_ID + ".siteId", getStateSite(state).getId());
 
 		// launch the helper
-		startHelper(data.getRequest(), "sakai.basiclti.admin.helper");
+		startHelper(data.getRequest(), "sakai.lti.admin.helper");
 	}
 	
 	public void doUserAuditEventLog(RunData data) {
diff --git a/site-manage/site-manage-tool/tool/src/webapp/vm/sitesetup/toolGroupMultipleDisplay.vm b/site-manage/site-manage-tool/tool/src/webapp/vm/sitesetup/toolGroupMultipleDisplay.vm
index 380cd1b836be..cdc4e1de9170 100644
--- a/site-manage/site-manage-tool/tool/src/webapp/vm/sitesetup/toolGroupMultipleDisplay.vm
+++ b/site-manage/site-manage-tool/tool/src/webapp/vm/sitesetup/toolGroupMultipleDisplay.vm
@@ -100,7 +100,7 @@
                             #foreach($tool in $mapEntry.value)
                                 #set($toolId = $tool.id)
                                 #if (!$toolId.equals("sakai.web.168"))
-                                    ## exclude the Basic LTI tools, since they would be listed separately down the list
+                                    ## exclude the LTI tools, since they would be listed separately down the list
                                     #set ($rowCount = $rowCount + 1)
                                     #if ($tool.required)
                                         
  • diff --git a/sitestats/sitestats-bundle/src/resources/Events.properties b/sitestats/sitestats-bundle/src/resources/Events.properties index d3519159df6e..aefaebb50a7c 100644 --- a/sitestats/sitestats-bundle/src/resources/Events.properties +++ b/sitestats/sitestats-bundle/src/resources/Events.properties @@ -24,7 +24,7 @@ asn.grade.submission=Assignment grade/release/return asn.resubmit.assignment=Enable assignment resubmission asn.resubmit.submission=Enable assignment resubmission to student -# basic lti +# LTI basiclti.config=BasicLTI tool configured basiclti.launch=BasicLTI tool launched diff --git a/sitestats/sitestats-bundle/src/resources/Events_ar.properties b/sitestats/sitestats-bundle/src/resources/Events_ar.properties index bcf710aca8f0..84d2183c198a 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_ar.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_ar.properties @@ -22,7 +22,7 @@ asn.submit.submission=\u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u0637\u0644\u0 asn.save.submission=\u062d\u0641\u0638 \u0627\u0644\u0648\u0627\u062c\u0628 asn.grade.submission=\u062f\u0631\u062c\u0629 \u0627\u0644\u0648\u0627\u062c\u0628 / \u0627\u0644\u0625\u0641\u0631\u0627\u062c / \u0627\u0644\u0639\u0648\u062f\u0629 -# basic lti +# LTI basiclti.config=\u062a\u0643\u0648\u064a\u0646 \u0623\u062f\u0627\u0629 \u0623\u0633\u0627\u0633\u064a LTI basiclti.launch=\u062a\u0645 \u0625\u0637\u0644\u0627\u0642 \u0623\u062f\u0627\u0629 \u0623\u0633\u0627\u0633\u064aLTI diff --git a/sitestats/sitestats-bundle/src/resources/Events_ca.properties b/sitestats/sitestats-bundle/src/resources/Events_ca.properties index a15d31b11d7f..fa3767c3e0a9 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_ca.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_ca.properties @@ -22,7 +22,7 @@ asn.submit.submission=Enviament d\u2019una activitat asn.save.submission=Activitat desada asn.grade.submission=Qualificaci\u00f3/publicaci\u00f3/retorn d\u2019una activitat -# basic lti +# LTI basiclti.config=Eina BasicLTI configurada basiclti.launch=Eina BasicLTI iniciada diff --git a/sitestats/sitestats-bundle/src/resources/Events_es.properties b/sitestats/sitestats-bundle/src/resources/Events_es.properties index 6c34c7d0b8a4..14e6be7e530e 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_es.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_es.properties @@ -24,7 +24,7 @@ asn.grade.submission=Calificar/publicar/devolver tarea asn.resubmit.assignment=Activar reenv\u00edo de tarea asn.resubmit.submission=Activar reenv\u00edo de tarea a estudiante -# basic lti +# LTI basiclti.config=Herramienta de BasicLTI configurada basiclti.launch=Herramienta de BasicLTI lanzada diff --git a/sitestats/sitestats-bundle/src/resources/Events_eu.properties b/sitestats/sitestats-bundle/src/resources/Events_eu.properties index cc5622748cb8..286ec32039b7 100755 --- a/sitestats/sitestats-bundle/src/resources/Events_eu.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_eu.properties @@ -20,7 +20,7 @@ asn.submit.submission=Bidali zeregina asn.save.submission=Gorde zeregina asn.grade.submission=Kalifikatu/argitaratu/itzuli zeregina -# basic lti +# LTI basiclti.config=BasicLTI tresna konfiguratu duzu basiclti.launch=BasicLTI tresna abiarazi duzu diff --git a/sitestats/sitestats-bundle/src/resources/Events_fa_IR.properties b/sitestats/sitestats-bundle/src/resources/Events_fa_IR.properties index a5e18fcb7447..d6137f1f511b 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_fa_IR.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_fa_IR.properties @@ -21,7 +21,7 @@ asn.submit.submission=\u0627\u0631\u0633\u0627\u0644 \u062a\u06a9\u0644\u06cc\u0 asn.save.submission=\u0630\u062e\u06cc\u0631\u0647 \u062a\u06a9\u0644\u06cc\u0641 asn.grade.submission=\u0646\u0645\u0631\u0647 / \u0627\u0646\u062a\u0634\u0627\u0631 / \u0628\u0627\u0632\u06af\u0634\u062a \u062a\u06a9\u0644\u06cc\u0641 -# basic lti +# LTI basiclti.config=\u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0627\u0628\u0632\u0627\u0631 BasicLTI \u0627\u0646\u062c\u0627\u0645 \u0634\u062f basiclti.launch=\u0627\u0628\u0632\u0627\u0631 BasicLTI \u0627\u062c\u0631\u0627 \u0634\u062f diff --git a/sitestats/sitestats-bundle/src/resources/Events_fr_FR.properties b/sitestats/sitestats-bundle/src/resources/Events_fr_FR.properties index 4a3c45f50983..29d5faee63b8 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_fr_FR.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_fr_FR.properties @@ -22,7 +22,7 @@ asn.submit.submission=Soumettre devoir asn.save.submission=Sauvegarder devoir asn.grade.submission=Noter/Envoyer/Rendre devoir -# basic lti +# LTI basiclti.config=Configuration outil BasicLTI basiclti.launch=Lancement outil BasicLTI diff --git a/sitestats/sitestats-bundle/src/resources/Events_hi_IN.properties b/sitestats/sitestats-bundle/src/resources/Events_hi_IN.properties index 5dd28b206df7..6337ff899f9c 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_hi_IN.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_hi_IN.properties @@ -21,7 +21,7 @@ asn.submit.submission=\u0905\u0938\u093e\u0907\u0928\u092e\u0947\u0902\u091f \u0 asn.save.submission=\u0905\u0938\u093e\u0907\u0928\u092e\u0947\u0902\u091f \u0938\u0939\u0947\u091c\u0928\u093e asn.grade.submission=\u0905\u0938\u093e\u0907\u0928\u092e\u0947\u0902\u091f \u0917\u094d\u0930\u0947\u0921/\u0930\u093f\u0939\u093e\u0908/\u0935\u093e\u092a\u0938\u0940 -# basic lti +# LTI basiclti.config=BasicLTI \u0909\u092a\u0915\u0930\u0923 \u0915\u0949\u0928\u094d\u092b\u093c\u093f\u0917\u0930 \u0915\u093f\u092f\u093e \u0917\u092f\u093e basiclti.launch=BasicLTI \u0909\u092a\u0915\u0930\u0923 \u0915\u093e \u0936\u0941\u092d\u093e\u0930\u0902\u092d \u0915\u093f\u092f\u093e \u0917\u092f\u093e diff --git a/sitestats/sitestats-bundle/src/resources/Events_mn.properties b/sitestats/sitestats-bundle/src/resources/Events_mn.properties index 8d50103b750a..09594bce4624 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_mn.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_mn.properties @@ -25,7 +25,7 @@ asn.submit.submission=\u0414\u0430\u0430\u043B\u0433\u0430\u0432\u0440\u0430\u04 asn.save.submission=\u0414\u0430\u0430\u043B\u0433\u0430\u0432\u0430\u0440 \u0445\u0430\u0434\u0433\u0430\u043B\u0430\u0445 asn.grade.submission=\u0414\u0430\u0430\u043B\u0433\u0430\u0432\u0440\u044B\u0433 \u0434\u04AF\u0433\u043D\u044D\u0445/\u0433\u0430\u0440\u0433\u0430\u0445/\u0431\u0443\u0446\u0430\u0430\u0445 -# basic lti +# LTI basiclti.config=BasicLTI \u0445\u044D\u0440\u044D\u0433\u0441\u043B\u0438\u0439\u043D \u0442\u043E\u0445\u0438\u0440\u0433\u043E\u043E \u0445\u0438\u0439\u0433\u0434\u0441\u044D\u043D basiclti.launch=BasicLTI \u0445\u044D\u0440\u044D\u0433\u0441\u043B\u0438\u0439\u0433 \u0430\u0436\u043B\u0443\u0443\u043B\u0441\u0430\u043D diff --git a/sitestats/sitestats-bundle/src/resources/Events_pt_BR.properties b/sitestats/sitestats-bundle/src/resources/Events_pt_BR.properties index 561f36e6f07c..f5fd0602a08d 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_pt_BR.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_pt_BR.properties @@ -26,7 +26,7 @@ asn.submit.submission=Submeter Atividade asn.save.submission=Salvar Atividade asn.grade.submission=Avaliar/publicar/devolver Atividade -# basic lti +# LTI basiclti.config=Ferramenta BasicLTI configurada basiclti.launch=Ferramenta BasicLTI iniciada diff --git a/sitestats/sitestats-bundle/src/resources/Events_ro_RO.properties b/sitestats/sitestats-bundle/src/resources/Events_ro_RO.properties index 6eaffbb7e1e3..90d0d765ed7c 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_ro_RO.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_ro_RO.properties @@ -22,7 +22,7 @@ asn.submit.submission=Trimitere tema asn.save.submission=Salveaza tema asn.grade.submission=Notare/publicare/returnare tema -# basic lti +# LTI basiclti.config=Instrumentul BasicLTI configurat basiclti.launch=Instrumentul BasicLTI lansat diff --git a/sitestats/sitestats-bundle/src/resources/Events_zh_CN.properties b/sitestats/sitestats-bundle/src/resources/Events_zh_CN.properties index 27922a762313..3ebb036741c2 100644 --- a/sitestats/sitestats-bundle/src/resources/Events_zh_CN.properties +++ b/sitestats/sitestats-bundle/src/resources/Events_zh_CN.properties @@ -20,7 +20,7 @@ asn.submit.submission=\u63D0\u4EA4\u4F5C\u4E1A asn.save.submission=\u4FDD\u5B58\u4F5C\u4E1A asn.grade.submission=\u4F5C\u4E1A\u8BC4\u5206/\u53D1\u5E03/\u8FD4\u8FD8 -# basic lti +# LTI basiclti.config=\u8BBE\u7F6EBasicLTI\u5DE5\u5177 basiclti.launch=\u89E6\u53D1BasicLTI\u5DE5\u5177