Migrating Web Applications from Sql to Nosql Databases

Total Page:16

File Type:pdf, Size:1020Kb

Migrating Web Applications from Sql to Nosql Databases MIGRATING WEB APPLICATIONS FROM SQL TO NOSQL DATABASES by RAHMA S. AL MAHRUQI A thesis submitted to the School of Computing in conformity with the requirements for the degree of Doctor of Philosophy Queen’s University Kingston, Ontario, Canada January 2020 Copyright © Rahma S. Al Mahruqi, 2020 Abstract In the Big Data era, data is emerging dramatically and the structure of data is becoming increasingly flexible. Non-Relational databases, such as the NoSQL class of Databases, are playing a major role as an enabler technology to manipulate such data. Non-Relational databases, have overcome many of the limitations of the relational databases especially those that relate to enable systems to scale up to serve more customers producing terabytes of data. More businesses are willing to migrate their legacy relational database systems to ones that use NoSQL Databases. In this thesis, we present a semi-automated approach to migrate highly dynamic SQL- based web applications to ones that use document-oriented NoSQL databases such as Mon- goDB using source analysis and transformation techniques. We outline a set of source trans- formation steps that can be used to migrate existing web applications database from SQL one to document-oriented NoSQL database. We demonstrate our semi-automated frame- work on the analysis and migration of three existing web applications to extract, classify, translate, migrate and optimize the queries and migrate the PHP code to interact with the migrated database. i There are two parts to this approach; the migration of schema and data, and the migra- tion of the actual application code with embedded queries. Our approach provides contri- butions to the second part, migrating and optimizing the embedded SQL queries to inter- act with the new database system and changing the application code to use the translated queries. ii Co-Authorship The published paper resulting from this thesis have been co-authored with my supervisors Dr. Thomas R. Dean and Dr. Manar H. Alalfi. I am the primary author of the paper. Rahma S. Al Mahruqi, Manar H. Alalfi, and Thomas R. Dean, "A semi-automated framework for migrating web applications from SQL to document oriented NoSQL database, CASCON ’19: Proceedings of the 29th Annual International Conference on Computer Sci- ence and Software Engineering, Toronto, November 2019, Pages 44–53. iii Acknowledgments First and foremost, I thank God (Allah) the Most Gracious and Merciful for blessing me with guidance, strength, patience and perseverance to complete this work. I would like to express my gratitude to all those who make it possible for me to com- plete this thesis. I want to thank my supervisors Prof. Thomas R. Dean and Prof. Manar H. Alalfi for their advice, support, and encouragements. They always provided valuable direction and feedback, and gave me an important lesson on academic research. It was a great pleasure for me to conduct this thesis under their supervision. I would also like to thank the members of my oral defense committee, Dr. Ettore Merlo, Dr. James Cordy, Dr. Michael Greenspan, and Dr. Hossam Hassanein for their time and insightful questions and comments. My appreciation and gratefulness to all my colleagues and to the friendly members of the School of Computing who have helped in one way or another along the way. In particular, I would like to thank Marwa Afifi, Mariam AlMazour and Ayesha Baber for their sincere friendship. As well, I would like to acknowledge the School of Computing at Queen’s University for providing me with the opportunity and environment for pursuing my research and stud- ies. Special appreciation is due to Mrs. Debby Robertson, our graduate assistant. Thank you for being always there and for your endless encouragement. Special thanks go to Dr. Wendy Powley for advocating and inspiring women in computing. iv To the soul of my mother and father who did everything they could for me and help me to achieve my dreams and I am sure if they were here, they would have been so proud of their daughter. I further wish to thank my family and friends for their support and encouragement. I also appreciate the support and encouragement my husband, Omar, had given me over the past several years. He was instrumental in me taking this leap in the beginning and for the past 20 years has done nothing but encourage me in whatever goals I set for myself. Finally, I would like to thank my lovely kids; Hafsah, Sara, Abdullah and Maeen; my source of enthusiasm for always encouraging me and telling me that it is never too late for learning. Thank you for your understanding and patience when I was away from you. I thank my brother, Ahmed; my role model, and my youngest brother Mohamed and my sisters; Azza, Nasra, Fatma and Raheema; my father-in-law and mother-in-law, uncles, aunts, and cousins for their continuous prayers and support. I thank my home country Oman; Sultan Qaboos University and the Ministry of Higher Education for their support to pursue my degree and for funding my study. v Statement of Originality I, Rahma S. Al Mahruqi, certify that the research work presented in this thesis is my own and was conducted under the supervision of Dr. Thomas R. Dean, and Dr. Manar H. Alalfi. All references to the work of other people are properly cited. vi Contents Abstract i Co-Authorship iii Acknowledgments iv Statement of Originality vi Contents vii List of Tables xi List of Figures xii Chapter 1: Introduction 3 1.1 Problem Statement . 3 1.2 Motivation . 4 1.3 Research Statement . 6 1.4 Objectives . 7 1.5 Contributions . 7 1.6 Organization of the Thesis . 8 Chapter 2: Background 9 2.1 Introduction . 9 2.2 Databases . 10 2.3 Database Management Systems . 11 2.4 Data Storage Evolution in Web Applications . 11 2.5 The Relational Model . 13 2.6 NoSQL Databases . 14 2.6.1 Classification of NoSQL Systems . 16 2.6.2 Characteristics of NoSQL Systems . 18 2.6.3 NoSQL Use Cases . 21 vii 2.6.4 Challenges for NoSQL Adoption . 24 2.6.5 MongoDB . 26 2.6.6 NoSQL Usage Statistics . 28 2.6.7 Web Application Migration to NoSQL . 29 2.7 The Need for Automation . 31 2.7.1 Source Transformation . 32 2.8 Query and Application Migration Challenges . 33 2.9 Related Work . 34 2.9.1 Schema and Data Migration . 35 2.10 Query and Application Migration . 37 2.10.1 Research-based Tools . 37 2.10.2 Industry-based Products . 39 2.11 Conclusion . 40 Chapter 3: Proposed Migration Approach 42 3.1 Introduction . 42 3.2 Proposed Migration Approach . 42 3.3 Conclusion . 45 Chapter 4: Schema and Data Migration 46 4.1 Introduction . 46 4.2 Data Model Design . 48 4.3 Designing The Schema . 50 4.3.1 Schema Conversion . 51 4.3.2 Data Migration . 52 4.4 Migration Strategy . 53 4.5 Data Migration . 54 4.5.1 Data Migration Tools Overview . 55 4.6 Schema and Data Migration Experiments . 57 4.6.1 PHPBB3 Schema and Data Migration . 57 4.7 WordPress Schema and Data Migration . 64 4.7.1 WordPress Schema Conversion . 64 4.8 Data Migration Considerations . 67 4.9 Data Migration Tools . 68 4.9.1 Data Migration Tools Evaluation . 69 4.9.2 Data Migration Tools Comparison . 71 4.10 Conclusion . 73 Chapter 5: Manual Migration 76 5.1 Introduction . 76 5.2 PHPBB Code Migration . 78 viii 5.3 SCARF Manual Migration . 81 5.4 Generic Code Migration Cases . 91 5.5 Manual Migration Caveats . 99 5.6 Conclusion . 100 Chapter 6: Query Migration and Optimization 102 6.1 Introduction . 102 6.2 Query Extraction Phase . 102 6.3 Query Classification Phase . 104 6.4 Query Translation and Migration Phase . 107 6.4.1 Naive Queries Translation . 108 6.4.2 Migration Cases Examples . 110 6.4.3 Dual Queries Translation . 112 6.4.4 SCARF Migration Issues . 114 6.4.5 PHPBB Migration Issues . 117 6.5 Query Migration Evaluation . 123 6.5.1 Query Evaluation Before Indexing . 123 6.5.2 Query Evaluation After Indexing . 126 6.6 Query Optimization Phase . 128 6.6.1 Query Optimization Techniques . 129 6.6.2 Filter Option Optimization . 132 6.6.3 Table Order Optimization . 134 6.6.4 Query Optimization Evaluations . 142 6.7 Conclusion . 144 Chapter 7: Application Migration 146 7.1 Introduction . 146 7.2 Application Migration Overview . 147 7.2.1 Application Migration Approach . 149 7.2.2 Application Migration Steps . 153 7.3 Phase 1 - Backward Tracing Search . 154 7.3.1 Step 1: Identify and change calls to MySQL . 154 7.3.2 Step 2: Pre-process source files to gather global variables . 155 7.3.3 Step 3: Find functions used to launch queries . 155 7.3.4 Step 4: Search SQL statements using backward tracing from calls to MySQL . 156 7.3.5 Step 5: Identify the prototype of SQL statements . 161 7.4 Phase 2 - Migration of SQL sentences . 161 7.4.1 Step 1: Query classification . 162 7.4.2 Step 2: Migrate query by pattern matching . 162 ix 7.5 Simple Query Translation Example . 164 7.6 Backward Tracing Translation . 167 7.6.1 Backward Tracing Overview . 167 7.6.2 SCARF Use Cases Examples . 170 7.6.3 PHPBB3 Backward Tracing Examples . ..
Recommended publications
  • SEO Footprints
    SEO Footprints Brought to you by: Jason Rushton Copyright 2013 Online - M a r k e t i n g - T o o l s . c o m Page 1 Use these “Footprints” with your niche specific keywords to find Backlink sources. Some of the footprints below have already been formed into ready made search queries. TIP* If you find a footprint that returns the results you are looking for, there is no need to use the rest in that section. For example if I am looking for wordpress sites that allow comments and the search query “powered by wordpress” “YOUR YOUR KEYWORDS” returns lots of results there is no need to use all of the others that target wordpress sites as a lot of them will produce similar results. I would use one or two from each section. You can try them out and when you find one you like add it to your own list of favourites. Blogs “article directory powered by wordpress” “YOUR YOUR KEYWORDS” “blog powered by wordpress” “YOUR YOUR KEYWORDS” “blogs powered by typepad” “YOUR YOUR KEYWORDS” “YOURYOUR KEYWORDS” inurl:”trackback powered by wordpress” “powered by blogengine net 1.5.0.7” “YOUR YOUR KEYWORDS” “powered by blogengine.net” “YOUR YOUR KEYWORDS” “powered by blogengine.net add comment” “YOUR YOUR KEYWORDS” “powered by typepad” “YOUR YOUR KEYWORDS” “powered by wordpress” “YOUR YOUR KEYWORDS” “powered by wordpress review theme” “YOUR YOUR KEYWORDS” “proudly powered by wordpress” “YOUR YOUR KEYWORDS” “remove powered by wordpress” “YOUR YOUR KEYWORDS” Copyright 2013 Online - M a r k e t i n g - T o o l s .
    [Show full text]
  • The Pentaho Big Data Guide This Document Supports Pentaho Business Analytics Suite 4.8 GA and Pentaho Data Integration 4.4 GA, Documentation Revision October 31, 2012
    The Pentaho Big Data Guide This document supports Pentaho Business Analytics Suite 4.8 GA and Pentaho Data Integration 4.4 GA, documentation revision October 31, 2012. This document is copyright © 2012 Pentaho Corporation. No part may be reprinted without written permission from Pentaho Corporation. All trademarks are the property of their respective owners. Help and Support Resources If you have questions that are not covered in this guide, or if you would like to report errors in the documentation, please contact your Pentaho technical support representative. Support-related questions should be submitted through the Pentaho Customer Support Portal at http://support.pentaho.com. For information about how to purchase support or enable an additional named support contact, please contact your sales representative, or send an email to [email protected]. For information about instructor-led training on the topics covered in this guide, visit http://www.pentaho.com/training. Limits of Liability and Disclaimer of Warranty The author(s) of this document have used their best efforts in preparing the content and the programs contained in it. These efforts include the development, research, and testing of the theories and programs to determine their effectiveness. The author and publisher make no warranty of any kind, express or implied, with regard to these programs or the documentation contained in this book. The author(s) and Pentaho shall not be liable in the event of incidental or consequential damages in connection with, or arising out of, the furnishing, performance, or use of the programs, associated instructions, and/or claims. Trademarks Pentaho (TM) and the Pentaho logo are registered trademarks of Pentaho Corporation.
    [Show full text]
  • Webové Diskusní Fórum
    MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Webové diskusní fórum BAKALÁRSKÁˇ PRÁCE Martin Bana´s Brno, Jaro 2009 Prohlášení Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vy- pracoval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování používal nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušný zdroj. V Brnˇe,dne . Podpis: . Vedoucí práce: prof. RNDr. JiˇríHˇrebíˇcek,CSc. ii Podˇekování Dˇekujivedoucímu prof. RNDr. JiˇrímuHˇrebíˇckovi,CSc. za správné vedení v pr ˚ubˇehucelé práce a trpˇelivostpˇrikonzutacích. Dále dˇekujicelému kolektivu podílejícímu se na reali- zaci projektu FEED za podnˇetnépˇripomínkya postˇrehy. iii Shrnutí Bakaláˇrskápráce se zabývá analýzou souˇcasnýchdiskusních fór typu open-source a vý- bˇerem nejvhodnˇejšíhodiskusního fóra pro projekt eParticipation FEED. Další ˇcástpráce je zamˇeˇrenána analýzu vybraného fóra, tvorbu ˇceskéhomanuálu, ˇceskélokalizace pro portál a rozšíˇrenípro anotaci pˇríspˇevk˚u. Poslední kapitola je vˇenovánanasazení systému do provozu a testování rozšíˇrení pro anotaci pˇríspˇevk˚u. iv Klíˇcováslova projekt FEED, eParticipation, diskusní fórum, portál, PHP, MySQL, HTML v Obsah 1 Úvod ...........................................3 2 Projekt eParticipation FEED .............................4 2.1 eGovernment ...................................4 2.2 Úˇcastníciprojektu FEED .............................4 2.3 Zamˇeˇreníprojektu FEED .............................5 2.4 Cíl
    [Show full text]
  • Star Schema Modeling with Pentaho Data Integration
    Star Schema Modeling With Pentaho Data Integration Saurischian and erratic Salomo underworked her accomplishment deplumes while Phil roping some diamonds believingly. Torrence elasticize his umbrageousness parsed anachronously or cheaply after Rand pensions and darn postally, canalicular and papillate. Tymon trodden shrinkingly as electropositive Horatius cumulates her salpingectomies moat anaerobiotically. The email providers have a look at pentaho user console files from a collection, an individual industries such processes within an embedded saiku report manager. The database connections in data modeling with schema. Entity Relationship Diagram ERD star schema Data original database creation. For more details, the proposed DW system ran on a Windowsbased server; therefore, it responds very slowly to new analytical requirements. In this section we'll introduce modeling via cubes and children at place these models are derived. The data presentation level is the interface between the system and the end user. Star Schema Modeling with Pentaho Data Integration Tutorial Details In order first write to XML file we pass be using the XML Output quality This is. The class must implement themondrian. Modeling approach using the dimension tables and fact tables 1 Introduction The use. Data Warehouse Dimensional Model Star Schema OLAP Cube 5. So that will not create a lot when it into. But it will create transformations on inventory transaction concepts, integrated into several study, you will likely send me? Thoughts on open Vault vs Star Schemas the bi backend. Table elements is data integration tool which are created all the design to the farm before with delivering aggregated data quality and data is preventing you.
    [Show full text]
  • A Plan for an Early Childhood Integrated Data System in Oklahoma
    A PLAN FOR AN EARLY CHILDHOOD INTEGRATED DATA SYSTEM IN OKLAHOMA: DATA INVENTORY, DATA INTEGRATION PLAN, AND DATA GOVERNANCE PLAN January 31, 2020 The Oklahoma Partnership for School Readiness would like to acknowledge the Oklahoma Early Childhood Integrated Data System (ECIDS) Project Oversight Committee for advising and supporting development of this plan: Steve Buck, Cabinet Secretary of Human Services and Early Childhood Initiatives Jennifer Dalton, Oklahoma Department of Human Services Erik Friend, Oklahoma State Department of Education Becki Moore, Oklahoma State Department of Health Funding for development of this plan was provided by the Preschool Development Grant Birth through Five (Grant Number 90TP0037), a grantmaking program of the U.S. Department of Health and Human Services, Administration for Children and Families, Office of Child Care. 2 Contents Glossary ......................................................................................................................................................... 6 Image Credits .............................................................................................................................................. 14 1. Executive Summary ............................................................................................................................. 15 1.1. Uses of an ECIDS ......................................................................................................................... 15 1.2. About this ECIDS Plan .................................................................................................................
    [Show full text]
  • Base Handbook Copyright
    Version 4.0 Base Handbook Copyright This document is Copyright © 2013 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. All trademarks within this guide belong to their legitimate owners. Contributors Jochen Schiffers Robert Großkopf Jost Lange Hazel Russman Martin Fox Andrew Pitonyak Dan Lewis Jean Hollis Weber Acknowledgments This book is based on an original German document, which was translated by Hazel Russman and Martin Fox. Feedback Please direct any comments or suggestions about this document to: [email protected] Publication date and software version Published 3 July 2013. Based on LibreOffice 4.0. Documentation for LibreOffice is available at http://www.libreoffice.org/get-help/documentation Contents Copyright..................................................................................................................................... 2 Contributors.............................................................................................................................2 Feedback................................................................................................................................ 2 Acknowledgments................................................................................................................... 2 Publication
    [Show full text]
  • Open Source ETL on the Mainframe
    2011 JPMorgan Chase ROBERT ZWINK , VP Implementation Services, Chief Development Office [RUNNING OPEN SOURCE ETL ON A MAINFRAME] Pentaho is an open source framework written in Java which includes a full featured Extract Transform Load (ETL) tool called Pentaho Data Integration (PDI). Programmers leverage PDI to create custom transformations which can be a direct 1:1 translation of existing COBOL. A rich palette of out of the box components allows the transformation to be assembled visually. Once finished, the transformation is a completely portable Java application, written in a visual programming language, which runs fully within a java virtual machine (JVM). Java programs created by PDI are 100% zAAP eligible. Contents ABSTRACT ........................................................................................................................................ 3 GENERAL TERMS ............................................................................................................................. 3 INTRODUCTION ............................................................................................................................... 3 BACKGROUND ................................................................................................................................. 4 Assumptions and Requirements ................................................................................................. 4 Chargeback Model .....................................................................................................................
    [Show full text]
  • Phpbb 3.3 Proteus Documentation
    phpBB 3.3 Proteus Documentation Edited by Dominik Dröscher and Graham Eames phpBB 3.3 Proteus Documentation by Dominik Dröscher and Graham Eames Copyright © 2005 phpBB Group Abstract The detailed documentation for phpBB 3.3 Proteus. Table of Contents 1. Quick Start Guide ..................................................................................................... 1 1. Requirements ..................................................................................................... 1 2. Installation ......................................................................................................... 2 2.1. Introduction ............................................................................................ 3 2.2. Requirements .......................................................................................... 3 2.3. Administrator details .............................................................................. 3 2.4. Database settings .................................................................................... 3 2.5. Configuration file ................................................................................... 5 2.6. Advanced settings .................................................................................. 5 2.7. Final Steps .............................................................................................. 5 2.8. Supporting the phpBB organization ....................................................... 6 3. General settings ................................................................................................
    [Show full text]
  • Symbols Administrators
    Index ■Symbols administrators. See also administering $access_check variable, 209 admin user (Drupal), 11–12 & (ampersand) in path aliases, 84 approving comments in WordPress, 396 <br /> (break tag), 476 auditing, 296–297 <!—more—> tag, 475–477 Advanced Editing mode (WordPress) <!—noteaser—> tag, 476 Advanced options in, 405–406, 408–409 >> (breadcrumb links), 159 previewing posts in, 409 ? (question mark) in path aliases, 84 using Custom Fields, 409 / (slash) in path aliases, 84 Advanced Mode (phpBB) announcement forum permissions in, 304 ■A group permissions in, 307 paraccess setting permission in, 303–304 accessing database abstraction layer, user permissions in, 305 335–338 Aggregator module, 61–64 Drupal rules for, 36–38 adding feeds, 63 Image Assist module settings for, 111 categorizing feeds, 64 rights for database servers, 6 function of, 61–62 site, 8–9 identifying feeds for subscription, 62 activating setting permissions, 64 group blocks, 132 viewing options for feeds, 64 IImage Browser plug-in, 410–411 aggregators, 375 RSS Link List plug-in, 424 aliased domains, 191 WP-DB Backup plug-in, 490 aliases to Drupal paths, 84–85 Admin Configuration panel (phpBB 2.0), 235, ampersand (in path aliases), 84 236–237 animation in posts, 287 administering. See also administrators; announcement forums, 247, 304 Database Administration module announcements Administer Nodes permission, 135 global, 287 administrative password for WordPress, permissions for, 270–271 389–390 removing, 315 blocks, 39–40 Anonymous User role (Drupal), 34, 35 Drupal
    [Show full text]
  • Evaluation Metric Boardsearch Metrics: Recall - C/N, Precision C/E
    Overview • Forums provide a wealth of information • Semi structured data not taken advantage of by popular search software Board Search • Despite being crawled, many An Internet Forum Index information rich posts are lost in low page rank Forum Examples vBulletin •vBulletin • phpBB •UBB • Invision •YaBB • Phorum • WWWBoard phpBB UBB 1 gentoo evolutionM bayareaprelude warcraft Paw talk Current Solutions • Search engines • Forum’s internal search 2 Google lycos internal boardsearch Evaluation Metric boardsearch Metrics: Recall - C/N, Precision C/E Rival system: • Rival system is the search engine / forum internal search combination • Rival system lacks precision Evaluations: • How good our system is at finding forums • How good our system is at finding relevant posts/threads Problems: • Relevance is in the eye of the beholder • How many correct extractions exist? 3 Implementation • Lucene Improving Software Package • Mysql • Ted Grenager’s Crawler Source Search Quality • Jakarta HTTPClient Dan Fingal and Jamie Nicolson The Problem Sourceforge.org • Search engines for softare packages typically perform poorly • Tend to search project name an blurb only • For example… Gentoo.org Freshmeat.net 4 How can we improve this? Better Sources of Information • Better keyword matching • Every package is associated with a • Better ranking of the results website that contains much more detailed • Better source of information about the information about it package • Spidering these sites should give us a • Pulling in nearest neighbors of top richer representation
    [Show full text]
  • Design and Implementation of a Gis-Enabled Online Discussion Forum for Participatory Planning
    DESIGN AND IMPLEMENTATION OF A GIS-ENABLED ONLINE DISCUSSION FORUM FOR PARTICIPATORY PLANNING MAN YEE (TERESA) TANG September 2006 TECHNICAL REREPORTPORT NO. 244217 DESIGN AND IMPLEMENTATION OF A GIS- ENABLED ONLINE DISCUSSION FORUM FOR PARTICIPATORY PLANNING Man Yee (Teresa) Tang Department of Geodesy and Geomatics Engineering University of New Brunswick P.O. Box 4400 Fredericton, N.B. Canada E3B 5A3 September 2006 © Man Yee (Teresa) Tang 2006 PREFACE This technical report is a reproduction of a thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Engineering in the Department of Geodesy and Geomatics Engineering, September 2006. The research was co-supervised by Dr. Y. C. Lee and Dr. David Coleman, and support was provided by the Natural Sciences and Engineering Research Council of Canada. As with any copyrighted material, permission to reprint or quote extensively from this report must be received from the author. The citation to this work should appear as follows: Tang, Man Yee (Teresa) (2006). Design and Implementation of a GIS-Enabled Online Discussion Forum for Participatory Planning. M.Sc.E. thesis, Department of Geodesy and Geomatics Engineering Technical Report No. 244, University of New Brunswick, Fredericton, New Brunswick, Canada, 151 pp. ABSTRACT Public participation is a process whose ultimate goal is to facilitate consensus building. To achieve this goal, there must be intensive communication and discussion among the participants who must have access to information about the matters being addressed. Recent efforts in Public Participation Geographic Information Systems (PPGIS), however, concentrate mainly on making GIS and other spatial decision-making tools available and accessible to the general public.
    [Show full text]
  • Chapter 6 Reports Copyright
    Base Handbook Chapter 6 Reports Copyright This document is Copyright © 2013 by its contributors as listed below. You may distribute it and/or modify it under the terms of either the GNU General Public License (http://www.gnu.org/licenses/gpl.html), version 3 or later, or the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0/), version 3.0 or later. All trademarks within this guide belong to their legitimate owners. Contributors Robert Großkopf Jost Lange Jochen Schiffers Hazel Russman Jean Hollis Weber Feedback Please direct any comments or suggestions about this document to: [email protected]. Caution Everything you send to a mailing list, including your email address and any other personal information that is in the mail, is publicly archived and can not be deleted. Acknowledgments This chapter is based on an original German document and was translated by Hazel Russman. Publication date and software version Published 22 April 2013. Based on LibreOffice 3.5. Note for Mac users Some keystrokes and menu items are different on a Mac from those used in Windows and Linux. The table below gives some common substitutions for the instructions in this chapter. For a more detailed list, see the application Help. Windows or Linux Mac equivalent Effect Tools > Options menu LibreOffice > Preferences Access setup options selection Right-click Control+click Opens a context menu Ctrl (Control) z (Command) Used with other keys F5 Shift+z+F5 Opens the Navigator F11 z+T Opens the Styles and Formatting window Documentation for LibreOffice is available at http://www.libreoffice.org/get-help/documentation Contents Copyright ...........................................................................................................................
    [Show full text]