CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Utilizing Microsoft Office Extensibility Within the Classroom Environment a Thesis Submi

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Utilizing Microsoft Office Extensibility Within the Classroom Environment a Thesis Submi

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE Utilizing Microsoft Office Extensibility within the Classroom Environment A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Software Engineering By Yousef Haddad December 2018 The thesis of Yousef Haddad is approved: ______________________________________ _______________ Dr. Rick Covington Date ______________________________________ _______________ Dr. Robert McIlhenny Date ______________________________________ _______________ Dr. Taehyung “George” Wang, Chair Date California State University, Northridge ii TABLE OF CONTENTS Signature Page ................................................................................................................................. ii List of Figures ................................................................................................................................. iv List of Tables ................................................................................................................................... v Abstract ........................................................................................................................................... vi Chapter 1: Introduction .................................................................................................................... 1 Chapter 2: Background on Microsoft Office Extensibility .............................................................. 4 2.1 Common Object Model (COM) Add-Ins ............................................................................... 4 2.2 Visual Studio Tools for Office (VSTO) Add-Ins ................................................................... 5 2.3 Office Add-ins and The JavaScript API for Office ................................................................ 6 2.3.1 Office JavaScript API Add-in Architecture .................................................................... 6 2.3.2 The Office.js library ........................................................................................................ 8 Chapter 3: Learning Management System Interoperability ........................................................... 12 3.1 Sharable Content Object Reference Model (SCORM) ........................................................ 12 3.2 Experience API (xAPI) ........................................................................................................ 14 3.3 Learning Tools Interoperability (LTI) ................................................................................. 15 3.4 Instructure Canvas ............................................................................................................... 16 Chapter 4: Design and Requirements ............................................................................................ 17 4.1 Methodology ........................................................................................................................ 17 4.2 Stakeholder Interviews ......................................................................................................... 19 4.3 Requirements and User Stories ............................................................................................ 22 Chapter 5: Technical Implementation ............................................................................................ 24 5.1 Used Technologies ............................................................................................................... 24 5.2 System Architecture ............................................................................................................. 26 5.3 Use of Instructure Canvas .................................................................................................... 26 5.4 Role of the Back-End ........................................................................................................... 27 5.5 Authentication Flow with Canvas ........................................................................................ 30 5.6 Interfacing with Office components .................................................................................... 34 Chapter 6: Recommendations ........................................................................................................ 37 References ...................................................................................................................................... 38 Appendix A: Interview Transcript 1 .............................................................................................. 41 Appendix B: Interview Transcript 2 .............................................................................................. 46 Appendix C: Interview Transcript 3 .............................................................................................. 49 iii LIST OF FIGURES Figure 1: COM Add-in management within Word 2016 ................................................................. 4 Figure 2: Architecture of VSTO Add-ins ........................................................................................ 5 Figure 3: A task pane Add-in ........................................................................................................... 6 Figure 4: Generic Architecture for Office Add-ins .......................................................................... 6 Figure 5: Office Add-ins Store ........................................................................................................ 7 Figure 6: Add-in Manifest Validation .............................................................................................. 7 Figure 7: Common API function example ....................................................................................... 9 Figure 8: Use of context.sync() with the 2016 design of Office JavaScript API ........................... 10 Figure 9: LinkedIn post calling for interview participants............................................................. 19 Figure 10: Abstract architecture for QuizWord ............................................................................. 26 Figure 11: Data Fetch from Canvas Flow ...................................................................................... 29 Figure 12: Canvas authentication ................................................................................................... 31 Figure 13: Authentication Flow with Canvas ................................................................................ 33 Figure 14: Example of a course loaded in a content Control ......................................................... 34 Figure 15: Flow of Content Upload to Canvas .............................................................................. 36 iv LIST OF TABLES Table 1: Common questions asked to all interviewees .................................................................. 20 Table 2: Interview Questions Specific to Professors and Learning Development Specialists ....... 20 Table 3: Interview Questions Specific to Students ........................................................................ 20 Table 4: Interview Questions Specific to LMS Implementation Specialists ................................. 21 Table 5: Interview Findings ........................................................................................................... 21 Table 6: User Stories ...................................................................................................................... 22 Table 7: Used Frameworks and Libraries ...................................................................................... 24 Table 8: Used Cloud Resources ..................................................................................................... 25 v ABSTRACT Utilizing Microsoft Office Extensibility within the Classroom Environment By Yousef Haddad Master of Science in Software Engineering As learning management systems (LMS) continue to offer modern innovative features in educational delivery, educators and learners remain faced with a necessity of using productivity applications such as Microsoft Word, Excel, and Google Docs; often causing a discord in the end-to-end user experience while authoring content for submission. The need to export or upload externally managed files into the LMS platform generates swivel seat scenarios of switching between multiple programs. Office.JS is a Microsoft Office extensibility library that allows developers to manipulate content within a Word document, Excel spreadsheet, PowerPoint presentation, etc. using JavaScript based application programming interfaces (API), while interacting with backend components, enabling end- users interaction with a task pane native to a Microsoft Office program. The capabilities of this library were studied through a proof of concept application that runs within Microsoft Word 2016 (for PC, Mac), labelled QuizWord. The add-in facilitates interaction with vi course content, assignments, and quizzes hosted within an Instructure Canvas instance for teachers to edit and students to consume while using Microsoft Word. The methodology involved conducting interviews with students and educators for requirement elicitation. The project successfully enables content creation and consumption by teachers and students directly from Microsoft Word, achieving the goal of LMS interaction outside of a web browser, with an average response time under 1.5 seconds per information exchange round trip between a word document body and Canvas.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    60 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us