Google Summer of Code 2017 - Some help needed
Till Kamppeter
till.kamppeter at gmail.com
Fri Apr 28 15:58:20 UTC 2017
On 04/28/2017 05:59 AM, Caolán McNamara wrote:
> The main question for me is what format/mechanism is provided by the
> user of the backend as the print transport format/mechanism, e.g. if
> it's simply (like cups) "give me the pdf to print" then it's relatively
> easy. If it's (like GtkPrintOperation) "here's a cairo context, render
> onto it what you want printed", then its not easy.
>
The backends simply need the PDF to be printed and the key/value-pair
list of the option settings, nothing more. So integration should be easy.
>> - Would it be a good idea to modify the inner workings (not the GUI)
>> of the LibreOffice print dialog to talk to the printing
>> system(s)/printer(s) through a modular backend so that easily new
>> print technologies can be added or changes for the existing ones
>> being supplied?
>
> Assuming that we can just supply a final pdf to the print backend then
> this sounds sensible to me. Relatively not difficult to add new
> parallel support for retrieving printer lists and printer info and
> sending print jobs alongside our existing ones.
>
So as the backends will simply take the job in PDF and spreadsheet
printing support is too complex to get into external print dialogs, let
us go the way of making LO's original print dialog ready for the backends.
The dialog will have to look up the available backends and then do
1. On each dialog call the function to list the available printers, then
show the list of all printers found via ll backends.
2. If the user chooses a printer to display its options (or get any
detailed properties of it) call the function to query properties and
options of the backend the printer comes from.
3. If the user sends off the job for printing, call the send-job
function of the backend the printer comes from. Supply the print job in
PDF and the option settings as key/value pairs.
4. If LO provides some kind of job monitoring, use the backend's list
jobs functions (does LO do a thing like that?)
What I need from you is help in mentoring the student or even someone
fully mentoring the student (this would be the best). Google says that
mentoring a student will take around 5 hours/week.
I also need help where to find the relevant code to modify (ideally so
that it can make it into Ubuntu 17.10 with Feature Freeze mid-August),
how to most efficiently test-build (not needing to build the whole LO
after each little change), coding policy guidelines, how to provide
patches for upstream inclusion, ...
Till
More information about the LibreOffice
mailing list