Tender to implement C++ accessibility tests (#202110-01)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to implement C++ accessibility tests.

The work has to be developed on LibreOffice master, so that it will be released in the next major version.

The current accessibility tests are rather incomplete and hard to maintain. Additionally, they are written in Java.

The scope of this tender is to convert them into in-process cppunit-based tests and create a solid foundation in both code as well as documentation to facilitate extending the coverage both as part of this tender as well as for follow-up contributions. TDF aims to prepare a good infrastructure and documentation, so that adding further tests is much simpler in the future, even for new kinds of widgets, up to a point where they could be implemented as part of our EasyHacks. The implementation therefore has to be solid and thorough to support future test cases easily.

We recommend the following steps to approach the tender deliverable:

  • assessing the technical requirements (both using the existing tests to convert, plus the various requirements of a11y in general)
  • assessing the current status
  • designing and creating the new required interfaces, or adapting or augmenting existing ones
  • creating helpers to ease writing tests
  • writing some tests to both serve as examples and proof of concept (at least a couple for each key aspect of testing, but exercising the infrastructure to validate it is key to having something that has a chance of withstanding the test of time)
  • extensive documentation on all those, plus how to write tests and such
  • peer review

Therefore, this tender should provide the infrastructure to:

  • Test the interfaces (AT-SPI, UIA, MSAA, etc.) allowing accessibility tools (ATs) such as e.g. screen readers, magnifier glasses, etc. to access the information required to perform their tasks. This requires testing the LibreOffice implementation of the AT interfaces themselves to catch issues at the outer edge. It is crucial because even if all is well working inside LibreOffice itself, but the information is not properly sent to the platform, it still won’t work for users. Also, it probably has to be done for each platform separately (Desktop Linux (AT-SPI2), Windows (UIA, MSAA), macOS etc.) as their APIs are different, even if often similar, and have separate modules in LibreOffice.
  • Test that there is enough information sent through those interfaces and that it is accurate and usable. This could rely on internal unified interfaces to fetch information and interact with the UI, but there still is a fair bit of diversity on what needs to be tested.
  • Test that functionalities are usable with different type of input (e.g. work with the keyboard, as it’s the most common offender). Also this could rely on internal unified interfaces to fetch information and interact with the UI, but there still is a fair bit of diversity on what needs to be tested.

A key item of the deliverables for this tender is the extensive documentation (in addition to the source-code documentation) that will allow to both maintain the converted tests as well as create additional tests. The documentation shall include (but is not limited to) common pitfalls with accessibility related tests (like timeouts/waiting for events/deal with load dependent/parallelism differences) and how to deal with them. The documentation could walk the developer through the process behind the creation of newly created tests, showcasing both the obvious and not-so-obvious hurdles with that specific tests/a11y related tests in general and how they were dealt with. Aiming for an extendable framework, this likely requires creating new interfaces for missing functionality for reuse in tests.

We expect bidders to provide information on both the code and the non-code parts of this tender, e.g. methodology, structure and technical aspects. The Document Foundation will publish this under a free and open source license and make it available to the general public.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 30 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications for one or more of the aforementioned tasks, your financial expectations and the earliest date of your availability, via e-mail to a committee at tender20211001@documentfoundation.org no later than November 26, 2021.

Applicants who have not received feedback by December 23, 2021 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until November 19, 2021. Questions and answers will be made public in a collected and anonymized form.

Tender to implement support for editing and creation of a Dynamic Diagram feature (#202108-02)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to implement support for editing and creation of Dynamic Diagrams.

The work has to be developed on LibreOffice master, so that it will be released in the next major version.

The task is to solve the following problem: Our existing “SmartArt” import uses the fallback stream in OOX files (and has some issues). It therefore gives us only the draw shapes that are imported, so we lose the original layout. Additionally, in older file versions we don’t have the cached shapes, and therefore can’t render anything.

The solution we seek, and as such the scope of this tender, is to have a schema driven diagram layout as a core feature. This should be interoperable with OOX (at least MSO2016) and have suitable extensions for ODF. It should layout interoperability, and allow editing of the underlying data, and selection of a schema.

The tender consists of the packages

A) Import and export in ODF and OOXML

  • load/save diagram data (layout and data model)
  • show the diagram in a cross-platform and pixel-perfect way
  • this should solve the issues from tdf#106547
  • provide automated test for the diagram layout mechanism

B) Creation of new diagrams within all modules, at least Writer and Draw/Impress

    • the solution should provide a couple of exemplary layouts such as a hierarchy with rectangle for organizational charts, for example, and linear as well circular arrangements of shapes to illustrate processes
    • values should be entered by the user with a floating widget presenting a bullet list that describes the hierarchical position

  • consider accessibility at all UI parts

C) Modification of existing diagrams

  • It must be possible to modify the data model later and add or delete content to the diagram; ideally, the floating input widget opens when the diagram is selected

D) Sharing of diagram layouts via extensions

  • Diagrams are generated from complex XML layouts, which should be provided and shared by the community

E) Document the Dynamic Diagram feature

and optionally

