Google Season of Docs 2023

    From The Document Foundation Wiki

    About LibreOffice and The Document Foundation

    LibreOffice is a powerful and free office suite, a successor to OpenOffice(.org), used by millions of people around the world. Its clean interface and feature-rich tools help you unleash your creativity and enhance your productivity. LibreOffice includes several applications that make it the most versatile Free and Open Source office suite on the market: Writer (word processing), Calc (spreadsheets), Impress (presentations), Draw (vector graphics and flowcharts), Base (databases), and Math (formula editing).

    Ideas for Documentation technical writing

    Project1: Create the LibreOffice Scripting Guide

    Objective

    The objective of this project is to write the “LibreOffice Scripting Guide”, which will consist of a book about scripting in LibreOffice using the two most popular languages: Basic and Python. The book will provide an overview of how users can create scripts for automating tasks in text documents, spreadsheets and presentations. It will also cover aspects such as how to create and deploy extensions, as well as introduce the ScriptForge library that is currently documented in the online help.

    The Problem

    Currently the online LibreOffice help provides a comprehensive description of all methods and functions available for scripting. However there are no guides that provide a more in-depth and integrated view of how scripting can be done in LibreOffice. For instance, we still lack good documentation on creating extensions, dialogs, listeners, as well as how to create Python scripts.

    Moreover, since LibreOffice 7.0 the ScriptForge library has been in development to make scripting easier and more accessible. Although help pages about all its methods have been written, we still do not have a guide that provides information of how this library integrates with other aspects of scripting in LibreOffice, as well as more detailed and advanced examples of what can be achieve with Basic and Python scripts.

    In summary, the existing documentation on LibreOffice scripting is scattered through various sources, such as the online help, user forums (such as Ask LibreOffice), and simple tutorials created by users. However, there’s currently no unified guide that can serve as an introduction for those interested in getting started with scripting in LibreOffice.

    The Scope

    The proposed “LibreOffice Scripting Guide” aims to provided an integrated view on scripting in LibreOffice with examples using Basic and Python. The guide will cover the following topics:* Overview of scripting capabilities: provide the reader with a broad view of all scripting capabilities available in LibreOffice (Basic, Python and ScriptForge);

    • General scripting: automating general tasks using macros (f.i. creating, loading, saving and exporting documents);
    • Scripting in Text documents: an overview of common automation tasks in text documents, with examples in Basic and Python;
    • Scripting in spreadsheets: discuss how scripts can be developed for Calc spreadsheets, with examples in Basic and Python;
    • Scripting in presentations: provide an overview of automation tasks in Impress, with examples in Basic and Python;
    • Creating dialogs: describe how dialogs can be created and manipulated in simple and complex scenarios;
    • Extensions: provide instructions on how to create, package and distribute LibreOffice extensions.
    Expected Results

    The “LibreOffice Scripting Guide” seeks to be the starting guide for users interested in learning how to create scripts and automate tasks in LibreOffice using both Basic and Python.

    Measuring Results

    The proposed metrics to measure this project’s results are:

    • Completion of the topics proposed in the project’s scope
    • Creation of examples in Basic and Python for all topics
    Timeline
    Dates Action Items
    May * Creation of the guide template
    • Definition of chapter names and contents, in accordance with the planned topics
    • Finish 10% of the proposed content
    June * Finish 30% of the proposed content
    • Review text
    July * Finish 50% of the proposed content
    • Review text
    August * Finish 70% of the proposed content
    • Review text
    September * Finish 90% of the proposed content
    • Review text
    October * Finish the entire guide
    • Review text and formatting
    • Wrap up
    Budget
    Budget Item Amount Notes
    Technical writer to create the LibreOffice Scripting Guide USD 6,000 Estimated USD 1,000 per month.
    2 Mentor Stipends USD 1,000 Estimated USD 500 for two months.
    Travel & Lodging USD 2,000 Project presentation in LibreOffice Conference 2023
    Grand Total USD 9,000
    Skills

    Required skills are:

    • Advanced knowledge in LibreOffice scripting
    • Intermediate knowledge in Basic and Python

    Project 2: Illustrate API Documentation with examples

    Objective:

    Add examples (code snippets) in API pages (idl files).

    The Problem:

    The LibreOffice API is extracted from the source code (Doxygen) and is shallow in terms of examples for the occasional script programmer. Furthermore, for the occasional script writer, the complexity of the LibreOffice API is daunting at best. The reason is in great part as consequence of the C++ object oriented programming, which is suited for the professional developer rather than the occasional macro writer, looking to solve a spreadsheet or text document handling.

    We envision that with a medium to complete set of code snippets, we will address the need of the macro programmer with a quick way to use the API in the right way and with much less trial and error coding.

    The Scope

    The scope of the project is the LibreOffice API illustration by examples.

    • Understand the API documentation tools generator (Doxygen)
    • Address a set of API objects, properties, constants, methods and services and supply code fragments showing how to use it. Code snippets must be commented.
    • Work with the LibreOffice script community on the subject
    • Be part of the scripting documentation team, in producing scripting documentation for the end user.
    Results expected:

    Better illustration of API usage, turning API pages more user-friendly for the occasional macro programmer either in Python or Basic.

    Measuring Results
    • An initial set of API entries to be addressed will be defined.
    • The measurement of the progress will done by reading the % of the accomplished tasks with respect of the initial set.
    • All results will be visible in the source code of LibreOffice, immediately
    Timeline
    Proposed Timeline
    Dates Action Items
    May
    • Set up of LibreOffice build environment
    • Get familiar with Doxygen tool, explore possibilities
    • Configure Doxygen for improvements, if necessary
    • Get ready to run a build and test LibreOffice
    June
    • Add examples to 20% of the API
    • commit to the code
    July
    • Add examples to 40% of the API
    • commit to the code
    August
    • Add examples to 60% of the API
    • commit to the code
    September
    • Add examples to 80% of the API
    • commit to the code
    October
    • Add examples to 100% of the API
    • commit to the code
    • Wrap up
    Budget
    Budget Proposal
    Budget Item Amount Running Total Notes/Justifications
    Technical writer to publish code documentation of the LibreOffice API 6000 6000 Estimated 1000 per month
    2 Mentor Stipends 500 7000
    5 t-shirts + S&H 100 7100
    Travel & Lodging 1500 8600 Project presentation in LibreOffice Conference 2023
    Additional Information

    LibreOffice participated in Google Seasons of Doc in 2019 and 2020 and it's mentors are fully qualified to provide guidance for the technical writer. LibreOffice also participates actively in the Google Summer of Code since 2011.

    In 2019 we produced a guide for LibreOffice Online available at https://nextcloud.documentfoundation.org/s/gRSwD4E7bSCe4w8.

    Our mentoring consisted on the following actions

    • Established a weekly online meeting for project follow-up
    • Provided all infrastructure and access to the relevant information for the technical writer
    • Advise on important topics of the contents.
    • Advise on writing style and docuement formatting for the final product

    In 2020 we conducted 2 projects:

    The experience in the previous Seasons is key to correctly manage and produce the necessary documentation of the LibreOffice API, a much needed documentation for turn the use of the API more accessible to the end user.

    Example of code fragment to create for documentation:

    https://gerrit.libreoffice.org/c/core/+/123868

    From LibreOffice 7.3 on:

    https://api.libreoffice.org/docs/idl/ref/interfacecom_1_1sun_1_1star_1_1frame_1_1XInfobarProvider.html

    Notes:
    • No need for translation
    • files to edit are in offapi/ module
    • build and test is done in odk/ module
    Skills:
    • Programming 101,
    • Build LibreOffice
    • Gerrit use

    Project 3: End User Exercise Book or Website

    Provide a set of exercises for the existing user guides, providing contents for exams, source for tutorials, use cases.

    The problem

    LibreOffice has extraordinary capabilities to edit and manage documents, spreadsheets, presentations and more. The community has already a set of Guides for the end user.

    But we miss another set of books and contents containing exercises, quiz and other use cases to let the reader solve in exams or certifications.

    The project also fulfill the need for the LibreOffice software to increase its user base and decrease the entry barrier for the suite.

    Measuring Project Success
    • Create the exercise curriculum for each module of the LibreOffice suite
    • Create the exercises and quiz, provide one or more solution for each challenge.
    • Weekly meetings for project management.
    • Upload and deploy the exercises in moodle.libreoffice.org
    Recommended skills
    • Excellent writing skills and mastering of the English language
    • Proven experience in creating e-learning classes
    • Previous experience in using Moodle software.
    • Ability to create multimedia pieces to support the solutions of the exercises, when applicable
    • Knowledge in office suite, in all modules
    • Ability to clearly communicate with the community and follow advise from mentors and other skilled advisors.
    Source of information
    Budget
    Budget
    Budget items Amount Note Total
    Technical Writer USD 4,500.00 15 hours/week at USD 25.00 USD 4,500.00
    Stipend for mentor USD 500.00 1 mentor (from community) USD 500.00
    10 Logo T-Shirts with shipping USD 300.00 USD 300.00
    Total 5,300.00