On 29 December 2011 17:30, Alex Fiestas <afies...@kde.org> wrote: > Hi there > > For those who don't know me my name is Alex Fiestas (afiestas), I have been > KDE developer for 2/3 years and so far I have work on BlueDevil (Bluetooth), > Kamoso (video), libsolid and I'm currently the manager of the Solid > community. > > I have been asked to develop a small server which will convert the most > popular documents into pixmaps so they can be rendered quickly anywhere, I'm > going to start the basic structure today but before I start with the > document processing I'd like to ask you for advice :p > > This is more or less what I know and what I have thought: > > Requirements: > The server must be as fast as possible and reliable, so we must be prepare > to handle crashes. The resulted document should be something standard such > PNG or JPG. > > Faster way I saw: > I have done some PoC using calligraconverter as base, the faster way I found > without messing too much with Calligra internals is to use the private > classes from each Calligra app to get the QWidget that will end rendering > the page or the document, and then use QWidget::render to paint everything > into a QPixmap. > > I know that with this method I'm messing with internal parts of Calligra on > where API or ABI is not guaranteed but if there is no other way of doing > this that's a price I'm ok to pay. > > Finally, since I'm using private classes from each app, I'm going to use a > plug-in system. > > Problems: > Since I'm using private API which is not exported I'm forced to clone the > whole project, so atm what I'm going to do is to put the code into > tools/atopixmap and split the project into: > > atopixmap: binary which will transform * to pixmap > atopixmapserver: small server that will fork for each request and will > handle crashes, limits etc > > Once the project is finished, I'd like to merge it back to calligra but that > depends on you, not sure what is the policy on using private api.
Nice project :) If you plan to contribute back, the target would be the KoAbstraction library: http://community.kde.org/Calligra/Libs/KoAbstraction -- regards / pozdrawiam, Jaroslaw Staniek http://www.linkedin.com/in/jstaniek Kexi & Calligra (kexi-project.org, identi.ca/kexi, calligra-suite.org) KDE Software Development Platform on MS Windows (windows.kde.org) _______________________________________________ calligra-devel mailing list calligra-devel@kde.org https://mail.kde.org/mailman/listinfo/calligra-devel