F) Provision of an interactive diagram layout tool

  • In coordination with the UX/design team an user interface should be implemented that simplifies creation of XML layouts

The following two bugs are amongst the relevant ones for this tender:

Support for Editing and Creation of SmartArt: https://bugs.documentfoundation.org/show_bug.cgi?id=37932

Auto-Layout for flowcharts and automatic flowcharts from Calc / Excel: https://bugs.documentfoundation.org/show_bug.cgi?id=92902

Further information can also be found in these two blogposts:

Note: There was recent effort on the layouting side. While this is better than 2-3 years ago, it still requires much work. Especially the editing functionality is just a proof of concept.

All technology standards of relevance, as well as their targeted versions for this tender should be declared or defined in the offer’s description of implementation (e.g. name and version of the cryptographic API on the respective operating systems).

A key item of the deliverables for this tender, and therefore also a decision criteria – besides qualification, references, price, and completeness of fulfilment – is extensive documentation about the approach chosen to implement the above items, covering more than just the pure implementation. We expect bidders to provide documentation on both the code and the non-code parts of this tender, e.g. methodology, structure and technical aspects. The Document Foundation will publish this under a free and open source license and make it available to the general public. Another criteria for the evaluation of the bids will be the description of the required test activities and the delivery of (automated) tests supporting work items for the described tender implementation or feature specification.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before. For such developers, who have not yet been part of a successful tender bid, we aim on a best-effort basis, but without any guarantees whatsoever, to provide some mentoring in understanding the code base and the process in contributing to the code. We expect that time and efforts on the bidder’s side should not be part of the paid work for this tender. Please mention such need of LibreOffice development mentoring in your offer.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 16 weeks of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications for one or more of the aforementioned tasks, your financial expectations and the earliest date of your availability, via e-mail to a committee at tender20210802@documentfoundation.org no later than September 20, 2021.

Applicants who have not received feedback by October 18, 2021 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until September 6, 2021. Questions and answers will be made public in a collected and anonymized form.

 

