code: protected void loadConfig() {
          if (!isEnabled()) {
              return;
          }
  
          final String urlProp = format(PROPERTY_FORMAT, id, "url");
          LRSUrl = propertyResolver.getProperty(urlProp);
          actorName =
                  propertyResolver.getProperty(format(PROPERTY_FORMAT, id, "actor-name"), actorName);
          actorEmail =
                  propertyResolver.getProperty(
                          format(PROPERTY_FORMAT, id, "actor-email"), actorEmail);
          activityId =
                  propertyResolver.getProperty(
                          format(PROPERTY_FORMAT, id, "activity-id"), activityId);
          stateId = propertyResolver.getProperty(format(PROPERTY_FORMAT, id, "state-id"), stateId);
          formEncodeActivityData =
                  propertyResolver.getProperty(
                          format(PROPERTY_FORMAT, id, "form-encode-activity-data"),
                          Boolean.class,
                          formEncodeActivityData);
          activitiesFormParamName =
                  propertyResolver.getProperty(
                          format(PROPERTY_FORMAT, id, "activity-form-param-name"),
                          activitiesFormParamName);
  
          if (StringUtils.isEmpty(LRSUrl)) {
              logger.error("Disabling TinCan API interface.  Property {} not set!", urlProp);
              enabled = false;
              return;
          }
  
          // strip trailing '/' if included
          LRSUrl = LRSUrl.replaceAll("/*$", "");
      }
docs: Read the LRS config.
  
  <p>"url" is the only required property. If not set, will disable this LRS provider.
  
  <p>Rather than asking installations to write a lot of XML, this pushes most of the
  configuration out to portal.properties. It reads dynamically named properties based on the
  "id" of this LRS provider. This is similar to the way that the TinCan configuration is
  handled for Sakai.