SharePoint learning kit Core Content Overview (3)

Source: Internet
Author: User
ArticleDirectory
    • Query and view
    • Content

In the previous article, we introduced the verification mechanism in SLK. We will continue to introduce the query, view, and supported courseware types as an important part of SLK.

Query and view

The purpose of setting up a query and view in SLK:

    1. Provides a flexible way to display the filtering list of user course records in alwp
    2. Allows administrators to modify or create new database query filtering conditions and display the results in alwp
    3. A webpart attribute is provided to determine which queries or query sets are valid for users. To achieve this, you do not need to know how the query and query set are defined.
    4. Allows centralized management of query and query set definitions, while specific webparts can choose which query or query set to use

Definition
SLK query: a query of the course record data table, including the returned column and conditions to be met.

    • Unique name-(cross-all queries and query sets) spaces are not allowed
    • Title of the query-easy-to-read localized title
    • Basic Learning Store View
    • Conditions to be met
    • Columns to be displayed
    • Format attributes for display (optional)
    • Column sorting (optional)

One SLK query is stored by one basic learning (Learning store) View. The view is filtered by the query conditions specified in the query result definition, and records displayed in the course record list are determined. Finally, for each record, the query defines which data will be displayed in the column and what format to display.

For example,LearneroverdueThe query displays all the course records of the current learner that have not been completed within the specified period. The site, course name, end date, status, and score are displayed in the course record list. Different text formats can be specified for each column.

SLK query set: a set of SLK queries. It is defined in the SLK configuration file in XML format. The following parameters are specified:

    • Unique name-(cross-all queries and query sets) spaces are not allowed
    • Title of the query set-easy to read localized title
    • The set of SLK queries. In the order displayed in the alwp summary list.
    • Set a default SLK query for this query set. It is used to load the default display of the query set in alwp for the first time.

Alwp uses a query set to define which queries are to be displayed in the abstract list, and which query is selected by default when alwp is loaded. Detailed instructions are provided in the alwp documentation. For more details about "query and view", see alwp standards.

 

Learningstore view and SLK Query

The learningstore view is a virtual table composed of a subset of data in the SLK database. They are defined in the SLK architecture (schema. XML) in the form of SQL select statements. It can return data from multiple entries, calculate the value, and provide entry-level security. The learningstore view processes user authorization according to the view definition and returns only data that the current user has access. All views are defined in the MLC database architecture.

For example, the learningstore view named learnerassignmentlistforlearners only returns the course records corresponding to the current user as a learner in the assignment process. In addition, some data is processed before it is returned by the view. For example, the final point is displayed only after the course record has been "Returned" by the instructor. In this case, the learnerassignmentlistforlearners Definition specifies that when the learner's course record status is less than "final", the final point returns NULL.

The SLK query is defined in the SLK configuration XML file. It is used to provide a flexible way to organize data obtained from a learningstore. The SLK query further filters A learningstore view and displays certain columns in a specific format.

Generally, the learningstore view is used to return suitable result sets from the database and customize the display through SLK.

 

Content

SLK supports the following content formats:

  • SCORM 2004 -- the runtime engine of the SLK supports SCORM 2004 content that includes the complete sequencing and navigation functions. The SLK conforms to SCORM 2004 Version 2, version 1.3.1, and contains SCORM 2004 2nd Edition Addendum version 1.2.
  • The runtime engine of SCORM 1.2 -- SLK-SLK also supports learning content in SCORM 1.2 format. The SLK conforms to SCORM 1.2, including SCORM 1.2 Addendum version 2.0.
  • class server (LRM/IMS +)-SLK supports class server learning resources in the following situations:
    • remote content-remote content cannot be used when class server learning resources are executed. Both class Server 3 and 4 support a remote content protocol that allows publishers to host specific content outside the e-learning package. However, this function is not commonly used in class server, so Ms removes it from the SLK to reduce complexity.
    • this function in the lrm content-class server that contains the license allows the publisher to include the authorization information necessary to perform the learning. SLK does not implement this function, so this type of content cannot be directly used in SLK. The content publisher only needs to remove the license to use it for the SLK.
  • Non-e-learning content-SLK supports assignment of non-e-learning content (such as Word documents and PowerPoint presentations. Normal types of documents are fine, as long as they can be saved to the SharePoint document library. Slksettings. xml contains a list of MIME type mappings used by SLK. We can add new MIME types as needed to extend SLK's support for specific documents.

    The management and transfer methods for non-e-learning content are the same as those for e-learning content. However, non-e-learning content does not have learning and interactive data in the SLK database. ELearning can use the CMI data model provided by the JScript runtime environment to support a wide range of functions such as status tracking, scoring, date and progress. Instead of eLearning, the content only provides status, final points (or scores), and instructor comments. When a learner clicks the "start learning" link, the content will be opened in the corresponding client application or plug-in.

    After completing the study, the learner must review the document to the instructor, then, "Submit" his/her homework in the form of a document as required by the instructor in the document. SLK does not provide a function similar to automatic storage. On the "Submit" page, the learner can tell the instructors that they have completed the corresponding learning.

    Many users require higher SLK support for non-eLearning content, especially on dates (assigned, started, and completed) and result information submission (aka drop box for the changed content ). One way to solve this problem is to enable CMI tracking for non-eLearning content. This is because the CMI data model already contains a large amount of similar information and has been implemented in the current SLK version.

    Create an SQL architecture for assigning and storing the relevant course record data for this assignment:

 

How does this architecture work?

When we assign a document through a document library, an eLearning operation is called, and an assignmentitem record corresponding to this document is created, each learner creates a course (learnerassignmentitem) record and corresponds to this document.

For eLearning content, when the learner starts learning, an attempt record (attemptitem) will be created for the course record ). For each activity in the eLearning content (there may be multiple activities), when the activity ends, a new activity attempt record (activeattemptitem) will be created to store its corresponding CMI data.

