/** * $Id: LearningTrackingProvider.java 123125 2013-04-23 01:03:34Z azeckoski@unicon.net $ * $URL: https://source.sakaiproject.org/svn/entitybroker/trunk/api/src/java/org/sakaiproject/entitybroker/entityprovider/extension/LearningTrackingProvider.java $ * LearningTrackingProvider.java - entity-broker - 22 Apr 2013 20:01:11 - azeckoski ************************************************************************** * Copyright (c) 2013 The Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. **/ package org.sakaiproject.entitybroker.entityprovider.extension; /** * This provides for tracking learning events (LRS statements) related to an entity (by prefix)<br/> * If more advanced control is needed then use of the full LRS_Statement in then LearningResourceStoreService. * * @author Aaron Zeckoski (azeckoski @ unicon.net) (azeckoski @ vt.edu) */ public interface LearningTrackingProvider { /** * Send a simple learning activity (LRS) statement with an optional result * * Statements are the bread and butter of Experience API (a.k.a. TinCanAPI). * They dictate the format for the specific moments in a stream of activity. * They convey an experience which has occurred, or may be occurring, * and typically can be stated in clear language, for instance, * "Bob completed 'Truck Driving Training Level 1'". * * NOTE: OPTIONAL params can be null, all other MUST be set and NOT empty strings * * @param prefix the string which represents a type of entity handled by an entity provider * @param actorEmail the user email address, "I" * @param verbStr a string indicating the action, "did" * @param objectURI URI indicating the object of the statement, "this" * @param resultSuccess [OPTIONAL] true if the result was successful (pass) or false if not (fail), "well" * @param resultScaledScore [OPTIONAL] Score from -1.0 to 1.0 where 0=0% and 1.0=100% * @throws IllegalArgumentException if the prefix is not set or other required fields are left blank or null * @see #LearningResourceStoreService.registerStatement(LRS_Statement statement, String origin) */ public void registerStatement(String prefix, String actorEmail, String verbStr, String objectURI, Boolean resultSuccess, Float resultScaledScore); }