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
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.
- Extensive knowledge of C++
- Experience working on the LibreOffice source code
- 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 email@example.com 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.