COURSE EDITOR WEB AUTHORING TOOL FOR AN ELEARNING SYSTEM MSC IN COMPUTER SCIENCE HIRANTHA PUSHPAKUMARA UNIVERSITY OF MORATUWA DECEMBER 2007 COURSE EDITOR WEB AUTHORING TOOL FOR AN E-LEARNING SYSTEM HIRANTHA PUSHPAKUMARA This dissertation was submitted to the Department of Computer Science and Engineering of the University of Moratuwa in partial fulfillment of the requirements for the Degree of MSc in Computer Science specializing in Software Architecture Department of Computer Science and Engineering University of Moratuwa December 2007 I hereby declare that the work included in this dissertation has not been submitted in part or whole for any other academic qualification at any institution. -------------------------------- D.K.H.Pushpakumara -------------------------------- Dr. Sanath Jayasena (Supervisor) III Abstract MathML is a new effective public standard language for encoding mathematical expressions on the web. In order to foster the adoption of MathML in World Wide Web, MathML software needs to be freely available for users. MathML software products which exist today are very limited and most of the time shipped as an expensive commercial product which hinds the use of MathML by wide computer user community. The Goal of this current research is to implement an open source, easy to use web authoring tool which helps teachers in creating scientific course materials with mathematical content. The Proposed tool can directly create the web content from MS Word documents. This avoids rather than spending time, energy and money in using complicated web authoring tools. This generated web content with MathML is published in a browser in a neutral way allowing a large audience to be reached. The generated content is also conforms to the SCORM (Shareable Content Object Reference Model) specification, allowing them to be easily deployed in SCORM compliant Learning Management Systems. IV Acknowledgements This dissertation is the result of nearly a year of work whereby I have been accompanied and supported by many people. I would like to express my gratitude to all those who gave me the possibility to complete this dissertation. The first person I would like to thank is my supervisor Dr. Sanath Jayasena, Department of Computer Science & Engineering, University of Moratuwa. In the first instance, Iā€™m grateful to him on giving me the idea and the permission to commence the research. Next I really appreciate his help, suggestions and the encouragement which helped me throughout the research and writing of this thesis. Professor Gihan Dias, MSc Course Coordinator needs to be especially acknowledged for his support both at an administrative level and as a mentor. I would also like to thank the rest of the Computer Science & Engineering Department staff including Ms. Vishaka Nanayakkara, Head of the Department for their support and guidance. I highly appreciate my employer Virtusa Pvt Ltd for granting me adequate leave allowing me to attend to the research project and complete it successfully. Finally, I wish to thank my colleagues in the MSc batch, office staff and everyone else who supported me during this endeavor with their invaluable assistance. V Table of Contents ABSTRACT .................................................................................................................................... IV ACKNOWLEDGEMENTS.............................................................................................................V TABLE OF CONTENTS............................................................................................................... VI LIST OF FIGURES..................................................................................................................... VIII LIST OF TABLES.......................................................................................................................... IX SYMBOLS, NOTATIONS, ABBREVIATIONS AND ACRONYMS .........................................X 1. INTRODUCTION ...................................................................................................................1 1.1. OBJECTIVES AND MOTIVATION .........................................................................................2 1.1.1. Authoring for MathML ................................................................................................2 1.1.2. Ease of Use ..................................................................................................................3 1.1.3. Cross Browser Support................................................................................................5 1.1.4. Open Source Software .................................................................................................5 1.1.5. SCORM Compliance....................................................................................................5 1.1.6. Create Content Offline.................................................................................................6 1.2. REVIEW OF THE EXISTING TOOLS......................................................................................6 1.3. OVERVIEW OF THE DISSERTATION ....................................................................................7 2. MATHML ON WEB ...............................................................................................................9 2.1. MATHML EXPRESSIONS ...................................................................................................9 2.2. BROWSER SUPPORT FOR MATHML.................................................................................11 2.3. MATHML INTERFACE .....................................................................................................12 3. MICROSOFT OFFICE WORD AS THE EDITOR...........................................................14 3.1. MATH TYPESETTING IN WORD........................................................................................14 3.1.1. MS Word 2003 Equation Editor ................................................................................14 3.1.2. MS Word 2007 Equation Builder ..............................................................................15 3.2. MS WORD AND XML DATA FORMATS ...........................................................................15 3.2.1. MS Word 2003 and WordProcessingML...................................................................16 3.2.2. MS Word 2007 and OpenXML ..................................................................................17 3.2.3. Office Math Markup Language (OMML) ..................................................................20 3.3. WORD AUTOMATION TECHNIQUES .................................................................................22 3.3.1. Using MS Word Object Model...................................................................................23 3.3.2. Macro Programming .................................................................................................24 4. SHAREABLE CONTENT OBJECT REFERENCE MODEL (SCORM) .......................26 5. SYSTEM DESIGN, IMPLEMENTATION AND TESTING.............................................31 5.1. APPROACH ......................................................................................................................31 5.2. SCOPE .............................................................................................................................33 5.2.1. Scope Inclusion..........................................................................................................33 5.2.2. Scope Exclusion.........................................................................................................34 5.3. DESIGN ...........................................................................................................................34 5.3.1. Class Diagram...........................................................................................................34 5.3.2. Sequence Diagram.....................................................................................................38 5.4. IMPLEMENTATION ...........................................................................................................39 5.4.1. Technology Stack.......................................................................................................39 5.4.2. Packaging Structure ..................................................................................................40 5.4.3. Extracting Data from Source Documents..................................................................41 VI 5.4.4. Custom Event Handlers .............................................................................................41 5.4.5. XSL Transformations.................................................................................................42 5.4.6. Adding Custom Styles ................................................................................................44 5.4.7. Cross Browser Compatibility ....................................................................................44 5.4.8. SCORM Communication Session ..............................................................................46 5.5. TESTING ..........................................................................................................................46 5.5.1. LMS Run-Time Environment (LMS RTE) Conformance Test ....................................47 5.5.2. SCO Run-Time Environment (SCO RTE) Conformance Test ....................................48 6. ANALYSIS AND DISCUSSION ..........................................................................................49 6.1. CROSS BROWSER SUPPORT FOR MATHML......................................................................49 6.2. WEB CONTENT CREATION USING COURSEEDITOR..........................................................50 6.3. SYSTEM DESIGN CONSIDERATIONS.................................................................................51 6.4. TESTING MATHML AND SCOS .......................................................................................52 7. CONCLUSION ......................................................................................................................53 REFERENCES ................................................................................................................................55 APPENDIX A - SCREEN SHOTS.................................................................................................57 APPENDIX B ā€“ GENERATED WEB PAGES / SOURCE .........................................................59 APPENDIX C ā€“ GUIDELINES FOR CREATING WEB CONTENT THROUGH COURSEEDITOR...........................................................................................................................60 VII List of Figures Figure 2-1 - A Simple MathML Representation..................................................... 10 Figure 2-2 - An XHTML Document with MathML ............................................... 13 Figure 3-1 - WordprocessingML in a Word Document.......................................... 16 Figure 3-2 - WordprocessingML Paragraph ........................................................... 17 Figure 3-3 - File Structure of a MS Word 2007 Document .................................... 19 Figure 3-4 - Word Object Model Abstract.............................................................. 23 Figure 4-1 - A Simple SCO .................................................................................... 27 Figure 4-2 - A Data Enabled SCO .......................................................................... 28 Figure 4-3 - SCO Sample Source Listing ............................................................... 30 Figure 5-1 - Basic Process Diagram ....................................................................... 33 Figure 5-2 - Class Diagram..................................................................................... 36 Figure 5-3 - Class Details ....................................................................................... 37 Figure 5-4 - Sequence Diagram to Generating a Web Site..................................... 38 Figure 5-5 - Packaging Structure ............................................................................ 40 Figure 5-6 - XHTML with In-lined MathML ......................................................... 45 Figure 5-7 - MathML Processing Instruction ......................................................... 45 Figure A-1 - CourseEditor Work Bench Screen ..................................................... 57 Figure A-2 - Metadata Input Screen ....................................................................... 57 Figure A-3 - Work Bench Screen after Creating the Course .................................. 58 Figure B-1 - Generated Web Pages in Fire Fox browser........................................ 59 Figure B-2 - Page Source of a Generated Web Page .............................................. 59 VIII List of Tables Table 3-1 - File Extensions for MS Word 2007 File Types.................................... 18 Table 3-2 - OMML vs. MathML Representation ................................................... 21 Table 3-3 - Summary of the OMML along with the MathML Tags....................... 22 Table 4-1 - SCORM 1.2 Data Model Elements ...................................................... 29 Table 5-1 - Technology Stack................................................................................. 39 Table 5-2 - XML Namespaces in CourseEditor Tool ............................................. 43 IX Symbols, Notations, Abbreviations and Acronyms Term Explanation ADL Advanced Distributed Learning API Application Programming Interface COM Component Object Model CSS Cascading Style Sheets ECMA European Computer Manufacturers Association FOSS Free and Open Source Software HTML Hyper Text Markup Language IDE Integrated Development Environment IE Microsoft Internet Explorer LMS Learning Management Systems MathML Mathematical Markup Language MS Microsoft MSDN Microsoft Developer Network OMML Office Math Markup Language OPC Open Packaging Convention PDF Portable Document Format RTE Run Time Environment SCO Sharable Content Object SCORM Shareable Content Object Reference Model TOC Table of Contents UML Unified Modeling Language URI Uniform Resource Identifier VLE Virtual Learning Environment W3C World Wide Web Consortium XHTML eXtensible Hyper Text Markup language XML eXtensible Markup Language XPath XML Path Language XSL eXtensible Style sheet Language XSLT XSL Transformations X