Professional Documents
Culture Documents
Functional Specification
Version 2.0
December 3, 2008
Table of Contents
1. Overview................................................................................................................................................................................................. 6
1.1. Purpose............................................................................................................................................................................................. 6
1.2. Existing Tool Impact Summary ....................................................................................................................................................... 6
1.2.1. Assignments.............................................................................................................................................................................. 6
1.2.2. Gradebook................................................................................................................................................................................. 7
1.3. Versions ........................................................................................................................................................................................... 8
1.4. Glossary ........................................................................................................................................................................................... 9
2. Architecture Overview.......................................................................................................................................................................... 10
2.1. Overview........................................................................................................................................................................................ 10
2.2. Design Considerations ................................................................................................................................................................... 11
2.2.1. Seamless Integration ............................................................................................................................................................... 11
2.2.2. Impact on Existing Sakai Modules ......................................................................................................................................... 11
2.2.3. Service-level Requirements .................................................................................................................................................... 11
2.2.3.1. Performance ..................................................................................................................................................................... 11
2.2.3.2. Scalability ........................................................................................................................................................................ 12
2.2.3.3. Security ............................................................................................................................................................................ 12
2.2.3.4. Extensibility ..................................................................................................................................................................... 12
2.2.3.5. Maintainability................................................................................................................................................................. 12
2.2.4. Other ....................................................................................................................................................................................... 13
2.2.4.1. Sakai Best Practices ......................................................................................................................................................... 13
2.2.4.2. Sakai Third-Party Software Components ........................................................................................................................ 13
2.3. Solution Components..................................................................................................................................................................... 13
2.3.1. Turnitin Administration Tool.................................................................................................................................................. 13
2.3.1.1. Overview.......................................................................................................................................................................... 13
2.3.1.2. GradeMark Web Service.................................................................................................................................................. 13
2.3.1.3. Deployment...................................................................................................................................................................... 13
2.3.2. Turnitin Service Component................................................................................................................................................... 14
2.3.3. Existing Sakai Tool Extensions .............................................................................................................................................. 15
3. Specifications by Scenario.................................................................................................................................................................... 16
3.1. Scenario and Screen Notes............................................................................................................................................................. 16
3.1.1. Integration ............................................................................................................................................................................... 16
3.1.2. Assignment Submission.......................................................................................................................................................... 16
3.1.3. Error Messages........................................................................................................................................................................ 16
Page 2 of 131
3.1.4. Export, Import, and Duplicate ................................................................................................................................................ 16
3.1.5. Disabling TII for Sakai ........................................................................................................................................................... 17
3.1.6. Disabling TII for an Assignment ............................................................................................................................................ 17
3.2. Administer Turnitin Globally for the Sakai Instance..................................................................................................................... 17
3.2.1. Requirements .......................................................................................................................................................................... 17
3.2.2. Scenario................................................................................................................................................................................... 19
3.2.3. Screens .................................................................................................................................................................................... 19
3.2.3.1. Register and Enable ......................................................................................................................................................... 19
3.2.3.2. Disable Turnitin ............................................................................................................................................................... 25
3.2.3.3. Edit Global Statement ...................................................................................................................................................... 27
3.2.3.4. Edit Plagiarism Pledge..................................................................................................................................................... 30
3.2.3.5. Disable GradeMark.......................................................................................................................................................... 33
3.2.3.6. View Registration Information ........................................................................................................................................ 36
3.2.4. Implementation Notes............................................................................................................................................................. 39
3.3. Administer Course Turnitin ........................................................................................................................................................... 40
3.3.1. Requirements .......................................................................................................................................................................... 40
3.3.2. Scenario................................................................................................................................................................................... 40
3.3.3. Screens .................................................................................................................................................................................... 41
3.3.3.1. Add Instructor Note ......................................................................................................................................................... 41
3.3.3.2. Edit Instructor Note.......................................................................................................................................................... 45
3.3.4. Implementation Notes............................................................................................................................................................. 47
3.4. Add a Turnitin assignment............................................................................................................................................................. 49
3.4.1. Requirements .......................................................................................................................................................................... 49
3.4.2. Scenario................................................................................................................................................................................... 52
3.4.3. Screens .................................................................................................................................................................................... 52
3.4.3.1. Add Assignment............................................................................................................................................................... 53
3.4.3.2. Edit Assignment............................................................................................................................................................... 58
3.4.3.3. Delete Assignment ........................................................................................................................................................... 61
3.4.4. Implementation Notes............................................................................................................................................................. 61
3.5. Submit a Turnitin assignment ........................................................................................................................................................ 63
3.5.1. Requirements .......................................................................................................................................................................... 63
3.5.1.1. Notes ................................................................................................................................................................................ 65
3.5.2. Scenario................................................................................................................................................................................... 65
3.5.3. Screens .................................................................................................................................................................................... 65
3.5.3.1. Submit Assignment.......................................................................................................................................................... 66
3.5.3.2. Submit Assignment for Student ....................................................................................................................................... 68
Page 3 of 131
3.5.4. Implementation Notes............................................................................................................................................................. 72
3.6. View Turnitin Reports - Instructor ................................................................................................................................................ 73
3.6.1. Requirements .......................................................................................................................................................................... 73
3.6.2. Scenario................................................................................................................................................................................... 75
3.6.3. Screens .................................................................................................................................................................................... 75
3.6.3.1. View Originality Report - Assignment ............................................................................................................................ 76
3.6.3.2. View Originality Report Errors - Assignment ................................................................................................................. 79
3.6.3.3. View Originality Report - Gradebook ............................................................................................................................. 82
3.6.3.4. Sort by Originality Report - Gradebook .......................................................................................................................... 84
3.6.3.5. Launch Originality Report ............................................................................................................................................... 86
3.6.3.6. Launch GradeMark .......................................................................................................................................................... 88
3.6.4. Implementation Notes............................................................................................................................................................. 90
3.7. View Turnitin Reports - Student.................................................................................................................................................... 93
3.7.1. Requirements .......................................................................................................................................................................... 93
3.7.2. Scenario................................................................................................................................................................................... 94
3.7.3. Screens .................................................................................................................................................................................... 94
3.7.3.1. Released Assignment ....................................................................................................................................................... 94
3.7.3.2. Returned Assignment....................................................................................................................................................... 96
3.7.3.3. Graded Assignment.......................................................................................................................................................... 97
3.7.4. Implementation Notes............................................................................................................................................................. 98
3.8. Duplicate Turnitin Course............................................................................................................................................................ 100
3.8.1. Requirements ........................................................................................................................................................................ 100
3.8.2. Scenario................................................................................................................................................................................. 100
3.8.3. Screens .................................................................................................................................................................................. 100
3.8.4. Implementation Notes........................................................................................................................................................... 103
3.9. Reuse Existing Assignments........................................................................................................................................................ 104
3.9.1. Requirements ........................................................................................................................................................................ 104
3.9.2. Scenario................................................................................................................................................................................. 104
3.9.3. Screens .................................................................................................................................................................................. 105
3.9.4. Implementation Notes........................................................................................................................................................... 106
3.10. Grade Assignment...................................................................................................................................................................... 107
3.10.1. Requirements ...................................................................................................................................................................... 107
3.10.2. Scenario............................................................................................................................................................................... 108
3.10.3. Screens ................................................................................................................................................................................ 108
3.10.3.1. Submit Grade from GradeMark ................................................................................................................................... 109
3.10.4. Implementation Notes......................................................................................................................................................... 111
Page 4 of 131
4. Future Considerations ......................................................................................................................................................................... 113
4.1. Update to Assignments 2 ............................................................................................................................................................. 113
4.2. DropBox Tool Enhancements...................................................................................................................................................... 113
4.3. Filtering........................................................................................................................................................................................ 113
4.4. Additions to the Assignments Tool.............................................................................................................................................. 113
4.5. Additions to the proposed TII Admin Tool ................................................................................................................................. 114
4.6. Use of the GradeMark Product .................................................................................................................................................... 114
4.7. Alternative Course Configuration Options .................................................................................................................................. 114
4.8. Additional Locations for Viewing Disclaimers ........................................................................................................................... 115
4.9. Permissions .................................................................................................................................................................................. 115
5. Appendix............................................................................................................................................................................................. 116
Page 5 of 131
1. Overview
1.1. Purpose
The purpose of this document is to provide a functional specification for an integration between Sakai and the iParadigms Turnitin
application. This document details requirements for this integration, along with proposed workflows, screenshots, and technical
implementation recommendations. Requirements and recommendations were developed based on:
In order to ensure a comprehensive and interesting integration for the Sakai community, version 1.0 of this document (as of 11/4/08)
was delivered to the Sakai community for review and input. All input provided by 11/18/08 was considered and either caused an
update to this specification, or was deferred as a consideration for future requirements.
The existing Sakai tools "Assignments" and "Gradebook" have a proposed impact within this specification. Several other existing
tools were considered for inclusion in the integration. Please see section entitled "Other Considerations" for comments on tools
considered. Unless specifically called out within this specification, all other existing Sakai functionality is to remain unchanged.
The following sections provide an overview of the extent of the impact on the tools previously listed.
1.2.1. Assignments
As described in the Sakai help files: "The Assignments tool allows instructors to create, distribute, collect, and grade online
assignments for courses within Sakai. Assignments are private; student submissions are not visible to other users of the site."
The table below summarizes the impact to the existing Assignments tool.
Page 6 of 131
Primary functionality Impact? Description
Create/Add &
Create/Add, Edit, or Delete
Edit: Yes New publishing options
Assignments
Delete: No
Grade Assignment/Review
Yes Ability to view Originality Reports and GradeMark
Student Status
See How Assignments Look No Base Assignments functionality remains
Returning an assignment will be a trigger for allowing students to see
Return Assignments Yes
Originality Report or GradeMark, when applicable
Resubmission is a requirement listed in this document; however, nothing
Resubmit Assignments No
custom is required to allow resubmission of a TII assignment
Export Assignment Grades No Base Assignments functionality remains
Read Assignments Yes Ability to view Originality Reports and GradeMark
Duplicate Assignments Yes No UI changes; impact to the tool and service Java code
TII assignments are restricted to Inline Only or Attachments Only
Complete and Submit
Yes Assignment submission will send inline or attachment content to TII,
Assignments
GradeMark services, when applicable
Post Assignments No Base Assignments functionality remains
Add Honor Pledge No Base Assignments functionality remains
Student will have the ability to view Originality Reports and GradeMark,
Check Assignment Grade Yes
when applicable
1.2.2. Gradebook
As described in the Sakai help files: "The Gradebook is a tool for instructors to calculate and store grade information and
distribute it to students online.." The table below summarizes the impact to the existing Gradebook tool.
Page 7 of 131
Grades entered into GradeMark will update in the Sakai Gradebook. No
Entering or editing grades Yes
core grade entering/editing functionality will be impacted.
Commenting on grades No
Importing Gradebook items from a
No
spreadsheet
Importing grades for existing
No
Gradebook items
Sorting Gradebook tables No
Viewing and exporting student grades No
Viewing course grades No
Overriding an autocalculated course
No
grade
Releasing grades will be a trigger for allowing students to see Originality
Making grades available to students Yes
Report or GradeMark, when applicable
Calculating and exporting course
No
grades
Using categories and weighted grades No
Use of GradeMark enforces use of Gradebook integration, when creating
an assignment in the Assignments tool;
Changing the grade entry, type, and Not
Grades entered into Sakai Gradebook will be automatically transmitted to
scale directly
TII/GradeMark
1.3. Versions
This specification was developed for Sakai 2.5. All tool references assume use of the standard tools distributed with Sakai 2.5,
including the "Assignments 1" tool.
Page 8 of 131
1.4. Glossary
Term Definition
TII "Turnitin" abbreviation
Institution assignment Global plagiarism policy statement published by an institution
submission statement
Course assignment Course-level plagiarism policy statement published by an Instructor
submission message
Similar to Sakai's existing "Honor Pledge" - a plagiarism notice that must be acknowledged by a
Plagiarism pledge student submitting an assignment, before the assignment can be submitted.
Page 9 of 131
2. Architecture Overview
2.1. Overview
An integration between Sakai and Turnitin will be comprised of several solution components. In general, the solution components
follow typical Sakai application (tool) structure and conventions. The following diagram provides a high-level view of components
and interactions involved in the proposed Sakai-Turnitin integration:
• Turnitin Sakai Tool will be a web application that runs within Sakai and provides functionality to facilitate administration of
the institution specific Turnitin settings. The Turnitin Administration Tool will also expose a web service to allow Turnitin's
GradeMark system to post grades to Sakai.
• Turnitin Service Component will be comprised of several modules following typical Sakai packaging conventions. The
Turnitin Service Component will be responsible for providing both the interface to the Turnitin API and implementation of any
Turnitin specific business rules.
• Extensions to Existing Sakai Modules will include customizations to both the user interface and Java code to support
Turnitin-related functionality.
Page 10 of 131
2.2. Design Considerations
Before exploring the high-level design, the following section lists topics that merited additional consideration during the high-level
design process. Some topics, such as performance or security, are common to most software projects. Other topics, such as minimizing
impact on existing Sakai modules, are specific to an integration between Sakai and Turnitin. Both common and specific topics are
outlined below.
Among the most important considerations for a Sakai-Turnitin integration is providing a seamless experience when accessing
Turnitin from Sakai. In general, this involves blending Turnitin functionality into Sakai such that it conforms with the Sakai
user interface and adopts typical Sakai user interaction conventions. However, this notion can also be expanded to include how
developers and system administrators work with the Sakai-Turnitin integration. The Sakai-Turnitin integration can be made
system administrator and developer friendly by providing simple, yet robust, configuration and deployment mechanisms and
creating well-defined extension points for enhancing functionality.
Although longer-term the solution components of the Sakai-Turnitin integration could become part of the core Sakai
framework, initially it makes sense to limit the impact on existing Sakai modules. Specifically, a concerted effort should be
made in the design and implementation of the Sakai-Turnitin solution components to, where possible, avoid changes to core
Sakai framework components including Java and user interface code. Taking this approach preserves a well-defined Sakai
upgrade path for institutions while still affording the opportunity to take advantage of Turnitin functionality.
2.2.3.1. Performance
Performance can be measured in a number of ways. For the purposes of the proposed Sakai-Turnitin integration, the
primary performance concern is response time for a given transaction on a per user basis. Specifically, the goal is to
minimize the amount of time it takes to render Turnitin content within Sakai. While it is difficult to provide any
performance metrics at this point, baseline performance metrics will be established as the integration evolves.
Page 11 of 131
2.2.3.2. Scalability
In large part, scalability is dependent on the underlying systems (Sakai and Turnitin). When considering scalability in
the context of the solution components developed for the Sakai-Turnitin integration, it is important to design and
implement the solution components such that the scalability of the underlying systems is not adversely affected. To this
end, unit and integration tests will be developed for each solution component to help identify potential scalability
bottlenecks.
2.2.3.3. Security
During design and development of the Sakai-Turnitin integration, potential security vulnerabilities of the
implementation will be examined. Additionally, attempts will be made to address any potential security risks and any
perceived risk will be extensively documented.
2.2.3.4. Extensibility
Extensibility is an important consideration for the proposed Sakai-Turnitin integration. It is possible, even likely, that
components developed for the Sakai-Turnitin integration will need to be extended to support an individual institution.
Therefore, in order to facilitate extensibility, the Sakai-Turnitin integration will be designed to rely heavily on Java
interfaces (as opposed to concrete implementations) and avoid tight coupling of class implementations where possible.
2.2.3.5. Maintainability
As the core Sakai platform evolves, the components developed to support a Sakai-Turnitin integration will likely
evolve as well. In order to promote maintainability, the Sakai-Turnitin integration will be designed and implemented
with two key principles in mind: separation of concerns and modularity. Separation of concerns involves breaking
down components into fine-grained units to avoid functional overlap. By avoiding functional overlap, changes can be
made to individual components without impacting other system components. Modularity calls for grouping related
components together while maintaining loose-coupling to other modules or components. This allows for wholesale
swapping of component modules when necessary.
Page 12 of 131
2.2.4. Other
Solution components will be designed and developed to follow best practices and patterns set forth by the Sakai
community.
Where possible solution components will make use of third-party software that is widely adopted with the Sakai
community.
As described in detail below, the Sakai-Turnitin solution components will consist of the Turnitin Administration Tool, the Turnitin
Service Component and extensions to some existing Sakai tools.
2.3.1.1. Overview
The Turnitin Administration Tool will be a Java web application that runs within Sakai (i.e. a Sakai Tool). The Turnitin
Tool's core responsibility will be to facilitate administration of the institution specific Turnitin settings. For example,
the Turnitin Tool will provide functionality to enable Turnitin globally for a given Sakai instance.
In addition to its administrative function, the Turnitin Administration Tool will also expose a web service to allow
Turnitin's GradeMark System to report grades from Turnitin to Sakai.
2.3.1.3. Deployment
The Turnitin Administration Tool will be deploy in the same manner as other Sakai tools (e.g. in the Apache Tomcat
webapps directory). However, since the tool will manage global Sakai Turnitin settings, the Turnitin Administration
Tool should be added to the Sakai Administrative Workspace and not individual course or project worksites. Adding
Page 13 of 131
the Turnitin Administration Tool to the Sakai Administrative Workspace can accomplished by editing the tools
available on the !admin site.
The Turnitin Service Component will be comprised of several modules following typical Sakai packaging conventions. In
general, the Turnitin Service Component will be responsible for providing both the interface to the Turnitin API and
implementation of any Turnitin specific business rules. The diagram below details the modules that make up the Turnitin
Service Component:
• Domain Model will include Java interfaces and classes that represent entities used by the Sakai-Turnitin solution
components. For example, the domain model could include an interface and class pair that represents a Turnitin API
URL.
• Service API will be the interface for the Turnitin tool and other Sakai Tools to Turnitin data and business logic.
• Service Implementation will be the realization of the Service API. The Service implementation will consist of a Java
class or classes to process requests to the Turnitin API and manage Turnitin functionality within Sakai.
• Scheduler will be the mechanism used to queue and resubmit failed assignment submissions.
• Data Access Object (DAO) API will be the interface for the Turnitin Service Implementation to Turnitin data stored
within Sakai.
• DAO Implementation will be the realization of the DAO API. The DAO implementation will consist of a Java class or
classes to handle access to the Sakai database.
Page 14 of 131
Each Turnitin Service Component module will be packaged as Java Archive (JAR) files and deployed independently following
Sakai conventions.
As part of the Sakai-Turnitin integration, number of existing Sakai tools will be enhanced to provide Turnitin functionality.
These tools include, but are not limited to, the Sakai Assignments (1) Tool and the Sakai Gradebook Tool. As mentioned in the
design considerations above, it is important to limit the impact, at least initially, on core Sakai tools. One way to limit the
impact on existing tools is to avoid, where possible, changing the core tool code directly. In the case of Java components, this
is straight-forward and can be achieved by simply creating Turnitin-specific implementations that extend the core
implementations. However, for other components, such as HTML pages, avoiding direct changes is more difficult as there is
no obvious extension point. One mechanism that has proven to be successful in solving this problem is the overlay feature of
the Maven 2 WAR Plugin.
As the above diagram shows, the Maven 2 WAR overlay feature works by merging the core tool web application archive
(WAR) file with the Turnitin-specific extension WAR file to produce a WAR file containing a Turnitin-customized version of
the core tool. At a high-level, the Maven 2 WAR overlay works by matching and then replacing files in the core tool WAR file
with files in the extension WAR file. This allows developers to create Turnitin-specific versions of certain core tool
components (e.g. an HTML file) without editing source code of the core tool.
Page 15 of 131
3. Specifications by Scenario
3.1. Scenario and Screen Notes
The screens detailed in this section do not exhaustively depict all possible conditions of the scenario, but demonstrate the workflow in
at least one representation of each Sakai context and include functional notes of the variances in the user interaction. The following
general functional notes apply to this section.
3.1.1. Integration
All submissions are stored on Sakai server in the same way they would be stored without the TII integration. Thus,
submissions by a student will succeed even if the submission to TII fails due to server error or file upload error. The student is
not notified of a TII error.
Sakai does not treat "group assignments" differently from individual assignments, in that group members will not
automatically get an Originality Report or grade based on a submission by one of the group members, even if it's technically
on behalf of the entire group.
Example error messages are visually represented for common errors in the scenario, but every error condition and subsequent
error message is not visually represented. A full description of error conditions and messages is available in the requirements
sections.
Sakai has no user interface for selection of individual attributes for export, import, or duplicate that would affect the TII
integration. All TII attributes that are associated with the course or assignment will be exported, imported, or duplicated in the
normal Sakai process. These processes are therefore not depicted.
Page 16 of 131
3.1.5. Disabling TII for Sakai
Disabling TII for Sakai (via the Turnitin Administration tool) results in all TII services becoming disabled. However, existing
TII originality reports and GradeMark grades remain active in a read-only mode. No new reports are generated, GradeMark
may not be used (except for read-only access to already existing GradeMark material), and new assignments will not have the
option to use TII services. In all cases, disabled TII functionality reverts Sakai to its original functionality.
Disabling TII for an Assignment (by unchecking the Use Turnitin checkbox in Assignment Edit) results in the removal of all
TII functional elements from resultant Assignment and Gradebook interfaces, regardless of whether or not there are existing
originality reports or GradeMark grades. Existing originality reports and GradeMark grades are not deleted, but are no longer
accessible from the interface. These conditions are called out in the functional notes, but are not explicitly depicted. In all
cases, disabled TII functionality reverts Sakai to its original functionality.
Page 17 of 131
pledge
Disable use of the plagiarism
AG1.7 Provide the ability to disable use of the plagiarism pledge
pledge
AG1.8 Input a plagiarism pledge Provide the ability to enter the content of the plagiarism pledge
Enable GradeMark at the global
AG1.9 Provide the ability to enable GradeMark for the Sakai instance
Sakai level
Disable GradeMark at the
AG1.10 Provide the ability to disable GradeMark for the Sakai instance
global Sakai level
Provide the ability to show a disclaimer that GradeMark must be turned on for the
AG1.11 GradeMark usage disclaimer
Institution's account in order for the functionality to work properly
Provide the ability to view previously entered account ID and shared secret
AG1.12 View registration information
registration information Sakai Admin
Provide the ability to edit previously entered account ID and shared secret
AG1.13 Edit registration information
registration information Sakai Admin
Provide the ability to return an error message if registration is not successful
Notify on unsuccessful
AG1.14 - Account id or shared secret are incorrect
registration
- Account is not active
AG1.15 Enable TII notification emails Provide the ability to enable TII emails from the Sakai admin interface
AG1.16 Disable TII notification emails Provide the ability to disable TII emails from the Sakai admin interface
Provide the ability to select an option to check work against an Institution-specific
Enable use of Institution-
AG1.17 repository (no validation required) - Should include wording that this is a service
specific repository
that must be purchased, similar to GradeMark
Disable use of Institution- Provide the ability to de-select an option to check work against an Institution-
AG1.18
specific repository specific repository (no validation required)
Read-only access to reports for Provide the ability for TII and GM reports to be viewable (per permissions outlined
AG1.19
invalid TII account elsewhere in this document) but read-only, if the TII account becomes invalid
Provide the ability for TII and GM reports to be viewable (per permissions outlined
Report viewability after
AG1.20 elsewhere in this document) but read-only, if TII is disabled for the institution after
disabling TII
having been previously enabled.
Error if Institution Repository is Provide the ability to return an error if Institution Repository selection is checked
AG1.21
not available but repository is not available
Page 18 of 131
3.2.2. Scenario
In order to use Turnitin, a Sakai administrator must input a registration key (given by Turnitin) to unlock use of Turnitin for the Sakai
instance. While registering Turnitin, the Sakai administrator enters a shared secret that will allow Turnitin to identify authorized
institution administrators. Once the registration key has been validated, Turnitin may be enabled for use by the Sakai installation. In
enabling Turnitin, the Sakai administrator may elect to use a global institution assignment statement and input the contents of the
statement. At the same time, the administrator may elect to enable use of a plagiarism pledge (similar to the honor pledge) and input
the contents of the pledge.
3.2.3. Screens
Page 19 of 131
Page 20 of 131
Page 21 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin
Provide a link to begin the registration process. This screen
1 AG1.0 Administration tool, Sakai:
only appears if Turnitin has not been registered.
Turnitin not registered
Sakai: use Turnitin
2 AG1.0 Input for an Account ID. Account ID is provided by Turnitin.
Administration tool
Sakai: use Turnitin Input for a Shared Secret. Shared Secret is provided by
3 AG1.0
Administration tool Turnitin. A "what is this?" helper link is provided to aid
Page 22 of 131
understanding of the term Shared Secret.
Sakai: use Turnitin Provide a progress indicator while verifying the Account ID
4 AG1.0
Administration tool and Shared Secret.
Display an error message if Account ID and Shared Secret do
Sakai: use Turnitin
5 AG1.14 not validate. Allow re-entry of Account ID and Shared
Administration tool
Secret. Provide Turnitin contact link for validation problems.
6 AG1.12 Sakai: Turnitin registered Provide a link to edit registration information.
Show message that Turnitin is registered the disabled status.
7 AG1.1 Sakai: Turnitin registered
Provide a link to enable.
Checkbox to enable/disable use of an institution Assignment
8 AG1.3 Sakai: use Turnitin
Submission Statement.
9 AG1.5 Sakai: use Turnitin Textarea to input the Assignment Submission Statement.
10 AG1.6 Sakai: use Turnitin Checkbox to enable/disable use of a Plagiarism Pledge.
11 AG1.8 Sakai: use Turnitin Textarea to input the Plagiarism Pledge text.
12 AG1.15 Sakai: use Turnitin Checkbox to enable/disable email notifications.
Checkbox to enable/disable use of institution-specific
Sakai: use Turnitin, Turnitin
repository. Option to select is only displayed if the
13 AG1.17 Account: specific repository
institution-specific repository is included in the institution's
enabled
Turnitin account.
Sakai: use Turnitin, Turnitin
14 AG1.9 Checkbox to enable/disable use of GradeMark.
Account: GradeMark enabled
15 AG1.2 Sakai: use Turnitin Change status to Enabled and provide a link to disable.
Display Assignment Submission Statement in a non-editable
Sakai: use Turnitin, Sakai: use
AG1.3, textarea. If Assignment Submission Statement has not been
16 Assignment Submission
AG1.5 set, provide a link to use and input the Assignment
Statement
Submission Statement.
Sakai: use Turnitin, Sakai: use
Provide a link to edit the text of the Assignment Submission
17 AG1.5 Assignment Submission
Statement.
Statement
AG1.6, Sakai: use Turnitin, Sakai: enable Display Plagiarism Pledge in a non-editable textarea. If
18
AG1.8 Plagiarism Pledge Plagiarism Pledge has not been set, provide a link to use and
Page 23 of 131
input the Plagiarism Pledge.
Sakai: use Turnitin, Sakai: enable
19 AG1.9 Provide a link to edit the text of the Plagiarism Pledge.
Plagiarism Pledge
AG1.15, Display state of email notifications and provide a link to
20 Sakai: use Turnitin
AG1.16 enable/disable use.
Sakai: use Turnitin, Turnitin
AG1.17, Display state of institution-specific repository and provide a
21 Account: specific repository
AG1.18 link to enable/disable use.
enabled
Sakai: use Turnitin, Turnitin
22 AG1.10 Show GradeMark as enabled and provide a link to disable.
Account: GradeMark enabled
Page 24 of 131
3.2.3.2. Disable Turnitin
Page 25 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
1 AG1.2 Sakai: use Turnitin Provide a link to disable Turnitin.
2 AG1.1 Sakai: use Turnitin Change status to disabled and provide a link to enable.
Page 26 of 131
3.2.3.3. Edit Global Statement
Page 27 of 131
Page 28 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Sakai: use
Provide a link to edit the text of the Assignment
1 AG1.5 Assignment Submission
Submission Statement.
Statement
Checkbox to enable/disable use of an institution
2 AG1.3 Sakai: use Turnitin Assignment Submission Statement. Checkbox is checked is
Assignment Submission Statement is currently enabled
Textarea to input the Assignment Submission Statement.
3 AG1.5 Sakai: use Turnitin
Textarea is pre-populated with existing text.
Sakai: use Turnitin, Sakai: use
AG1.3, Display revised Assignment Submission Statement in a
4 Assignment Submission
AG1.5 non-editable textarea.
Statement
Page 29 of 131
3.2.3.4. Edit Plagiarism Pledge
Page 30 of 131
Page 31 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Sakai:
1 AG1.6 Provide a link to edit the text of the Plagiarism Pledge.
enable Plagiarism Pledge
Checkbox to enable/disable use of a Plagiarism Pledge.
2 AG1.6 Sakai: use Turnitin
Checkbox is checked is Plagiarism Pledge is currently enabled.
Textarea to input the Plagiarism Pledge text. Textarea is pre-
3 AG1.8 Sakai: use Turnitin
populated with existing text.
AG1.6, Sakai: use Turnitin, Sakai:
4 Display revised Plagiarism Pledge in a non-editable textarea.
AG1.8 enable Plagiarism Pledge
Page 32 of 131
3.2.3.5. Disable GradeMark
Page 33 of 131
Page 34 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Turnitin Account:
AG1.9, Show GradeMark as enabled and provide a link to
1 GradeMark enabled, Sakai: use
AG1.10 disable.
GradeMark
AG1.9, Sakai: use Turnitin, Turnitin Account: Show GradeMark as disabled and provide a link to
2
AG1.10 GradeMark enabled enable.
Page 35 of 131
3.2.3.6. View Registration Information
Page 36 of 131
Page 37 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Display current Account ID and Shared Secret. Provide a link
1 AG1.12 Sakai: Turnitin registered
to view and edit registration information.
Provide input to edit Account ID. Input is pre-populated with
2 AG1.13 Sakai: Turnitin registered
existing registration information.
Provide input to edit Shared Secret. Input is pre-populated
3 AG1.13 Sakai: Turnitin registered
with existing registration information
4 AG1.13 Sakai: Turnitin registered Display revised registration information.
Page 38 of 131
3.2.4. Implementation Notes
All of global administrative functionality detailed in the preceding requirements is provided by the Turnitin Tool. As the
diagram below shows, the Turnitin Tool makes use of the Turnitin Service and related components to capture and persist
global Turnitin settings.
1. The Turnitin Tool captures user input of Turnitin-specific data (e.g. shared secret)
2. The Turnitin Tool passes this data to the Turnitin Service for processing
3. The Turnitin Service communicates with Turnitin (via TII API) as necessary
4. The Turnitin Service uses the Turnitin Data Access Object (DA0) to persist the data to the database
At that point, the Turnitin Service can then be used by the Turnitin Tool (or other Sakai Tool or Service) to access global
Turnitin settings.
Page 39 of 131
Alternate Implementation
Instead of using the Turnitin Tool to capture, manage and persist global Turnitin settings, each setting could be defined as a
property in the sakai.properties file. For example, the shared secret could be defined as sakai.turnitin.sharedsecret=secret.
Sakai provides a robust properties infrastructure allowing properties to be set or overridden at multiple levels and easily
accessed using the ServerConfigurationService.
3.3.2. Scenario
An instructor is enabling Turnitin for use in the selected course. The instructor is able to read and review the Institution
assignment submission statement and select use of an instructor note for Turnitin assignment submission. If the instructor opts
to use an Instructor note, that content is input. Upon activation, the instructor may read and see a reasonable preview of what
the student will see in the Institution assignment submission statement, Instructor note, and Plagiarism pledge.
Page 40 of 131
3.3.3. Screens
Page 41 of 131
Page 42 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
1 IR1.12 Sakai: use Turnitin Indicate use of Turnitin for course assignments.
2 Sakai: use Turnitin Show the status of Turnitin at the Course level.
Display the content of the institution Assignment Submission
Sakai: use Turnitin, Sakai: Statement in a non-editable textarea. If the institution Assignment
3 AC1.3 use Assignment Submission Statement is not enabled, the textarea (and the
Submission Statement preceding note "Your institution has chosen to display...") is not
displayed.
Page 43 of 131
4 AC1.1 Sakai: use Turnitin Provides a link to set the Instructor Note.
Display the content of the Plagiarism Pledge in a non-editable
Sakai: use Turnitin, Sakai:
5 AC1.5 textarea. If the Plagiarism Pledge is disabled, the Plagiarism
enable Plagiarism Pledge
Pledge section (title, note, and textarea) is not displayed.
Sakai: use Turnitin, Sakai: Show the use of GradeMark. If GradeMark is disabled, the
6
use GradeMark GradeMark section (title and note) is not displayed.
7 AC1.4 Sakai: use Turnitin Provides an input for the Instructor Note content.
Sakai: use Turnitin,
When an Instructor Note has been input, display the content of the
8 AC1.3 Course: use Instructor
Instructor Note in a non-editable textarea.
Note
Sakai: use Turnitin,
When an Instructor Note has been input, provide a link to set the
9 AC1.4 Course: use Instructor
use of the Instructor Note and to edit the content.
Note
Page 44 of 131
3.3.3.2. Edit Instructor Note
Page 45 of 131
Page 46 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
AC1.1, Sakai: use Turnitin, Course: use When an Instructor Note has been input, provide a link to
1
AC1.4 Instructor Note set the use of the Instructor Note and to edit the content.
Sakai: use Turnitin, Course: use Allow the Instructor Note to be enable/disabled by
2 AC1.1
Instructor Note checkbox.
Sakai: use Turnitin, Course: use
3 AC1.4 Instructor Note content may be edited by textarea.
Instructor Note
Sakai: use Turnitin, Course: use
4 AC1.4 Display revised Instructor Note.
Instructor Note
The component interaction sequence for administering Turnitin at the course worksite level is very similar to the global Sakai
Turnitin administration sequence. Like the global administration sequence, the course worksite level sequence uses the
Turnitin Service components to process and persist Turnitin settings, the difference being settings are associated with a
worksite instead of the entire Sakai instance. However, as the diagram below shows, the major difference between Turnitin
administration at the global and course worksite level is that the interaction begins in the Turnitin-specific Assignments Tool
extension.
Page 47 of 131
At a high level, the component interaction sequence is as follows:
1. The Turnitin-specific Assignments Tool extension captures user input of Turnitin-specific data for this course worksite
2. The Turnitin Tool passes this data to the Turnitin Service for processing
3. The Turnitin Service uses the Turnitin Data Access Object (DA0) to persist the data to the database
Changes to the existing Assignments Tool support this functionality would include:
• Creating a new version of the assignments list Velocity template to support the Turnitin intra-tool navigation option
• Creating new versions of the Turnitin administrative templates, largely reusing the templates from the Turnitin Tool
• Extend the AssignmentAction class to support rendering of the Turnitin intra-tool navigation option
• Extend the AssignmentAction class or create a new class to manage the Turnitin administration workflow and interact
with the Turnitin Service
Page 48 of 131
3.4. Add a Turnitin assignment
3.4.1. Requirements
Req # Requirement Description
Enable use of Turnitin for an
AA1.0 Provide the ability to enable Turnitin for an individual assignment.
assignment
Provide the ability to disable the use of TII for an assignment.
In the case where TII has previously been enabled for this assignment and has
submissions/Originality Reports, the following should occur:
Provide the ability to create a TII assignment with the following custom publishing
options:
• Provide the ability to select the action that triggers the generation of an
originality report for a submitted assignment. Requires generation of
Page 49 of 131
originality reports to be enabled. Options are: "Immediately, first report is
final" (default), "Immediately, can overwrite reports until due date", "On due
date"
• Provide the ability to set the visibility of originality reports to the student that
submitted the assignment. Requires generation of originality reports to be
enabled. Options are: "No" (default), "Yes"
• Provide the ability to set the location of the repository to which assignment
submissions will be saved. Requires generation of originality reports to be
enabled. Options are: "Standard paper repository", "No repository",
"Institution repository" (if applicable)
• Provide the ability to set the repository location that will be checked against
for determining originality. Requires generation of originality reports to be
enabled. Options are: "student paper repository" (default checked), "current
and archived internet" (default checked), "periodicals, journals, &
publications" (default checked), "institution repository" (default checked if
option is shown)
• Provide the ability to select use of a plagiarism pledge to display and be
agreed to by the student submitting the assignment.
• Provide the ability to select use of course assignment submission message
(default)
• Provide the ability to enable use of GradeMark for an assignment (if enabled
at global level)
• Provide the ability to disable use of GradeMark for an assignment (if enabled
at global level)
Page 50 of 131
Provide the ability to delete a TII assignment (Assignments tool default) with the
following effects:
- Files in the submission will be deleted in Sakai
- Files in the submission will not be deleted in Turnitin
- Files in the submission that were indexed, will not be removed from the index in
AA1.6 Delete an assignment
Turnitin
- Originality reports for the files in the submission will be deleted in Turnitin; links
to originality reports in Sakai will be removed
- GradeMark files for the files in the submission will be deleted in Turnitin; links to
GradeMark files in Sakai will be removed
AA1.7 Allow inline submissions Provide the system function to submit "Inline Only" submissions to TII
AA1.8 Allow attachment submissions Provide the system function to submit "Attachments Only" submissions to TII
Prohibit combined inline and Provide the system function to return error when use of TII is selected and "Inline
AA1.9
attachments submissions and Attachments" is the selected student submission method value
Prohibit non-electronic Provide the system function to return error when use of TII is selected and "Non-
AA1.10
submissions electronic" is the selected student submission method value
Provide the ability to disable use of GradeMark for an assignment.
In the case where GM has previously been enabled for this assignment and has
submissions/GM reports; the following should occur:
All existing GradeMark files will remain, and will not be deleted
Links to existing GradeMark files will be removed and users will not be able
AA1.11 Disable use of GradeMark to access GradeMark functionality
Page 51 of 131
3.4.2. Scenario
An instructor creates a Turnitin assignment by selecting use of Turnitin in the Assignments Tool Add Assignment view. Once
selected, additional Turnitin assignment options become available. The instructor sets the general and Turnitin assignment
options, previews the assignment, and posts it.
3.4.3. Screens
Page 52 of 131
3.4.3.1. Add Assignment
Page 53 of 131
Page 54 of 131
Page 55 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Turnitin assignment options are revealed when the
AA1.0, AA1.1,
1 Assignment:Student Submissions: checkbox is checked and are hidden when it is
AA1.2
Attachments Only unchecked. Default is unchecked.
Determines target file location of submissions. Single
2 AA1.2 Assignment: use Turnitin
select. Default is Standard Paper Repository
Determines trigger for generation of originality report.
3 AA1.2 Assignment: use Turnitin Single select. Default is Immediately - first report is
final
Determines ability for students to see originality
4 AA1.2 Assignment: use Turnitin
reports. Default is unchecked, do not allow.
Determines what the submission will be checked
against for originality. Institution-specific repository
Assignment: use Turnitin, (Sakai:
5 AA1.2 option is only displayed when enabled at the Sakai level
use institution-specific repository)
(and requires it to be active on the institution's Turnitin
account). All options are checked by default.
Sets use of QuickMark and Rubric type. Default is
6 AA1.2 Assignment: use Turnitin unchecked, do not use. Rubric selection is single select
and defaults to Select Rubric.
Sets display of Instructor Turnitin Note. Option appears
Assignment: use Turnitin, Course: if the instructor has selected use at the course level. If
7 AA1.2
use Instructor Note instructor has selected use, it is checked by default. The
Note content is displayed in a non-editable textarea.
Sets use of the plagiarism pledge. Default is unchecked,
Assignment: use Turnitin, Sakai:
8 AA1.2 do not use. The Pledge content is displayed in a non-
enable Plagiarism Pledge
editable textarea.
Assignment: use Turnitin, Sakai:
Sets use of GradeMark. Default is checked, allow use
9 AA1.2 use GradeMark, Assignment:Grade
of GradeMark.
Scale: Points
Displays Turnitin option settings in Assignment
10 AA1.2 Assignment: use Turnitin
Preview.
Page 56 of 131
Displays institution Turnitin Statement in the Student
Assignment: use Turnitin, Sakai: View of the Assignment Preview. Statement is pre-
11 AA1.2
use Turnitin Statement pended by the title "This assignment will be checked
for plagiarism".
Displays Instructor Turnitin Note in the Student View
Assignment: use Turnitin, Course: of the Assignment Preview. Note is pre-pended by the
12 AA1.2
use Instructor Note title "This assignment will be checked for plagiarism"
in the condition there is no Turnitin Statement.
Displays Plagiarism Pledge in the Student View of the
Assignment Preview. Pledge is pre-pended by the title
Assignment: use Turnitin, Sakai:
13 AA1.2 "This assignment will be checked for plagiarism" in the
enable Plagiarism Pledge
condition there is no Turnitin Statement or Turnitin
Instructor Note.
Page 57 of 131
3.4.3.2. Edit Assignment
Page 58 of 131
Page 59 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Course: Assignment Returns user to original creation screen where previously-selected
1 AA1.5
exists values are displayed; entire form is available for editing.
Course: Assignment Submits assignment to TII following the same logic as for initial
2 AA1.5
exists creation.
Page 60 of 131
3.4.3.3. Delete Assignment
Functional Notes
Note # Requirement Dependencies Functional Notes
Utilizes standard Assignments tool functionality to remove the
Course: Assignment
1 AA1.6 selected assignment.
exists
The diagram below shows the component interaction sequence for adding a Turnitin-enabled assignment. In general, the
interaction sequence will be similar to standard assignment creation in Sakai. However, some notable differences include using
Turnitin-specific extension of both the Assignment Tool and Assignment Service and the addition of an API call to Turnitin.
Note, the sequence for editing or deleting a Turnitin-enabled assignment is very similar to the add sequence.
Page 61 of 131
The component interaction sequence is a follows:
1. The Turnitin-specific Assignments Tool extension captures user input of assignment data including Turnitin-specific
options
2. The Assignments Tool extension follows the typical Sakai assignment creation process albeit using a version of the
Sakai Assignment Service extended to support Turnitin
3. The assignment is created successfully within Sakai
4. The Turnitin Service is used to make an API call to create the assignment in Turnitin
5. The Turnitin Service receives confirmation from Turnitin that the assignment was created and parses the Turnitin
assignment identifier from the response
6. The Turnitin Service uses the extended Assignment Service to associate the Turnitin assignment identifier with the
assignment in Sakai
The table below provides detail on the Turnitin API call to be executed as part of the add, edit or delete assignment process.
Page 62 of 131
This API call creates, modifies or deletes the assignment in Turnitin and returns an assignment identifier that should then be
associated with the assignment in Sakai. Note, in the delete case, the assignment will be removed in Sakai so there is no need
to process the assignment identifier returned by Turnitin.
• Creating new versions of the add assignment Velocity templates to support Turnitin options
• Extending the AssignmentAction class to support rendering and capturing of Turnitin options
• Extending the Assignment Entity to support persisting of Turnitin options
• Extending the Assignment Service to support processing of Turnitin-enabled assignments and expose additional
methods such as the ability to associate a Turnitin assignment identifier with a Sakai assignment
• Provide the ability for the student to read the institution assignment
SA1.0 Submit a Turnitin assignment submission message (if selected for use)
• Provide the ability for the student to read the course assignment
submission message (if selected for use)
• Provide the ability for the student to read and agree to the plagiarism
pledge (if selected for use)
Page 63 of 131
• Provide the ability for the student to read and agree to the plagiarism
pledge (if selected for use)
Page 64 of 131
particular student
Provide the ability to queue student submissions when TII service is unavailable
Queue student submissions if service System should retry in five (5) minute intervals
SA1.5
is unavailable
System should log failure and send failure notification/message to Sakai
at: 1 hour failure (12th interval)
3.5.1.1. Notes
Sakai does not treat "group assignments" differently from individual assignments, in that group members will not
automatically get an Originality Reports or grades based on a submission by one of the group members, even if it's
technically on behalf of the entire group.
3.5.2. Scenario
The student is submitting a Turnitin assignment. The student attaches a file as the assignment submission, reads the plagiarism
statement(s), reads and agrees to the plagiarism pledge, and submits the assignment.
3.5.3. Screens
Page 65 of 131
3.5.3.1. Submit Assignment
Page 66 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Assignment: use Displays institution Assignment Submission Statement. Statement is
1 SA1.0 Turnitin, Sakai: use pre-pended by the title "This assignment will be checked for
Turnitin Statement plagiarism".
Assignment: use Displays Instructor Note. Note is pre-pended by the title "This
2 SA1.0 Turnitin, Course: use assignment will be checked for plagiarism" in the condition there is
Instructor Note no Assignment Submission Statement.
Displays Plagiarism Pledge. Pledge is pre-pended by the title "This
Assignment: use
assignment will be checked for plagiarism" in the condition there is
3 SA1.0 Turnitin, Sakai: enable
no Assignment Submission Statement or Instructor Note. The Pledge
Plagiarism Pledge
checkbox must be checked in order to submit the assignment.
Page 67 of 131
3.5.3.2. Submit Assignment for Student
Page 68 of 131
Page 69 of 131
Page 70 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use
1 SA1.4 Adds a new view to the Assignments tool.
Turnitin
Sakai: use Displays a warning to differentiate this process from the Student View, and
2 SA1.4
Turnitin the potential ramifications.
Sakai: use
3 SA1.4 Modified Assignment List is used to select the assignment.
Turnitin
Sakai: use
SA1.4 Modified Student List is used to select the student.
4 Turnitin
Sakai: use Submission process is identical to the student process including agreement
5 SA1.4
Turnitin to pledges.
Sakai: use
6 SA1.4 Confirmation is given on successful submission.
Turnitin
Page 71 of 131
3.5.4. Implementation Notes
The diagram below shows the component interaction sequence for submitting a paper to Turnitin.
The table below provides detail on the Turnitin API call to be executed.
Page 72 of 131
Function Name FID FCMD
Submit Paper 5 2
This API call submits the paper to Turnitin and returns an object identifier that should then be associated with the assignment
in Sakai. Note the use of function command (fcmd) 2. Using fcmd 2 implies that Sakai will first process the paper and then
issue a POST to Turnitin including the appropriate API parameters.
Should the initial attempt to submit a paper to Turnitin fail for any reason attempts should be made to resend the paper until
successful or until the number of failed attempts reaches a given limit. This will be handled by the scheduler component of the
Turnitin Service. At a high-level, the scheduler component will consist of a queue and process (e.g. a Quartz job) that will
handle the storage and resend attempts of failed submissions. The resend process will occur at a specified interval until success
or the specified number of failed attempts occurs for a given submission.
• Creating new versions of the submit assignment Velocity templates to support Turnitin options
• Extending the AssignmentAction class to support rendering and capturing of Turnitin options
• Extending the Assignment Service to support processing of Turnitin-enabled assignments and expose additional
methods such as the ability to associate a Turnitin object identifier with a Sakai assignment
The technical notes above deal specifically with the case where the assignment submission is an attachment (i.e. a file
uploaded to Sakai). Support for inline assignment submission (i.e. text added directly via a UI component) can be handled
similarly to the attachment case with a one minor modification. As an inline submission is processed and stored as text, the
Submit Paper Turnitin API call must use ptype=1 (ptype denotes the type of file to Turnitin). Otherwise, the same, or very
similar, logic that is used for an attachment assignment submission can be used.
Page 73 of 131
View originality report within the Provide the ability to view the originality report by selecting active
IR1.1
Assignments tool Originality Report indicator
Provide the ability to display a grayed-out indicator that assignment has been
Display "inactive" GradeMark indicator
IR1.2 submitted but GradeMark is not yet available for an assignment (this is
within the Assignments tool
default until status changes)
Display "active" GradeMark indicator Provide the ability to display a colored indicator that GradeMark is available
IR1.3
within the Assignments tool for an assignment
Launch GradeMark from within the Provide the ability to launch GradeMark in a new browser window from an
IR1.4
Assignments tool active GradeMark indicator
Display "inactive" GradeMark indicator Provide the ability to display a grayed-out indicator that GradeMark is not
IR1.5
within the Gradebook tool yet available for an assignment (this is default until status changes)
Display "active" GradeMark indicator Provide the ability to display a colored indicator that GradeMark is available
IR1.6
within the Gradebook tool for an assignment
Launch GradeMark from within the Provide the ability to launch GradeMark in a new browser window from an
IR1.7
Gradebook tool active GradeMark indicator
Display GradeMark grade within the
IR1.8 Provide the ability to view the GradeMark Grade in the Sakai Gradebook
Gradebook tool
Display GradeMark grade within the
IR1.9 Provide the ability to view the GradeMark Grade in the Assignment tool
Assignments tool
IR1.10 Sort assignments by Originality Report
Provide the ability to sort assignments list by OR %
% in assignment list
Sort assignments by Originality Report
IR1.11 Provide the ability to sort gradebook list by OR %
% in gradebook
Provide the ability to view an indicator that says whether or not the
IR1.12 View indicator of TII assignment assignment is a TII assignment on the Assignment List.
Support more than one Instructor or TA Provide the ability to enable multiple Instructors and/or TAs to view reports
IR1.13
per course for the same course
Provide the ability to view an indicator denoting failure to generate an
IR1.14 View failure indicator Originality Report (failure due to server error or file upload error)
Page 74 of 131
Provide error message upon hovering over indicator
3.6.2. Scenario
In both the Assignments and Gradebook tools, an Originality Report icon and a GradeMark icon will appear for the appropriate
assignments. Until these items exist for use by the instructor, the icons will appear grayed out. When active, the icons will
appear in color and when clicked, will launch the respective application.
3.6.3. Screens
Page 75 of 131
3.6.3.1. View Originality Report - Assignment
Page 76 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Originality report is not displayed until a student has
1 IR1.0, IR1.1 Course:Assignment: Student made a submission. Originality report icon is inactive
Submission, Turnitin: Originality (gray) until the originality report has been returned.
Page 77 of 131
Report When an originality report has been returned, the icon
becomes active (full-color) with percentage and color
barometer.
Sakai: use Turnitin, Replace originality report icon with multiple file icon
2 SA1.2 Course:Assignment: Multiple file when multiple files are submitted to the assignment.
submission Clicking the icon goes to the assignment detail view.
Display an error icon when any of the submitted files
Sakai: use Turnitin, Turnitin Service: fails to generate an originality report. Clicking the icon
3 SA1.3
Originality report generation error goes to the Assignment detail view where the errors can
be viewed.
Sakai: use Turnitin, Sakai: use
GradeMark,
GradeMark grade appears the same as non-GradeMark
4 IR1.9 Course:Assignment:Grade Scale:
grades.
Points, Course:Assignment:Student
Submission:Graded
GradeMark icon is inactive (gray) until a student has
Sakai: use Turnitin, Sakai: use
IR1.2, IR1.3, made a submission that can be graded. When a student
5 GradeMark, Course:Assignment:
IR1.4 has made a submission that can be graded, the icon
Student Submission
becomes active (full-color).
Page 78 of 131
3.6.3.2. View Originality Report Errors - Assignment
Assignments Tool
Page 79 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Display an error icon when any of the submitted files
Sakai: use Turnitin, Turnitin Service:
1 SA1.3 fails to generate an originality report. Clicking the icon
Originality report generation error
goes to the Assignment detail view where the errors
Page 80 of 131
can be viewed.
Sakai: use Turnitin, Turnitin Service: Hover of mouse on the error icon next to the failing
2 SA1.3
Originality report generation error files displays the error messages.
Page 81 of 131
3.6.3.3. View Originality Report - Gradebook
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Originality report is not displayed until a student has made a
1 IR1.0
Course:Assignment: Student submission. Originality report icon is inactive (gray) until the
Page 82 of 131
Submission, Turnitin: originality report has been returned. When an originality
Originality Report report has been returned, the icon becomes active (full-color)
with percentage and color barometer. When active, the icon
may be clicked to launch a view of the originality report (in a
new browser window).
Sakai: use Turnitin, Sakai: use
GradeMark
Course:Assignment:Grade GradeMark grade appears the same as non-GradeMark
2 IR1.8
Scale: Points, grades.
Course:Assignment:Student
Submission:Graded
GradeMark icon is inactive (gray) until a student has made a
Sakai: use Turnitin, Sakai: use submission that can be graded. When a student has made a
IR1.5, IR1.6, GradeMark, submission that can be graded, the icon becomes active (full-
3
IR1.7 Course:Assignment: Student color). When active, the GradeMark icon may be clicked to
Submission launch the GradeMark application (in a new browser
window).
Sakai: use Turnitin, Turnitin Display an error icon when any of the submitted files fails to
4 SA1.3 Service: Originality report generate an originality report. Clicking the icon goes to the
generation error Assignment detail view where the errors can be viewed.
Sakai: use Turnitin,
Course:Assignment: Student Originality report is not displayed until a student has made a
5 IR1.0
Submission, Turnitin: submission.
Originality Report
Page 83 of 131
3.6.3.4. Sort by Originality Report - Gradebook
Functional Notes
Note # Requirement Dependencies Functional Notes
Course:Assignment: use Allows sorting of table data by clicking on the Report table
1 IR1.11
Turnitin header. Results are sorted initially from most original to least
Page 84 of 131
original, followed by submissions being processed
(alphabetically), followed by no submissions (alphabetically).
Clicking the table header again reverses the sort order.
Page 85 of 131
3.6.3.5. Launch Originality Report
Page 86 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin,
Course:Assignment: Student When active, the icon may be clicked to launch a view of
1 IR1.0, IR1.0
Submission, Turnitin: Originality the originality report (in a new browser window).
Report
Page 87 of 131
3.6.3.6. Launch GradeMark
Page 88 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
GradeMark icon is inactive (gray) until a student has made
a submission that can be graded. When a student has made
IR1.3, IR1.4,
a submission that can be graded, the icon becomes active
1 IR1.5, IR1.6, Sakai: use GradeMark
(full-color). When active, the GradeMark icon may be
IR1.8
clicked to launch the GradeMark application (in a new
browser window).
Sakai: use GradeMark,
2 IR1.7 Course:Assignment:Grade Scale: Submit grade via GradeMark.
Points
Page 89 of 131
3.6.4. Implementation Notes
The diagram below details the component interaction sequence necessary to render the originality report.
The tables below provides detail on the Turnitin API call to be executed to view the originality report.
Page 90 of 131
Function Name FID FCMD
Return Report 6 2
This API call would be performed at page render time for each assignment to retrieve the report score. Not the use of function
command (fcmd) 2, denoting that XML containing the score will be returned.
This API call is initiated by the user by clicking the Turnitin icon for a given assignment. The use of function command (fcmd)
1 denotes that the Originality Report will be rendered directly without any back-end processing needed from Sakai.
• Creating new versions of the appropriate assignment Velocity templates to support Turnitin related icons and data
• Extending the AssignmentAction class to support rendering of Turnitin icons and accessing of the Turnitin Service to
retrieve the API URL for the given assignment.
View GradeMark
The diagram below details the component interaction sequence necessary to render GradeMark for an instructor.
Page 91 of 131
The component interaction sequence is a follows:
1. User initiates request of the "grade view" of the assignments list page in the Turnitin-specific Assignments Tool
extension or the gradebook item summary page in the Turnitin-specific Gradebook Tool extension
2. For each assignment, the Turnitin-specific Assignments or Gradebook Tool determines if the GradeMark icon should
be enabled. This can be accomplished by using the extended Assignments Service to determine if the assignment has an
associated Turnitin object identifier (if object identifier is not null, the GradeMark icon is enabled)
3. For each assignment where the GradeMark icon is enabled the Turnitin Service is used to construct an API URL to
launch GradeMark
4. The user selects the GradeMark icon
5. An API call is issued requesting GradeMark to be rendered in a new browser window
6. GradeMark is rendered in a new browser window
The table below provides detail on the Turnitin API call to be executed.
Page 92 of 131
This API call is initiated by the user by clicking the GradeMark icon for a given assignment. The use of function command
(fcmd) 1 denotes that GradeMark will be rendered directly without any back-end processing needed from Sakai.
• Creating new versions of the appropriate assignment and gradebook templates to support GradeMark related icons and
data
• Extending the Action classes used to render the templates to support rendering of GradeMark icons and accessing of
the Turnitin Service to retrieve the API URL for the given assignment and interacting with the Turnitin-specific
Assignment Service extension to perform the object identifier check.
• Extending the Assignments Service to lookup assignments by Turnitin object identifier
Page 93 of 131
Display "active" GradeMark indicator within Provide the ability to display a colored indicator that GradeMark is
SR1.7
the Gradebook tool available for an assignment
Launch GradeMark from within the Provide the ability to launch GradeMark in a new browser window
SR1.8
Gradebook tool from an active GradeMark indicator
Display GradeMark grade within the Provide the ability to view the GradeMark Grade in the Sakai
SR1.9
Gradebook tool Gradebook
Display GradeMark grade within the Provide the ability to view the GradeMark Grade in the Assignments
SR1.10
Assignments tool tool
3.7.2. Scenario
When the instructor has released the assignment to the student, all eligible TII reports should also be released to the student.
The student can view the report at the same screen non-TII assignments are released and viewed.
Note that TII provides the option to produce an Originality Report at a specific time - however, we are using the default Sakai
functionality around returning or releasing assignments as the control mechanism for students viewing Originality Reports.
3.7.3. Screens
Page 94 of 131
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Sakai: use GradeMark,
Course:Assignment:Grade Scale: Points, GradeMark grade appears the same as non-
1 SR1.10
Course:Assignment:Student Submission: GradeMark grades.
Graded, Turnitin: GradeMark grade
Originality report is not displayed until a
student has made a submission. Originality
report icon is inactive (gray) until the
Sakai: use Turnitin, Course:Assignment: allow
originality report has been returned. When an
SR1.0, students to view originality reports,
2 originality report has been returned, the icon
SR1.1, SR1.2 Course:Assignment: Student Submission,
becomes active (full-color) with percentage
Turnitin: Originality Report
and color barometer. When active, the icon
may be clicked to launch a view of the
originality report (in a new browser window).
GradeMark icon is inactive (gray) until the
Sakai: use Turnitin, Sakai: use GradeMark, instructor has graded the assignment with
3 SR1.3, SR1.5 Course:Assignment: Student Submission, GradeMark. When an instructor has graded
Turnitin: GradeMark grade the assignment with GradeMark, the icon
becomes active (full-color).
Page 95 of 131
3.7.3.2. Returned Assignment
Functional Notes
Note # Requirement Dependencies Functional Notes
Sakai: use Turnitin, Originality report is not displayed until a student has made
Course:Assignment: allow a submission. Originality report icon is inactive (gray) until
students to view originality the originality report has been returned. When an
SR1.0, SR1.1,
1 reports, originality report has been returned, the icon becomes
SR1.2
Course:Assignment:Student active (full-color) with percentage and color barometer.
Submission: Returned, Turnitin: When active, the icon may be clicked to launch a view of
Originality Report the originality report (in a new browser window).
Sakai: use Turnitin, Sakai: use GradeMark icon is inactive (gray) until the instructor has
GradeMark, Course:Assignment: graded the assignment with GradeMark. When an
2 SR1.3, SR1.4
Student Submission, Turnitin: instructor has graded the assignment with GradeMark, the
GradeMark grading icon becomes active (full-color).
Page 96 of 131
3.7.3.3. Graded Assignment
Functional Notes
Note # Requirement Dependencies Functional Notes
Originality report is not displayed until a student has made
Sakai: use Turnitin,
a submission. Originality report icon is inactive (gray)
Course:Assignment: allow students
until the originality report has been returned. When an
SR1.0, to view originality reports,
1 originality report has been returned, the icon becomes
SR1.1, SR1.2 Course:Assignment: Student
active (full-color) with percentage and color barometer.
Submission, Turnitin: Originality
When active, the icon may be clicked to launch a view of
Report
the originality report (in a new browser window).
Sakai: use Turnitin, Sakai: use
GradeMark GradeMark grade appears the same as non-GradeMark
2 SR1.9
Course:Assignment:Grade Scale: grades.
Points, Course:Assignment:Student
Page 97 of 131
Submission: Graded, Turnitin:
GradeMark grade
Sakai: use Turnitin, Sakai: use GradeMark icon is inactive (gray) until the instructor has
SR1.6, GradeMark, Course:Assignment: graded the assignment with GradeMark. When an
3
SR1.7, SR1.8 Student Submission, Turnitin: instructor has graded the assignment with GradeMark, the
GradeMark grade icon becomes active (full-color).
In general, the technical considerations for providing the functionality for a student to view the originality report are the same
as those detailed in the instructor view originality report case. One significant difference, however, is that before enabling the
Originality Report icon an additional check of the assignment is necessary to ensure that the assignment has been graded or
returned to the student by the instructor.
View GradeMark
The diagram below details the component interaction sequence necessary to render GradeMark for a student.
Page 98 of 131
The component interaction sequence is a follows:
1. User initiates request of the "grade view" of the assignments list page in the Turnitin-specific Assignments Tool
extension or the grade report page in the Turnitin-specific Gradebook Tool extension
2. The Turnitin-specific Assignments or Gradebook Tool determines if the GradeMark icon should be enabled for the
given assignment. As in the instructor case, this can be accomplished by using the extended Assignments Service to
determine if the assignment has an associated Turnitin object identifier (if object identifier is not null, the GradeMark
icon is enabled). Additionally, in the student case, two more checks must be performed to determine if the GradeMark
icon is enabled. First, the assignment must have been returned to the student by the instructor. Second, the instructor
must have used GradeMark to either grade or comment on the assignment. The second condition can be checked by
issuing an API call to Turnitin
3. For an assignment where the GradeMark icon is enabled the Turnitin Service is used to construct an API URL to
launch GradeMark
4. The user selects the GradeMark icon
5. An API call is issued requesting GradeMark to be rendered in a new browser window
6. GradeMark is rendered in a new browser window
The table below provides detail on the Turnitin API call to be executed.
Page 99 of 131
Function Name FID FCMD
Return GradeMark 13 1
This API call is initiated by the user by clicking the GradeMark icon for a given assignment. The use of function command
(fcmd) 1 denotes that GradeMark will be rendered directly without any back-end processing needed from Sakai.
Additionally, Turnitin must supply another API call that given a student and assignment will return whether the student should
have access to GradeMark.
• Creating new versions of the appropriate assignment and gradebook templates to support GradeMark related icons and
data
3.8.2. Scenario
At the instructor's discretion, the duplicate course option is used. For a TII assignment, the duplicate function behaves as it
does now for a non-TII course, and all the TII attributes for the assignments in the originating course will carry forward to the
duplicated assignments in the duplicated course.
• When assignments are duplicated via the course duplicate feature, specific students or student attributes (grades) are
not duplicated. All of the assignment attributes are carried forward, including the dates. The instructor must change the
dates to make the new assignment meaningful.
3.8.3. Screens
There are no workflow screens specific to TII when duplicating a course. Sakai duplicates a course on click of the duplicate
link from the Site Info tool and requires the user to input only a course title and term - there is no specific TII input needed.
The course and all its attributes (including TII in this integration) are duplicated to the new course, which may then be edited
in the normal means.
The diagram below shows the component interaction sequence for duplicating a Sakai course worksite containing Turnitin-
enabled assignments.
This API call creates the assignment in Turnitin and returns an assignment identifier that should then be associated with the
assignment in Sakai.
3.9.2. Scenario
At the instructor's discretion, the duplicate course option is used. For a TII assignment, the duplicate function behaves as it
does now for a non-TII course, and all the TII attributes for the assignments in the originating course will carry forward to the
duplicated assignments in the duplicated course.
• When assignments are individually duplicated, specific student attributes (grades) are not duplicated. The title is
modified to have "-Copy" appended at the end to ensure uniqueness. All of the assignment attributes are carried
forward, including the dates. The instructor must change the title and dates to make the new assignment meaningful.
Assignments Tool
There are no workflow screens specific to TII when duplicating an assignment. Sakai duplicates an assignment on click of the
duplicate link and does not require the user to input or change information. The assignment and all its attributes (including TII
in this integration) are duplicated to the new assignment, which may then be edited in the normal means.
The diagram below shows the component interaction sequence for duplicating a Turnitin-enabled assignment. In general, the
component interaction sequence will be very similar to the add Turnitin assignment sequence.
1. User initiates duplicate assignment from the Turnitin-specific Assignments Tool extension
2. The Assignments Tool extension follows the typical Sakai duplicate assignment processing
3. The Turnitin-specific Assignment Service extension handles assignment duplication including handling of all Turnitin-
specific assignment settings
4. The assignment is duplicated successfully within Sakai
5. The Turnitin Service is used to make an API call to create the assignment in Turnitin
6. The Turnitin Service receives confirmation from Turnitin that the assignment was created and parses the Turnitin
assignment identifier from the response
7. The Turnitin Service uses the extended Assignment Service to associate the Turnitin assignment identifier with the
assignment in Sakai
The table below provides detail on the Turnitin API call to be executed as part of the add assignment process.
This API call creates the assignment in Turnitin and returns an assignment identifier that should then be associated with the
assignment in Sakai.
• Extending the Assignment Service to support handling of Turnitin-specific assignments settings on assignment
duplication
The requirement (DA 1.1) to handle importing an assignment from another worksite can be handled in the same manner as
detailed above for duplicating assignment with the exception that the process is initiated from the Sakai Site Info Tool.
GradeMark provides the ability for an instructor to enter and submit a grade. If an instructor chooses to grade via GradeMark,
the grade should be programmatically sent to and stored within Sakai. In addition, if the instructor chooses to update a grade
already submitted via GradeMark, the updated grade should also be sent, and should overwrite the existing grade.
3.10.3. Screens
The diagram below details the component interaction sequence for obtaining and persisting a grade from GradeMark to Sakai.
Note, the functionality to call the GradeMark web service exposed by Sakai does not yet exist in GradeMark. This must be
developed by Turnitin.
The diagram below details the component interaction sequence for posting a grade from Sakai to GradeMark.
Discussion is currently underway regarding the value of a TII integration with Assignments 1, given that the Assignments 2 tool is
scheduled for release within the next year.
The Sakai DropBox tool was examined for potential impacts. Since the current DropBox is not connected to the Assignments tool,
there was no logical out of the box integration proposed. However, DropBox could be enhanced to support submission of assignments,
thus allowing submission of a TII via DropBox. This would also enable the business scenario of accommodating student submissions
directly without requiring an association to an assignment.
4.3. Filtering
The Assignments Tool is the primary focus of this proposed integration. Additional functionality that could be considered to be added
to the existing Assignment tool includes:
The TII Admin Tool is a proposed tool that will control the administrative features of the Sakai-Turnitin integration. Additional
functionality that could be considered for the proposed new TII Admin tool includes:
• The ability to enable/disable the Instructor's use of the "course assignment submission statement"
• The ability to enable/disable the Instructor's ability to edit the "institution assignment submission statement".
• The ability to enable/disable the Instructor's ability to edit the "plagiarism pledge".
• The ability to enable/disable the Instructor's ability to edit the "course assignment submission statement".
Within this document, the use of the GradeMark is treated as a publishing choice within a Turnitin assignment. This assumes that an
instructor will only use GradeMark for TII assignments. Is this an accurate assumption? Would it be beneficial to allow an instructor
to use GradeMark on its own?
The recommendation included in this document for configuration of Turnitin at the course level is to provide a "Turnitin" interface
within the Assignments tool. Two alternative to this could be (1) create a new and separate Turnitin tool that would live on its own; or
(2) create this functionality within the existing Site Info tool. Course configuration of Turnitin would then happen through either
option 1 or 2 instead of within the Assignments interface. Functionality that could be considered for a new or within the Site Info tool
includes:
Instructors may want the ability to view and/or include the institution or course assignment submission statement or the plagiarism
pledge from locations other than the Assignments tool. Possible additional locations include the Syllabus tool, the Gradebook and the
Announcements tool. Additional functionality that could be considered for these tools includes:
4.9. Permissions
By default and when enabled, the TII integration is available for course worksites only. Extending the use of the integration to other
worksite types or adding more granular permissions have been discussed as possible future enhancements.
Another permissions scenario is where multiple institutions share a single Sakai instance but not all institutions have purchased
Turnitin. This situation can be handled in a number of ways without impacting the functional design detailed in this document. One
very simple solution would be to associate a boolean property with each Sakai course worksite that denotes whether Turnitin is
available. If the property is false no further processing of anything Turnitin related is performed (i.e. checks for Turnitin at the Sakai
and course level are ignored; no Turnitin-related items are displayed on the user interface). From an implementation perspective, this
could be accomplished by taking advantage of Sakai's robust property mechanism which allows for key and value property pairs to be
associated to various Sakai entities including worksites. Another potential solution would be to restrict access to the Turnitin Tool and
Turnitin extended Sakai Tools to non-Turnitin institutions. The key point is that this scenario could be handled and there are multiple
options to handle it. The optimal solution would have much to do with how the particular Sakai instance provisioned worksites.
Depending on how worksites were provisioned (i.e. manual or automatic) and the volume of worksite creation, solutions can be design
and incorporated into the Turnitin Sakai extensions on a case by case basis.
Enable
"institution
assignment
submission
statement" at Provide the ability to enable the
the global "institution assignment submission TII Admin Tool TII Admin
AG1.3 Sakai level statement" Sakai Admin (new) Admin Privilege Tool
Disable
"institution
assignment
submission
statement" at Provide the ability to disable the Institution assignment
the global "institution assignment submission TII Admin Tool TII Admin submission statement
AG1.4 Sakai level statement" Sakai Admin (new) Admin Privilege Tool enabled
Enter/edit
content for the
"institution
assignment Provide the ability to enter or edit Institution assignment
submission the content of the "institution TII Admin Tool TII Admin submission statement
AG1.5 statement" assignment submission statement" Sakai Admin (new) Admin Privilege Tool enabled
Prohibit use of
GradeMark for
assignments Provide the system function to return
not selected for error when use of GradeMark is
addition to the selected and "Add Assignment to
Sakai Gradebook" is NOT the selected Assignments Assignmen GradeMark enabled at
AA1.3 Gradebook grading option System Tool t creation assignment level