Tender to implement autoupdater (#202108-01)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to implement an autoupdater for LibreOffice.

Currently, LibreOffice can notify the user about a new version, but download and installation require manual action by the user, it is not automated. With plans of a “rolling release” model, that results in more frequent updates, e.g. biweekly or monthly, we want to improve this system.

Mandatory requirements

  • The solution has to work on all currently LibreOffice-supported Windows, Linux and macOS versions.
  • The implemented solution should not break the MSI-based LibreOffice installation set.
  • The implemented solution cannot solely rely on app stores autoupdaters, as The Document Foundation does not provide binaries in app stores currently.
  • The work has to be developed on LibreOffice master, so that it will be released in the next major version.
  • The implementation has to be provided with extensive documentation, about the approach chosen to implement the above items. We expect bidders to provide documentation on both the code and the non-code parts of the implementation, e.g. methodology, structure and technical aspects.

Optional items

The proposed solution might include some of the items of the following list, which is neither complete nor exhaustive, and is presented as a set of examples. These items are not mandatory to the completion of the tender, but might favor the granting of the tender in case of ex aequos, after checking that mandatory requirements are fulfilled:

  • Achieve partial and/or delta downloads: in order to optimize the bandwidth of the users, the implementation might proceed with the sole download of the whole changed files (partial downloads) or chunks of changed files or the whole package (delta downloads).
  • The implementation might keep track of other languages than English that the user might have installed and currently uses, and implement the download of the respective updated language packs, as well as of eventual offline help packages.
  • The implementation might verify the compatibility and/or update any extensions the user might have installed and currently uses.
  • The implementation is ready for the integration with the app stores’ installers/updaters.

Additional considerations

The choice of technology or technologies used is up to the bidders. Some of the available options, with none of them being a sole strict requirement, are the following:

The idea behind this tender is described in the following required tickets, whereas the implementation we seek for does not mandate a specific technology to be used, even if the tickets suggest otherwise:

The Document Foundation will publish the related documentation under a free and open source license and make it available to the general public.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work on the program code must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 60 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications for one or more of the aforementioned tasks, your financial expectations and the earliest date of your availability, via e-mail to a committee at tender20210801@documentfoundation.org no later than September 20, 2021.

Applicants who have not received feedback by October 18, 2021 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until September 6, 2021. Questions and answers will be made public in a collected and anonymized form.

Tender to implement master document fixes (#202106-02)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to implement master document fixes.

The documentation team regularly publishes guides and books. The underlying workflow requires to fix bugs and issues with the master document feature of Writer.

The scope of this tender is to fix at least the following issues:

  1. ToC is never shown in Master Document if it is in ODT in a section with a hide condition
    https://bugs.documentfoundation.org/show_bug.cgi?id=103612
  2. Exported PDF of master document with hidden sections containing headings shows headings anyway
    https://bugs.documentfoundation.org/show_bug.cgi?id=142129
  3. Creating master document from *.odt breaks cross-references
    https://bugs.documentfoundation.org/show_bug.cgi?id=128106
  4. TRACK CHANGES: linked files changes are not shown in the master document
    https://bugs.documentfoundation.org/show_bug.cgi?id=121166

The work has to be developed on LibreOffice master, so that it will be released in the next major version.

The bugs must be fixed and verified.

All technology standards of relevance, as well as their targeted versions for this tender should be declared or defined in the offer’s description of implementation.

A key item of the deliverables for this tender and therefore also a decision criteria – besides qualification, references, price, and completeness of fullfilment – is extensive is documentation about the approach chosen to implement or fix the above items. We expect bidders to provide documentation on both the code and the non-code parts of this tender, e.g. methodology, structure and technical aspects. The Document Foundation will publish this under a free and open source license and make it available to the general public. Publications will be in the Help system and in the Guides books.

If the bug fix incurs in a change in the user interface or user procedure, it should also contain the necessary instructions to activate the procedure.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work on the program code must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before. For such developers, who have not yet been part of a successful tender bid, we aim on a best-effort basis, but without any guarantees whatsoever, to provide some mentoring in understanding the code base and the process in contributing to the code. We expect that time and efforts on the bidder’s side for this should not be part of the paid work for this tender. Please mention such need of LibreOffice development mentoring in your offer.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 5 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications for the aforementioned tasks, your offer in form of a fixed-time, fixed-budget approach, and the duration period for the implementation in calendar weeks after the final awarding of the tender, via e-mail to a committee at tender20210602@documentfoundation.org no later than July 5, 2021.

Applicants who have not received feedback by August 2, 2021 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until June 23, 2021. Questions and answers will be made public in a collected and anonymized form.

Tender to implement automated ODF filter regression testing (#202106-01)

The Document Foundation (TDF) is the charitable entity behind the world’s leading free/libre open source (FLOSS) office suite LibreOffice.

We are looking for an individual or company to implement automated ODF filter regression testing.

The default file format of LibreOffice is ODF, the Open Document Format. From time to time, there are regression bugs reported towards these filters, that involve loss of data. The respective unit tests do not provide sufficient coverage to prevent these regressions to happen.

The scope of this tender is:

  1. To implement an early warning system for such problems, to avoid them in the future and improve the overall quality of the software. As a recommended approach, we propose to use the ODFunDiff tool (https://git.libreoffice.org/odfundiff), which was developed specifically with the relevant functional and performance requirements in mind. Initial development of this tool was targetted towards LibreOffice 5.2/5.3, so updates to the code are likely necessary. Also, it may be necessary to fix some hypothetical additional non-determinism in LibreOffice, which was introduced in version 5.3
  2. Extend the crashtest report scripts (e.g. this one) with an additional report about ODF differences, which were detected during the 27,000 ODF roundtrips. This test should use last run’s ODF files as reference to compare against
  3. Raise and mention potential resource problems (like disk space) with existing infrastructure, e.g. the “crashtesting” virtual machine

Further information can be found in this presentation from a past LibreOffice Conference.

All technology standards of relevance, as well as their targeted versions for this tender should be declared or defined in the offer’s description of implementation.

A key item of the deliverables for this tender, and therefore also a decision criteria – besides qualification, references, price, and completeness of fulfilment – is extensive documentation about the approach chosen to implement the above items, covering more than just the pure implementation. We expect bidders to provide documentation on both the code and the non-code parts of this tender, e.g. methodology, structure and technical aspects. The Document Foundation will publish this under a free and open source license and make it available to the general public.

Required skills

  • Extensive knowledge of C++
  • Experience working on the LibreOffice source code

Other skills

  • English (conversationally fluent in order to coordinate and plan with members of TDF)

We use free, libre and open source (FLOSS) software for development wherever possible, and the resulting work must be licensed under the Mozilla Public License v2.0.

TDF welcomes applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Bidders will get a preference for including a partner or independent developer who has not been involved in a successful tender before. For such developers, who have not yet been part of a successful tender bid, we aim on a best-effort basis, but without any guarantees whatsoever, to provide some mentoring in understanding the code base and the process in contributing to the code. We expect that time and efforts on the bidder’s side should not be part of the paid work for this tender. Please mention such need of LibreOffice development mentoring in your offer.

As always, TDF will give some preference to individuals who have previously shown a commitment to TDF, including but not limited to certified developers and/or members of TDF. Not being a member, or never having contributed before, does not exclude any applicants from consideration.

The task offered is a project-based one-off, with no immediate plans to a mid- or long-term contractual relationship. It is offered on a freelance, project basis. Individuals and companies applying can be located anywhere in the world.

When budgeting, we anticipated that this project (all items combined) to take in the region of 15 days of work. Should bidders’ assessment result in a significantly different number, please reach out to us before sending your bid, so we can clarify upfront.

TDF is looking forward to receiving your applications, your financial expectations offer in form of a fixed time fixed budget approach and the duration period for the implementation in calender weeks after the final reward of the tender, via e-mail to a committee at tender20210601@documentfoundation.org no later than June 30, 2021.

Applicants who have not received feedback by July 28, 2021 should consider that their application, after careful review, was not accepted.

All bidders are invited to ask their questions on this tender until June 23, 2021. Questions and answers will be made public in a collected and anonymized form.