For non-eLearning content, when the learner starts learning, learnerassignmentitem. nonelearningstatus writes a value. Instructors can set a final point and a comment when grading completed learning. No attempt or activity attempt record is created throughout the process. So there is no place to store CMI data.

The SLK experts analyzed the possibility of using the slk api to create attempt records and activity attempt records for non-elearing content. The general idea is:

    1. Pass learnerassignmentid to non-eLearning content
    2. Create a Web Service in parallel with the SLK. Use a call similar to the following to submit the CMI status from the non-eLearning content to the SLK:
      Trackingservice. Submit (learnerassignmentid, cmidata );
    3. When the Web Service receives a call, it calls:
      Storedlearningsession SLC = slkstore. startattemptonlearnerassignment (learnerassignmentid );
      SLC. currentactivitydatamodel... = Cmidata;

However, this path cannot be used. The corresponding storedlearningsession has too many logics in the slk api, and it is closely integrated with the rich data provided by scomr and class server content. They have considered "simulating" the data so that when detecting non-eLearning content, they can create a simplest version of pseudo-data and write it into the database (similar to assignmentitem. rootactivityid = 0), so that you can use the slk api by spoofing non-eLearning content. However, the idea is not easy to clarify.

Later, when the CMI tracking service waits for an incoming call, the Service will directly operate the data table (attemptitem and activeattemptitem) to insert a record and associate it with the course record (learnerassignmentitem) corresponding to the non-eLearning content ). If they do not exist, a new packageitem (empty manifest and 'document' packageformat) and an activitypackageitem will be created for the assignment (assignment. In this way, we can use the same database architecture. Essentially, we generate a "SCORM disguise" for the content mentioned above ". Because the non-eLearning content does not have manifest, it is restricted to only one activity for each package.

 

Flowchart

 

Security

Because non-eLearning content cannot be assumed to be able to run in a browser, it cannot share security context like SCORM and class server content. Therefore, we consider using rest/pox based on web services to support data upload, so that the development and activation of CMI data content becomes simple. We cannot rely on security mechanisms such as Windows authentication or WS/security to automatically obtain a security context.
Most rest/pox-based Web services use a shared token to ensure the call security. It is implemented by transmitting a long token generated by the computer, and the token distribution is session-based. There is already a session-Based Token in the slk, that is, learnerassignmentid. Unfortunately, it is an incremental long integer so far, so far it is a good guess. In the future, it will become a random guid, which can greatly improve the security of this method. However, this change will now be postponed, so we can enable this feature without expensive architecture changes.

 

Higher Level Design

    • When learnerassignmentid is transmitted from the SLK to the content, it uses HTTP parameters (such as http: // myslk/lessons/mylesson.htm? Learnerassignmentid = 12)
    • The Windows communications foundation is based on Web Services and uses webhttpbinding (such as rest/POX) to achieve maximum exchange capability with content.
    • System. runtime. serialization datacontracts will represent the CMI data, making it easy to create/consume through C. It is also compatible with simple XML parsing.
      We hope these can be implemented in the new version. For more information refer to http://slk.codeplex.com/wikipage? Title = Enabling % 20cmi % 20 Tracking % 20for % 20non-elearning % 20 Content

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.