Google Season of Docs 2023
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
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
|
June | * Finish 30% of the proposed content
|
July | * Finish 50% of the proposed content
|
August | * Finish 70% of the proposed content
|
September | * Finish 90% of the proposed content
|
October | * Finish the entire guide
|
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
Dates | Action Items |
---|---|
May |
|
June |
|
July |
|
August |
|
September |
|
October |
|
Budget
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:
- E-Learning Calc : https://wiki.documentfoundation.org/Documentation/GSoDOC/2020#LibreOffice_E-Learning_Calc
- Transposition of the LibreOffice Calc Guide (Spreadsheet) into online learning class
- Improvements in video sketches in the lessons
- Calc Function Reference: https://wiki.documentfoundation.org/Documentation/GSoDOC/2020#Calc_Functions_Reference_and_User_Guide
- Created a full set of wiki pages with extended information on the Calc Functions (spreadsheet functions)
- Added examples and use cases of the functions
- Fixed documentation issues not detected in the current LibreOffice Help pages
- Served as reference for improvements of LibreOffice Help pages
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:
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
- LibreOffice guides as of https://books.libreoffice.org
- LibreOffice Help
- LibreOffice wiki
- others documents with proper reuse licensing.
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 |