3 Integration Look and Feel

advertisement
BLACKBOARD INTEGRATION REPORT
VERSION 1.1
AUTHOR: ANTHONY XIAO
LAMS INTERNATIONAL
09 JUNE 2005
REVISION HISTORY
Name
Date
Reason For Changes
Version
Anthony Xiao
09 June 2005
Initial Draft
1.0
Anthony Xiao
19 Aug 2005
Completed the remaining section, updated the
screenshots
1.1
CONTENTS
1
2
3
4
5
6
INTRODUCTION ...............................................................................................................1
1.1 Scope ..........................................................................................................................1
1.2 What need to be designed ..........................................................................................1
1.3 Constraints .................................................................................................................1
USE CASES ......................................................................................................................2
2.1 Create a LAMS sequence in a course ........................................................................2
2.2 Participate in a LAMS sequence in a Course ............................................................3
2.3 Monitor a LAMS sequence .........................................................................................4
INTEGRATION LOOK AND FEEL .......................................................................................5
3.1 Creating a LAMS sequence in a course .....................................................................5
3.2 Participate in a LAMS sequence in a Course ............................................................9
3.3 Monitor a LAMS sequence .......................................................................................11
USER AND LESSON MANAGEMENT ...............................................................................13
4.1 User Authentication .................................................................................................13
4.1.1
Blackboard Side ........................................................................................... 13
4.1.2
LAMS Side .................................................................................................. 13
4.2 User Provisioning ....................................................................................................13
4.2.1
Static Provisioning ....................................................................................... 14
4.2.2
Dynamic provisioning .................................................................................. 14
4.3 User Privilege Mappings .........................................................................................14
4.4 Blackboard Courses, LAMS Classes and User Class Membership .........................15
LAMS MODIFICATIONS ................................................................................................16
BLACKBOARD AND LAMS INTERACTIONS ...................................................................18
6.1 Participating, Monitoring and Authoring LAMS sequence .....................................18
6.2 Creating LAMS sequence .........................................................................................19
Figure 3.1-1: The Instructor goes to the course Control Panel. Clicks on a content area (eg:
Assignments) in the “Content Area Box”
6
Figure 3.1-2: Select LAMS from the list of contents.
7
Figure 3.1-3: Fill in the options and click on submit.
8
Figure 3.1-4: LAMS Authoring Module displaying after the “Edit selected design” or “Create
a new design” button is clicked.
9
Figure 3.2-1: The Assignments Content Area showing LAMS content
10
Figure 3.2-2: LAMS Activity Sequence running within Blackboard’s content frame
11
Figure 3.3-1: LAMS Monitor running within Blackboard
12
Figure 6.1-1: Participating, Monitoring and Authoring LAMS sequence
18
Figure 6.1-2: Dynamic User Provisioning
19
Figure 6.2-1: Getting the list of workspaces and sequences.
20
Figure 6.2-2: Create the learning session
20
LAMS 1.0.1 and Blackboard Integration
1
INTRODUCTION
1.1
Scope
Blackboard (http://www.blackboard.com) is a learning management system. LAMS is to be
integrated with Blackboard using Building Blocks, with LAMS activity sequence acting as a
content extension within Blackboard.
The initial integration will be done using Blackboard 6.2.3 build 23 and LAMS 1.0.2.
This will document describe the requirements and overall design of the integration.
1.2
What need to be designed
LAMS and Blackboard integration is about Blackboard being able to call LAMS within
courses managed by Blackboard. The following areas need to be addressed by the integration:
User Authentication
LAMS should not require users to log in – it should carry over the user and their privileges
from Blackboard.
Creation/Authoring of Sequences
The teacher must be able to create LAMS learning designs, or sequences from within a
Blackboard course. This will require the integration of the LAMS authoring module into
Blackboard.
A teacher must also be able to select an existing design for using in a Blackboard course. This
involves LAMS functionality, which is currently made available via monitoring.
Lesson Management
The LAMS activity in Blackboard will need to trigger the automatic set up of a lesson, along
with the appropriate session class.
Learner
The integration must support Blackboard user being able to participate in a LAMS sequence.
This will involve the LAMS content extension in Blackboard to call the LAMS Learner
module.
1.3
Constraints
Blackboard is an existing system, which runs on IIS in Windows or Apache in Linux. LAMS
runs on J2EE Application Server, including (in the case of LAMS 1.0.1) EJB support.
Currently LAMS runs on JBOSS 3.0.8 with Tomcat 4.1.24.
It is best to run LAMS and Blackboard on separate servers. So an integration that is capable
of working across servers is required.
The two systems can only use HTTP as communication medium because only HTTP is
common to both systems. Web Service, HTTP Request, HttpXMLRequest (JavaScript) are
the technology that will be used because they all run on top of HTTP.
Page 1
LAMS 1.0.1 and Blackboard Integration
2
USE CASES
The Use Cases below outline common uses of the Blackboard and LAMS integration.
Primary Actor
Author / Editing
Teacher
Use Cases
Create a LAMS sequence in a course
Learner
Participate in a LAMS sequence in a Course
Staff / Non-Editing
Teacher
Monitor a LAMS sequence
Table 2-1: List of use cases
2.1
Create a LAMS sequence in a course
Use Case ID: LAMS1.0.1_BB0001
Use Case Name: Create a LAMS sequence in a course
Created By: Anthony Xiao
Date Created: 09/06/2005
Last Updated By:
Date Last Updated:
Actors: Author / Editing Teacher
Description:
Preconditions: 1. Instructor is logged into Blackboard
2. In the Control Panel page
Postconditions: 1.
Normal Flow: 1. The instructor selects any content (Course Information,
Assignment, etc…) in the Content Area.
2. Instructor creates a new content, and selects the LAMS
content extension.
3. Select LAMS in the dropdown list.
4. Instructor opts to create a new design (using a button on
the screen).
5. The LAMS authoring interface is displayed. Teacher
creates a new design, saves it and closes the authoring
interface.
6. The list of sequences shown to the teacher is updated.
7. Teacher selects a sequence from the list and indicates that
this sequence should be used as the new content.
8. The Blackboard content details are saved. During the
saving process, a new session class and lesson are set up
in LAMS to run this sequence.
Alternative Flows: 1. Instead of creating a new design, the teacher could select
an existing design and choose to edit the design. This
Page 2
LAMS 1.0.1 and Blackboard Integration
would also bring up the LAMS authoring interface. The
rest of the steps remain the same.
2. The teacher does not have to create or edit a design at all –
the teacher could just select an existing design, skipping
from steps 4 to 6.
Exceptions:
Includes:
Priority:
Frequency of Use:
Business Rules:
Special Requirements:
Assumptions:
Notes and Issues:
2.2
Participate in a LAMS sequence in a Course
Use Case ID: LAMS1.0.1_BB0002
Use Case Name: Participate in a LAMS sequence in a Course
Created By: Anthony Xiao
Date Created: 09/06/2005
Last Updated By:
Date Last Updated:
Actors: Learner
Description:
Preconditions: 1. Learner is logged into Blackboard
2. Learner is in the appropriate Content Area
Postconditions: 1.
Normal Flow: 1. Learner selects a LAMS sequence in the Content Area.
2. The LAMS learner module is opened within a frame in
Blackboard. The module automatically goes to the
selected lesson.
3. The learner then interacts with the LAMS sequence in the
normal LAMS manner.
Alternative Flows: 1.
Exceptions:
Includes:
Priority:
Frequency of Use:
Page 3
LAMS 1.0.1 and Blackboard Integration
Business Rules:
Special Requirements:
Assumptions:
Notes and Issues:
2.3
Monitor a LAMS sequence
Use Case ID: LAMS1.0.1_BB0003
Use Case Name: Monitor a LAMS sequence
Created By: Anthony Xiao
Date Created: 09/06/2005
Last Updated By:
Date Last Updated:
Actors: Instructor / Teaching Assistant
Description:
Preconditions: 1. Instructor/TA is logged into Blackboard
2. In the Control Panel page
Postconditions: 1.
Normal Flow: 1. Instructor/TA clicks the LAMS Monitor link in the course
tools box.
2. The LAMS monitoring interface is displayed within a
frame in Blackboard.
3. Instructor/TA interacts with LAMS Monitor in the normal
LAMS manner.
Alternative Flows: 1.
Exceptions:
Includes:
Priority:
Frequency of Use:
Business Rules:
Special Requirements:
Assumptions:
Notes and Issues:
Page 4
LAMS 1.0.1 and Blackboard Integration
3
INTEGRATION LOOK AND FEEL
LAMS will run as a content extension with in a Blackboard course. This means a Blackboard
course will be able to run LAMS Activity Sequence along with other content extension such
as Test, Survey, Links, etc… Content extensions are added to Content Areas such as Course
Information, Syllabus, Assignments, etc… This means that multiple LAMS contents can be
added to any Content Area that supports content extensions.
Blackboard contents runs in its own frame. The Integrated LAMS and Blackboard will be
running LAMS as a content extension within the Blackboard content frame. Hence LAMS
fits into Blackboard nicely with Blackboard and course menu still available to the Blackboard
users.
NOTE: The breadcrumbs bar is lost when LAMS is running in the content frame.
Each of the use cases above will be further discussed below in more details along with screen
shots. The screenshot shows the sequence of normal flow for each use case in section 2.
3.1
Creating a LAMS sequence in a course
Creating LAMS content is very similar to creating any other content. The following
screenshots demonstrate how LAMS Contents will be created. Once the LAMS Content is
created in Blackboard the LAMS lesson will start automatically on the LAMS Server.
Page 5
LAMS 1.0.1 and Blackboard Integration
Figure 3.1-1: The Instructor goes to the course Control Panel. Clicks on a content area (eg:
Assignments) in the “Content Area Box”
Page 6
LAMS 1.0.1 and Blackboard Integration
Figure 3.1-2: Select LAMS from the list of contents.
Page 7
LAMS 1.0.1 and Blackboard Integration
Figure 3.1-3: Fill in the options and click on submit.
Page 8
LAMS 1.0.1 and Blackboard Integration
Figure 3.1-4: LAMS Authoring Module displaying after the “Edit selected design” or “Create
a new design” button is clicked.
The options to be completed when creating a new sequence are;

Workspace – the workspace that contains the desired LAMS activity sequence

Design – the desired LAMS activity sequence. Besides selecting an existing LAMS
activity sequence the instructor also has the options to create a new or edit the
selected LAMS activity sequence, those two actions will popup the LAMS authoring
module to the instructor. Once the instructor has created or updated a sequence he can
click on the refresh design list button the get the latest list of designs. The instructor
can do all this without leaving Blackboard.

Name – The name of this content to be displayed to other users within this course.

Description – The description of this content.
The instructor can also select the standard Blackboard options like “make LAMS visible”,
”Track number of views” and “Date restrictions”.
3.2
Participate in a LAMS sequence in a Course
Once the LAMS content is created, they can be viewed by going into the appropriate content
area and click on the name of the LAMS content created.
Page 9
LAMS 1.0.1 and Blackboard Integration
Figure 3.2-1: The Assignments Content Area showing LAMS content
Page 10
LAMS 1.0.1 and Blackboard Integration
Figure 3.2-2: LAMS Activity Sequence running within Blackboard’s content frame
3.3
Monitor a LAMS sequence
The instructor can open the LAMS Monitor by clicking on “LAMS Monitor” link inside the
Course Tools box in the course control panel page (see figure 3.1-1). This will shows the
LAMS monitor within Blackboard listing the active sequences for the course.
Page 11
LAMS 1.0.1 and Blackboard Integration
Figure 3.3-1: LAMS Monitor running within Blackboard
Page 12
LAMS 1.0.1 and Blackboard Integration
4
USER AND LESSON MANAGEMENT
4.1
User Authentication
Blackboard and LAMS will use their own authentication mechanism. All URL calls to
LAMS will first go through the Blackboard/LAMS authentication protocol. Blackboard will
only request one of the three available URL to access LAMS. The three available LAMS
URLs are learner, author and monitor. See the Participating, Monitoring and Authoring
LAMS sequence section for more detail and sequence diagram.
4.1.1 Blackboard Side
Each time Blackboard sends a HTTP request to LAMS. The base request will contain the
Server ID, Username, Timestamp, Request Method (learner, author or monitor) and MAC
(Message Authentication Code) as part of its parameters. This base request will be used as the
authentication protocol between Blackboard and LAMS. The MAC will be used to ensure the
integrity of each parameter in the base request. This MAC is generated by hashing the
concatenated parameters together with a LAMS supplied secret key. i.e;
MAC = HASH{URL + SERVER ID + USERNAME + TIMESTAMP + SECRET KEY}
The full HTTP request will consist of the base request plus additional parameters. The
additional parameter varies depending on the request method. Learner will append the
Learning Session ID and Course ID. Author will append the Learning Design ID to edit
exiting designs or nothing to creating new designs. Finally Monitor will append the Course
ID.
4.1.2 LAMS Side
The authentication protocol in LAMS will only accept HTTP requests from Blackboard that
has all required parameters in the base request. LAMS will use the parameters received and
the secret key to generate a MAC. If the received MAC and generated MAC are identical this
means the request is genuine. Then LAMS will check whether the username attached exist in
LAMS. If the user doesn’t exist then LAMS will create it using dynamic provisioning. Then
login mechanism is trigger to let the user into LAMS.
4.2
User Provisioning
User provisioning deals with problem of how users are synchronized between LAMS and
Blackboard. LAMS will provide two different user provisioning methods. The first and
preferred method is static provisioning which involves creating or updating the users in bulk
using the provided Excel template. The second method is dynamic provisioning which
involves creating the user on the fly if user profile is missing in LAMS.
Page 13
LAMS 1.0.1 and Blackboard Integration
4.2.1 Static Provisioning
Static Provisioning is about synchronizing all users’ account details in LAMS using the
provided Excel template. System Administrator will need to populate the Excel template
automatically or manually with all the user details. The template is then uploaded into LAMS
for user creation, update or removal. This process should be carried out periodically to ensure
the up-to-date integrity of user profiles. Compare to dynamic provisioning this method is
more efficient because the bulk update could be carried out during off peak usage.
4.2.2 Dynamic provisioning
Dynamic provisioning is convenient for users. This ensure valid users in Blackboard
(validated by the MAC in HTTP request) will have access to LAMS even the user has not
been created using static provisioning. When LAMS detected a valid Blackboard user is
trying to gain access but he does not exist in LAMS. Then LAMS will request the user’s
details from Blackboard. After the user’s details and been obtained LAMS will insert the user
into its Database. This operation is less efficient compare to static provisioning because user
creation will affect performance on both Blackboard and LAMS and the user itself will have
to wait until the dynamic provisioning process has finished. Dynamic provisioning doesn’t
offer user update, because a user’s data is only fetched if the user doesn’t exit. See the
Participating, Monitoring and Authoring LAMS sequence section for more detail and
sequence diagram.
4.3
User Privilege Mappings
Blackboard and LAMS 1.0x use very different user privilege scheme. Blackboard has a more
complex privilege structure compare to LAMS. Blackboard has many levels of roles, Primary
Institution, Secondary Institution, System and Course Roles. The first three levels are system
wide role which will not apply for most users. The course role is a function of the user and
the course he/she is in (e.g.: The user is enrolled in two courses, soft1001 and info2001 he
could be a student in info2001 and could be tutoring soft1001). LAMS 1.0x only have four
different roles (Admin, Staff, Author and Learner) system wide. In another word a user’s
roles will be consistence for all classes.
The difference of user privilege scheme between the two systems makes it hard to create a
one-to-one mapping of the roles. Users can only access LAMS through Blackboard therefore
LAMS can leverage on Blackboard’s privilege system. Users created using dynamic
provisioning will be given a configurable default role say Learner. Users created using static
provisioning could have admin, staff, author, and/or learner role. The roles will be filled out
in the Excel spreadsheet. Since users can not log into LAMS directly the extra functionality
that the users have base on their roles will not be available to them. Extra functionality such
as LAMS Author and Monitor will only be available to Blackboard user who has access to
Blackboard’s Course Control Panel.
Page 14
LAMS 1.0.1 and Blackboard Integration
4.4
Blackboard Courses, LAMS Classes and User Class
Membership
Not all Blackboard courses (a.k.a. course) will create a LAMS sequences. When a course
creates its first LAMS sequences a LAMS class (a.k.a. class) will need to be created.
Basically the relationship between courses to classes is one to zero or one. Since not all
courses needs a class then there is no need to create the classes before hand.
When a course first creates a LAMS sequence then LAMS knows this course requires
LAMS’ service. LAMS will create a class for the course on the fly. The class membership for
users will also be added on the fly when a user accesses the first sequence for the first time.
Page 15
LAMS 1.0.1 and Blackboard Integration
5
LAMS MODIFICATIONS
Several parts of LAMS need to be retouched in some way or form. Some are small like
extending the length of the usernames and others are bigger like the authentication protocol.
Many issues arise which leads to LAMS modifications. Some of the issues are; how is LAMS
going to ensure the integrity of requests from external systems? How are external systems
identified? How are users from external systems identified? How will user provisioning
work? How users’ and their roles and permissions synchronized? How does users get
authenticated? A brief list of modifications and new functionalities added to LAMS is listed
below;
Handling External System
LAMS have no previous knowledge of supporting external systems. To be able to support
multiple external systems such a Blackboard or Moodle the external systems are identified by
their Server ID. Each request from the external system will carry its Server ID, which will
allow LAMS to retrieve secret key, organization ID, username prefix, callback URLs etc…
Users, classes, designs and sequences will all be created under the organization identified by
their Server ID. This will allow a single instance of LAMS to serve more than one external
systems.
Class Creation
LAMS will have no knowledge of the classes that exist in Blackboard until one of its course
tries to create a sequence. Once LAMS knows a certain course exists then it will create the
corresponding class.
Course to Class Mapping
A LAMS Class has different identifier to an external course. To identify the correct class that
corresponds to the external course, mapping is required.
User Provisioning
See the user and lesson management section
External User to LAMS User Mapping
Users are identified by their unique username. But when handling multiple systems the
unique username is not so unique after all. To solve this username prefix will be attached
before each username to prevent username collision between the systems.
LAMS Authentication
See the user and lesson management section
Web Services
Page 16
LAMS 1.0.1 and Blackboard Integration
Certain level of internal LAMS functionality will be carried out by the external system. To
allow external systems to invoke internal functions those functions will need to be exposed.
Also see the Blackboard and LAMS Interactions section.
Flash UI
LAMS 1.0x uses Flash to interact with users. LAMS doesn’t support users jumping straight
into a sequence. Previously the users have to navigate to a design in Authoring or sequence in
Learner UI in Flash. Now users can participate in a sequence or author a design directly in
from Blackboard. Hence the LAMS Flash UI has to be modified accommodate this.
Page 17
LAMS 1.0.1 and Blackboard Integration
6
BLACKBOARD AND LAMS INTERACTIONS
To offer the functionality listed in the user case, both Blackboard and LAMS will need to
provider certain services to each other. The services will interact with each other in the
background which doesn’t require explicit user inputs. This allows the users to interact with
the two systems transparently. The interaction between the two systems will be described in
more detail below along with sequence diagrams.
6.1
Participating, Monitoring and Authoring LAMS sequence
Participating, Monitoring and Authoring LAMS sequence with in Blackboard is the matter of
displaying the requested LAMS User Interface (UI) with in a frame in Blackboard. The two
sequence diagrams below illustrate this process. Dynamic provisioning is part of the
authentication process but it’s separated into its own diagram for readability.
Figure 6.1-1: Participating, Monitoring and Authoring LAMS sequence
Page 18
LAMS 1.0.1 and Blackboard Integration
Figure 6.1-2: Dynamic User Provisioning
6.2
Creating LAMS sequence
Creation of LAMS sequence in Blackboard is complicated than the other use cases. Sequence
creation involves getting the list of workspaces and sequences from LAMS. Then tell LAMS
to create the learning session. Below are two sequence diagrams that show those two
interactions.
Page 19
LAMS 1.0.1 and Blackboard Integration
Figure 6.2-1: Getting the list of workspaces and sequences.
Figure 6.2-2: Create the learning session
Page 20
Download