Neooffice/j: Openoffice Wrapped In Java For Mac
The new year at The Document Foundation starts with FOSDEM, where many LibreOffice contributors gather for the largest Free and Open Source Software (FOSS) meeting in Europe. In 2018 we had a booth in the main hall of building K, where most of the largest projects are based, and a devroom focused on OpenDocument Format (ODF) editing software. The marketing team at TDF was in charge of the booth and the devroom, and also of logistics for the internal meetings and the hackfest organized at ICAB just after FOSDEM. I also helped to cook some real Italian pasta for the social dinner on Saturday, where the community gathered together with some friends. Just before FOSDEM, we announced LibreOffice 6.0. We coordinated the announcement, drafting the documents for the press kit and organizing several pre briefings with journalists. As usual, thanks to the efforts of localization volunteers we were able to distribute the press release in some local languages.
We then followed up with announcements of minor releases, with a reduced emphasis in comparison with the major announcement. After FOSDEM, we started working on TDF’s Annual Report, drafting most of the content and illustrations, and collecting images from community events for the final version. We have managed the final layout, using only free software (LibreOffice for drafting text and drawings, GIMP for tweaking images, and Scribus for creating the final layout, using the free fonts Carlito and Caladea). After releasing the Annual Report, we started to concentrate on the next major announcement, preparing journalist mailing lists. We have a large number of contacts in media outlets around the world, which we have to update regularly. Mailing lists are key to maintaining regular contacts with journalists. Of course, relationships must be nurtured over time, and the fact that we have always been proactive and responsive has increased our reputation.
We have always replied to requests in due time, and pitched new article ideas as often as possible. We also increased TDF and LibreOffice presence on social media, by increasing the number of tweets and posts.
This will further grow in the next few months, as an increasing number of journalists are shifting to social media as the main source of information for news stories. In early August we announced LibreOffice 6.1, with a test of the increased Twitter activity, based on a policy document that we drafted and shared with community members. We duplicated step-by-step most of the activities from the previous announcement, but we managed to organize a smaller number of pre-briefings.
In addition to these “major” marketing activities, we also managed several background tasks which are useful to keep TDF engine in good shape. The first is keeping track of donations, which provide the economic resources for the project. We are closely following donation trends, and have been implementing A/B testing for the donation page. Starting from the month of November, this will include fundraising.
If we want to bring the project to the next level, we need to raise money to increase the level of support for local communities, and for marketing and education activities behind the OpenDocument Format. Last, but not least, we warmly invite community members to attend marketing calls. If the schedule is not the right one please let us know, and we will change it to suit your needs. If necessary, we can schedule two different calls to talk with people in different time zones (Asia and the Americas are hard to fit into the same time slot, but we have active community members in both continents). British IT news outlet The Register looks at the myriad of challenges Apache OpenOffice faces today. From the report: Last year Brett Porter, then chairman of the Apache Software Foundation, contemplated whether a proposed official blog post on the state of Apache OpenOffice (AOO) might discourage people from downloading the software due to lack of activity in the project.
No such post from the software's developers surfaced. The languid pace of development at AOO, though, has been an issue since 2011 after Oracle (then patron of the project) got into a fork-fight with The Document Foundation, which created LibreOffice from the OpenOffice codebase, and asked developers backing the split to resign. Back in 2015, Red Hat developer Christian Schaller called OpenOffice 'all but dead.' Assertions to that effect have continued since, alongside claims to the contrary. Almost a year ago, Jim Jagielski, a member of the Apache OpenOffice Project Management Committee, insisted things were going well and claimed there was renewed interest in the project. For all the concern about AOO, no issues have been raised recently before the Apache Foundation board to suggest ongoing difficulties.
The project is due to provide an update this month, according to a spokesperson for the foundation. This year’s LibreOffice Annual Conference has been held in Tirana, Albania on September 25 to September 28, 2018. It was organized by a group of independent volunteers from the in Tirana. I will try to give some information about my talks, and share my experience.
Talk Less, Listen More In these kind of events, I usually tend to propose multiple talks and/or workshops, trying to do as much as possible in a limited time; but since was full of interesting talks and workshops, I wanted to watch & learn more, and talk less this time.:) I have attended this year’s conference with two talks, one regular and one lightning. Talk 1: ODF and LibreOffice Adoption in Turkey: a Status Report Migration of public institutions to LibreOffice and ODF is going on in Turkey, backed by Turkish Academic Network And Information Center (TUBITAK ULAKBIM). Some ministries, public institutions and municipalities have already completed their migrations to LibreOffice and ODF.
Migrations in some institutions are in progress. And many public institutions are waiting in the line. I talked about the history, current status, problems and the future plans of Turkey’s migration to ODF, LibreOffice, GNU/Linux (particularly Pardus) and open source software in general; and tried to answer the questions of the audience. The reaction of the audience was very positive and encouraging. I got various help/support offers. We have also discussed/brainstormed on ways to ensure the success of the migrations in Turkey, during the Certification Workshop with Lothar Becker, Italo Vignoli, and the other fellow community members.
This seems like one of the upsides of having such a great community full of fantastic people.:) Talk 2 (Lightning): Customize Dialog: The Road So Far and the Next Steps In this lightning talk, I tried to give a quick status report on: What has been done/improved/fixed in the Customize dialog after GSoC 2017 until now; what is the current status, what is left to do, and the future plans. The New MC I have run for membership of the new Membership Committee of the Document Foundation, and has been elected as a deputy for the next term. It was a pleasure being introduced to the community as part of the MC.
We had a joint meeting with the Board of Directors, and also some private MC meetings. Must Do’s in Tirana and Some Tips Tirana is nice and small Balkan city.
You can go everywhere on foot or via a bike. Although there are more to do (like a walk to the mountains, or a bike tour to the north), I’ll try to give just a few tips.
Attend a Free Walking Tour In my last day in Tirana, I attended a free walking tour. It took about 2 hours, and was guided by a nice Albanian named Eri. He showed all of the significant places in the city center, and gave extensive information about these places and the history of Albania & Tirana.
The tour starts at 10am and 6am every day, and the starting point is in front of the Opera house at the Skanderbeg Square. You may give some tip at the end, but there is no pressure to do so; the guide was super polite. You can find more info on Eat Traditional Food They have delicious food, mostly meat, and they use pork extensively; but you also have a lot of other options if you are a vegan or vegetarian.
You might try Era for some traditional food in a small and calm environment. Bike Sharing There some bike sharing services in Tirana (like Mobike). You may download their app to your phone, and see/rent the nearest bike. There are separate bike lanes in the main roads.
Buy Tourist SIM If your GSM service provider also has high roaming prices like the most, then you should definitely get a tourist pack from a Vodafone store as soon as you arrive at Tirana. It costs around 10 EUR for 5GB data plan, 10 min international and plenty of domestic call minutes; and it will be valid for 2 weeks. There is a Vodafone store at the airport.
Avoid Exchange at the Airport The exchange office at the airport (in the arrival hall) has a bad rate. Try to do your EUR LEKE exchanges in one of the offices in the city center. Many stores and taxis will also accept EUR. Try Daily Tours If you are going to stay for a longer period, then you might get bored after a while. So taking some daily tours to nearby cities might be a good idea in such a case. Berat is one of the several options. This 2,413 years-old city, the pride of Albanian architecture which is under the protection of UNESCO, is located 120 km from Tirana.
Some Points of Interest. Skanderbeg Square. Opera. Clock Tower. Bunkers. Pyramid. Et’hem Bey Mosque The Language You can speak in English with the most of the younger people in Tirana.
Their language (Albanian) is called Shqip. Po means Yes, Yo means No. Overall It was a great experience overall, with many interesting and illuminating talks from different parts of the world. We have met new friends, and had a good time with the old ones also. Looking forward to the next LibOCon in Spain! Designed to run on minimal hardware, Elive is very much a passion project of its leader, Samuel F Baggen. Based on Debian, the first version took a bow in 2005.
The second stable version made an appearance in 2010 and it has been a long eight years for the third stable version to become available. The Register: Elive has an impressively low bar to entry, with hardware requirements for the distribution coming in at 256 MB RAM and a 500 MHz CPU, meaning that some very elderly silicon is theoretically going to be able to enjoy the highly polished Enlightenment desktop. 'Theoretically' because after The Register took Elive 3.0.0 out for a spin on a relatively low-powered laptop, we'd frankly baulk at running it on anything much slower than a 533MHz Core 2 with at least 512 MB RAM. However, the Enlightenment UI is undeniably an attractive desktop, particularly if a macOS-alike dock is your thing, and runs at an impressive lick even on hardware that lacks graphics acceleration. At its core, Elive is based on the Debian 8 distribution (aka Jessie), using the 3.16 kernel and version 0.17.6 of the Enlightenment X11 Window Manager. It comes replete with a full set of applications, including the ubiquitous LibreOffice and Gimp, along with a variety of productivity and entertainment tools, some of which are Elive's own. Unlike the previous version of Elive, 3.0.0 removes the requirement of donating to the project in order to install the thing locally (although Baggen was quick to tell The Reg that cost-free alternatives existed, but often with annoying processes).
This is the latest release of our powerful open-source Qt component, KD Chart, that allows you to create business charts and much more. Release Highlights.
Builds with modern Qt versions, at least up to Qt 5.10. Improves tooltip handling. Fixes horizontal bar chart. Uses @rpath for OSX dynamic libraries. Fixes build on Qt4/ARM KD Chart makes use of the Qt Model-View programming model that allows re-use of existing data models to create charts.
KD Chart is a complete implementation of the ODF (OpenDocument) Chart specification. It now includes Stock Charts, Box & Whisker Charts and the KD Gantt module for implementing ODF Gantt charts into applications. Get KD Chart KD Chart is available under both a free software license (GPL) and a commercial license.
The code is exactly the same under both licenses, so which license type you should choose depends on the project you want to use it for. The post appeared first on. Community members from five different countries had a good time, and talked about holding a LibreOffice Asia Conference in the future Event report by: Wally Lian, PR & Marketing Consultant, Software Liberty Association Taiwan This summer is hot in Taiwan, and so are the FOSS (Free and Open Source Software) communities!
From the end of July to the middle of August, there were several big FOSS events in Taiwan. The first one coming on stage was the Debian Conference, which was held in Taiwan and Asia for the first time, and lasted for two weeks. Then, this year three big Asian FOSS events of COSCUP, Gnome Asia Summit, and OpenSUSE Asia Summit decided to merge together and held an event at the National Taiwan University of Science and Technology on 11 and 12 August. Besides these global and Asian FOSS events, there were also many interesting opportunities and plans going on. One of them was: LibreOffice community members in Asia planned to have a meetup during the joint COSCUP/Gnome Asia/OpenSUSE Asia event, and discussed holding a LibreOffice Asia Conference. Before the meetup started, SLAT and A+A Space prepared a lot of food This meetup was held in the evening on 11 August in A+A space, which is a nice and friendly space for FOSS communities, also a community made up of several artists who use FOSS as their tools to create their artwork. The attendees included LibreOffice and other FOSS community members from Japan, Korea, Indonesia and Taiwan.
The organizer, Franklin Weng, the current President of Software Liberty Association Taiwan and current board member of The Document Foundation, said that this meetup was an important milestone. “Now the Taiwanese government is going on adopting the Open Document Format and related office suites. It is very important to link our government and our people with international communities.
Besides sharing our experiences of adopting ODF and using LibreOffice, we can also learn from many different countries and help each other,” said Franklin. At the meetup, Franklin introduced the 30-second animation for LibreOffice Android Viewer, which was generated by LibreOffice Taiwan and A+A Space. He explained that the original idea was to raise the awareness of visual design in FOSS communities. Then he explained the meaning and special Easter eggs hidden in the animation, and showed a “behind the scenes” documentary for it. Then, the host of A+A Space, Michael Wu, introduced the wonderful work from A+A Space, including 3D graphs, 3D models, VR work, classes in universities, and so on. During the meetup Then everyone started to share their work and experiences.
Rania Amina, who was responsible for visual design in the LibreOffice Conference Indonesia, showed his wonderful artwork to attendees. Ahmad Haris also shared his experiences holding LibreOffice Conference Indonesia, which was a huge success. Shinji Enoki shared the current status of Japanese support in LibreOffice, and many events held in Japan. Daehyun Sung introduced himself and shared some interesting things in Korea, including the system North Korea is using. Also, Bobby Tung, a senior FOSS member in Taiwan who also contributed a lot to W3C standards, shared the current status of Unicode support for CJK. Kevin Lin, a LibreOffice Migration Professional in Taiwan, showed his work on LibreOffice Online and Web form API usage.
Shelandy Ting shared his interesting artwork using Gimp. After sharing, attendees split into different groups and talked with each other. During this meetup, members from Japan and Indonesia showed interest in holding a LibreOffice Asia Conference. Besides conferences, attendees also exchanged experiences migrating to LibreOffice in organizations and public administrations. We believe that the adoption of the Open Document Format and migrations to LibreOffice will advance hugely in Asia.
The Document Foundation said on Wednesday it is releasing LibreOffice 6.1, the latest major update to its productivity suite. It is available to download for Linux, Windows, and macOS platforms. The new version offers, among other features, Colibre, a new icon theme for Windows based on Microsoft's icon design guidelines, which it says, makes the office suite visually appealing for users coming from the Microsoft environment. The Document Foundation also reworked the image handling feature on LibreOffice to make it 'significantly faster and smoother thanks to a new graphic manager and an improved image lifecycle, with some advantages also when loading documents in Microsoft proprietary formats.' Other new features and changes include: The reorganization of Draw menus with the addition of a new Page menu, for better UX consistency across the different modules. A major improvement for Base, only available in experimental mode: the old HSQLDB database engine has been deprecated, though still available, and the new Firebird database engine is now the default option (users are encouraged to migrate files using the migration assistant from HSQLDB to Firebird, or by exporting them to an external HSQLDB server). Significant improvements in all modules of LibreOffice Online, with changes to the user interface to make it more appealing and consistent with the desktop version.
An improved EPUB export filter, in terms of link, table, image, font embedding and footnote support, with more options for customizing metadata. Online Help pages have been enriched with text and example files to guide the users through features, and are now easier to localize. LibreOffice 6.1's new features have been developed by a large community of code contributors: 72% of commits are from developers employed by companies sitting in the Advisory Board like Collabora, Red Hat and CIB and by other contributors such as SIL and Pardus, and 28% are from individual volunteers.
In addition, there is a global community of individual volunteers taking care of other fundamental activities such as quality assurance, software localization, user interface design and user experience, editing of help system text and documentation, plus free software and open document standards advocacy at a local level. You can read the full changelog here.
Here's a video that walks through the new features and changes that LibreOffice is receiving with v6.1. LibreOffice Documentation Team has just released the LibreOffice 6.0 Writer Guide, with a general Introduction to LibreOffice Writer followed by the following chapters: Working with Text (basics), Working with Text (advanced), Formatting Text, Formatting Pages (basics), Formatting Pages (advanced), Print Export Email, Introduction to Styles, Working with Styles, Templates, Images & Graphics, Lists, Tables of Data, Mail Merge, TOCs Indexes Biblios, Master Documents, Fields, Forms, Spreadsheets Charts Objects, Setting Up Writer and Customizing Writer, for a total of 448 pages.
LibreOffice 6.0 Writer Guide is available from as ODT and PDF, both the complete book and individual chapters, and from as ODT of individual chapters. LibreOffice 6.0 Writer Guide is also available as a printed book from, by Friends of Open Document Inc., an Australia-based volunteer organisation with members around the world which will be using profits from the sale to benefit the LibreOffice community. I looked into a migration of the ODFAuthors site to a current Plone version with the data from the website yesterday.
It took me a lot of hours to figure out the most easy way to do this. I tried to migrate from LinguaPlone to the new multilingual Plone plug-in first, but without success. I could update the buildout inside a test environment with the new plug-in, but I wasn’t able to migrate the content to the new framework. And even I wasn’t able to get rid of LinguaPlone. I didn’t get the option to remove it. I got always a traceback and found some users that run into the same issue without a solution.
Thus I had to change my strategy. I exported the content that I need to migrate, set up a new and clean Plone 4.3.x environment and tried to updated it to the latest version of 4.3. I had to do some editing on the buildout and had to drop some Plone add-ons from the current buildout script of ODFAuthors. Once I had done this the buildout runs fine and I got a clean new Plone environment. Then I added the plug-ins plone.app.contenttypes and Products.contentmigration to the buildout script and run buildout again.
I started the Plone instance, created a new Plone site and imported the content (exported from the current ODFAuthors site). I activated the plug-in plone.app.contenttypes and run the migration scripts from Products.contentmigration. I had to migrate more than 4200 content objects and took a fair amount of time. But in the end the migration from the old Archetype content types to the new Dexterity ones was successful. The next step would be the migration of the instance from Plone 4.3.x to Plone 5.0.x or 5.1.x. If the website ODFAuthors should be improved for the future use the first step would be the change of the localization framework from the old LinguaPlone to the current plone.app.multilingual and migrate and reindex all content objects.
It’s not possible to update the site to the latest Plone without that step. I already created a Plone buildout for an upgraded ODFAuthors website that is based on version 5.1.x. This buildout is available from the Github repository of The Document Foundation: https://github.com/tdf/odfauthors.org.
As of today, June 27th, I am no longer working for IBM. Last quarter’s “resource actions” (lay-offs) hit my group and this time my number came up. It was a good run, 27 years with one company, something that is not so common today.
Fresh out of Harvard I started working at Lotus Development Corporation in Cambridge, Massachusetts, initially doing technical support, including for the Lotus 1‑2-3 C-language developer toolkit. From there I worked in support’s application development team, developing and maintaining our internal information retrieval system, a hodgepodge of a DOS user-interface, a search engine (using a Bayesian inference network) and a fax-on-demand system, all over NetBIOS. From support I transitioned over to development, to the SmartSuite team, where I first focused on Freelance Graphics, which was transitioning from C to C, Windows and OS/2, then on a set of Windows ActiveX controls called eSuite DevPack, some Java components and attempts at an office suite running on a Java-based “thin client” or network computer (eSuite Workplace.) It was a time when the thinking, at least in my little part of the world, was that the traditional desktop applications were dead, and all future work would be done in Java running on your desktop web browser. From this came the browser wars. Then, in 1995, IBM came a knocking and bought Lotus. Our focus, naturally, shifted from desktop to server-based computing, from Java applets to Java servlets.
I worked on various projects, from the K-Station Portal (based initially on Domino) to the XSLT engine to XForms to WebSphere Portal. I developed a framework for document conversions within WebSphere Portal that we called Document Conversion Services (DCS). Then, one day, I got an odd call, out of the blue, a very senior person asking whether I was familiar with the file formats from SmartSuite and Microsoft Office. Evidently, no one else in the company would admit to having that arcane knowledge. So, I was drafted onto a “special project,” with a few other talented engineers, a real fun group working on various stealthy tasks, the details of which I am still not at liberty to discuss. Somewhat overlapping the above, I worked on the things that readers of this blog will be more familiar with, the development of the (ODF) standard at OASIS and ISO, and the arguments against ISO ratification of Microsoft’s Office Open XML (OOXML) file format. This then overlapped, in part, with my work to establish the project at Apache, based on Oracle’s contribution, to get IBM Symphony contributed as well, and to bring those two efforts together.
Those years were among the most memorable of my career. I was able to work with a lot of talented and enthusiastic people, within IBM, of course, but also at other companies, with non-profits, with academia and government. I was able travel and see parts of the world I might never have otherwise seen, speak to a lot of audiences about the importance of open standards.
Neooffice/j Openoffice Wrapped In Java For Machine Learning
I even testified to a few legislative committees. My business travels took me to Brussels, Berlin, Budapest, Barcelona, Granada, London, Paris, Lyon, Rome, Orvietto, Geneva, Amsterdam, the Hague, Beijing, Seoul and Johannesburg. It was a lot of hard work, but it was meaningful. Open standards and open source matter. I have many fond memories of those years. Eventually, however, corporate interest in document editors, document standards, “social documents” and similar initiatives fizzled, and I no longer had support for remaining involved in ODF and OpenOffice. I needed to move on, to find a new gig.
I looked internally within IBM for something that would combine my hard technical skills and my soft skills, including working closely with attorneys, an ability to “meet them half way” when discussing complicated legal/technical topics. Since I’ve been an active inventor throughout my IBM career, with 54 patents to my name, and a good head for reading and analyzing patents, I spent a few years working as a patent engineer, helping to monetize IBM’s vast patent portfolio, developing technical evidence for infringement, identifying possibilities for patent licencing and assignment, etc. That’s where things stood as of today, when I handed in my badge and laptop. As for what is next, I honestly cannot yet say what “Rob 2.0” will be. I plan on taking some time to mull things over and explore my options.
One thing I do plan to do, relatively soon, is start a new blog, a fresh start, on a new path at this domain, preserving this older blog at its current (/blog) URL. Are used for many purposes, such as organising events, maintaining our infrastructure, and paying a small team to handle QA, marketing, documentation and other tasks. But donations are also used to fund tenders, whereby companies and individuals improve LibreOffice in specific areas and share knowledge with the community. One such tender was posted in May 2017: ““.
![Wrapped Wrapped](https://www.ht4u.net/images/news/ooo_mac.png)
When images are used in LibreOffice documents, the software manages them in a “life-cycle” which includes importing, displaying, modifying, exporting and more. To save memory – especially with large documents – images that are not currently on screen are sometimes moved out of memory and saved onto disk in a technique known as. The goal of the tender was to improve LibreOffice in these areas, making it more efficient at handling images and modernising the code base.
Was selected to implement the tender; the work is now complete, and it will benefit all users in the upcoming (due to be released in early August). Here are some technical notes about what was improved in the source code of LibreOffice, and what was achieved.
Problems with the image life-cycle Currently, when an image is read from a document, a is created for the image and handled over to the GraphicManager which manages the life-cycle. When this happens we usually get back the string based unique ID of the GraphicObject with which we can always get access the image by creating a new GraphicObject with the unique ID (GraphicManager will look for the image with that unique ID). Usually the unique ID is the one that is passed on between layers in LibreOffice (for example, from the ODF filter when loaded, to the model, where it is manipulated and then to the OOXML filter when saving) but the unique ID itself is just a “reference” to the image and by itself it doesn’t have any control over when the image can safely be removed and when not.
It could happen that in a certain situation we would still have the unique ID referenced somewhere in the model, but the image would already be removed. This is dangerous and needs to be changed. Usually for this kind of object we use a technique, where we pass an object around that holds a reference to the object resource. When the object is created, the reference count is increased; when destroyed, the reference count is decreased; when the reference count reaches zero, the resource object is destroyed. The solution for the life-cycle So instead of passing around a unique ID, the idea is to use the usual reference counting technique, which is normally used in this situation. The GraphicObject is mainly a wrapper around Graphic (which then holds a pixel-based image, or animated image, or possibly a vector image), and in addition it keeps additional attributes (gamma, crop, transparency etc.). It also has the implementation of swapping-in and out.
On the other hand, Graphic is properly reference-counted already (Graphic objects are reference counting the private ImpGraphic) so the solution to the life-cycle problem is that instead of GraphicObject unique ID, we would just pass along the Graphic object instead, or, which are just UNO wrappers around Graphic. Potentially we could also pass along the GraphicObject or (UNO wrapper for the GraphicObject) when we would need to take into account the graphic attributes too. This should make the life-cycle much more manageable.
GraphicObject refactoring GraphicObject and the implementation of XGraphicObject (UnoGraphicObject) and XGraphic (UnoGraphic) were located in module, which is hierarchically above. This is problematic when creating new instances like in Graphic.GetXGraphic method, which needs to bend backward to make it even work (ugly hack by sending the pointer value as URL string to GraphicProvider). The solution to this is to move all GraphicObject related things to vcl, which surprisingly didn’t cause a lot problem and once done, it looks like a much more “natural” place.
Managing memory used by images Previously, the memory managing was done on the level of GraphicObjects, where a GraphicManager and Graphic-Cache were responsible to create new instances from uniqueID and manage the memory usage that GraphicObject take. Here’s the hierarchy before refactoring: This is not possible anymore as we don’t operate with uniqueIDs anymore, but always use Graphic and XGraphic objects (in UNO), so we need to manage the creation of Graphic object or more precisely – ImpGraphic (Graphic objects are just reference-counted objects of ImpGraphic).
So to make this possible GraphicManager and GraphicCache need to be decoupled and removed from GraphicObject and a new manager needs to be introduced between Graphic and ImpGraphic, where the manager controls the creation and accounts for the memory usage: Graphic swapping and swapping strategy The new swapping strategy is relatively simple – if a lot of memory is needed by graphic objects in a certain time, we let it use it and don’t try to over-aggressively try to free it. In the past this cased swap-out and swap-in cycle that made the application completely unusable.
In the future, external hints when a certain Graphic object can be swapped out may be added, so we can perform swapping more effectively. There are also several other ideas which will increase performance and reduce memory usage that can be implemented now with the new hierarchy where most all of the swapping is contained inside the Graphic itself, but all of this is currently out of the scope of this work. In conclusion Thanks to and for their work on this.
Although the details are highly technical, the end result is a faster and more robust office suite. If you’re an end user of LibreOffice and your documents include lots of images, you will be able to enjoy the benefits of this work in future releases, starting with LibreOffice 6.1. I worked very hard on the new Plone buildout for the ODFAuthors website during the last days. I nearly finished the buildout today. I created a new policy and a theming product for the site. I added a template for the frontpage of the new website and am waiting for the input about the content, that the new frontpage should show.
I also need some suggestions on the new publication workflow of the site. The Plone workflow tool is able to run very subtle grained ones. The Plone Content Management System is also able to send automatic messages on all events like changing the workflow state.
Larger ReqIF files have the.reqifz extension, and are ZIP files containing an XML file, having the XHTML fragments. This is not relevant for this post, as Writer assumes that extracting the XHTML fragment from ReqIF is done before you load the content into Writer. XHTML always has a PNG image for the object, and optionally it has RTF as native data for the object. The RTF file is a fragment, containing just an embedded OLE1 container. The OLE1 container is just a wrapper around the real OLE2 container. The OLE2 container either has the data directly or MSO has a convention on how to include OOXML files in it (see the PPSX example above), and we handle that. Reader rootmon writes: Our thoughts/prayers are with the family and friends of long time open source writer/journalist Robin 'Roblimo' Miller who passed away this morning.
Robin 'Roblimo' Miller (born October 30, 1952) served as the Editor-in-Chief of Open Source Technology Group, the company which owned Slashdot, SourceForge.net, Freshmeat, Linux.com, NewsForge, and ThinkGeek between 2000 to 2008. Miller formerly owned Robin's Limousine, a small limo company based in Elkridge, Maryland, the origin of his online nickname.
Miller is best known for his involvement with Slashdot, where he was not only the corporate editorial overseer but also Interview Editor. As a freelancer, Miller wrote for a number of print and online publications including Time.com, Baltimore City Paper, American Medical News, Innkeeping World, Machine Design, The Baltimore Sun, and Rewired.com. Miller is the author of three books: The Online Rules of Successful Companies, Point - Click Linux!, and Point - Click OpenOffice.org, all published by Prentice Hall. His most recent ventures revolved around Internet-delivered video, including video software 'tours' and tutorials on Linux.com and his recent 'side' venture, Internet Video Promotion, Inc. Miller has been a judge for the Lulu Blooker Prize and is on the online advisory board of the Online Journalism Review of the Annenberg Center for Communication at the University of Southern California.
(Biographical Info Quoted in Part from Wikipedia) Further reading: Linux Journal: RIP Robin 'Roblimo' Miller. Remembering Miller, ZDNet journalist S. Vaughan-Nichols wrote, 'He was funny, bright, quick with a quip, caring, and wise. I, and many others who had the pleasure of knowing him, will miss him enormously.' Paul Jones, Clinical Professor at the School of Information & Library Science, and Director of ibiblio.org, wrote, 'Robin taught me many things, besides the immense gift of his friendship, including 'the way to make money on the internet is to take on more than you spend.'
Both funny and accurate in context and very much true to roblimo.' Writer and engineer Emmett Initiative said, 'He was my editor, which means he was my best friend and worst enemy. He was a kind and thoughtful man that made every writer around him at least 300% better. I already miss him.' LibreOffice Python hacking With a nice round number of 100000 (decimal 32) participants and surprisingly non-rainy and warm April weather in Hamburg, we met at very stylish offices that also generously provided us with food and beverages. Further shout-outs to TDF (and all its donors) for providing travel support for our volunteers and, equally importantly, sponsoring very own Armin Le Grand fulltime mentoring on and off site. You can find more details on contributions and work done on the event’s, and also for the simultaneous German community meetup (, ); just as much here: code-wise, we had 55 commits from hackfest participants over the weekend – 11 Zdenฤk Crhonek 9 Stephan Bergmann 5 Christian Lohmaier 5 Katarina Behrens 5 Sophia Schrรถder 4 Armin Le Grand 3 Michael Meeks 3 Tamas Bunth 3 Heiko Tietze 2 Markus Mohrhard 2 Miklos Vajna 1 Linus Behrens 1 Nithin Kumar Padavu and probably another 15 or so landing in the weeks after, but with substantial work carried out during the hackfest.
I’m really quite happy with the outcome, as well as with the number of new and old names in the above list! I’d like to highlight one particular area of work (as it’s not reflected yet in the list above i.e. No commits on master yet), namely Regina’s ongoing endeavour to improve LibreOffice ODF conformance (or alternatively the ODF specification, if instead she believes LibreOffice gets it right and the spec has it wrong). This is especially noteworthy as it’s purely volunteer work, including weekly attendance and contribution to ODF technical committee phone meetings. Regina spent the weekend poring over LibreOffice drawing subsystem minutiae with CIB’s Armin Le Grand, and in the end wrote up a plan on making the layer functionality in Draw/Impress more useful and compliant to how ODF specifies layers:.
For myself, I (almost) didn’t get any hacking done but instead spent time mentoring, getting face time with many people, providing hackers with (mostly double) espressos, and had a handful of quite excellent discussions that only tend to happen with enough of smart people in the same room:. discussed opportunities around GPG signing and encryption for the public sector with Lothar Becker. pondered the future of application development (electron vs. Browser-only vs. Native ports – and all kinds of in-betweens) with Tim, Michael, and Benjamin. got the latest news around, and from Bjรถrn Petersen.
went through a number of sticky problems TDF is facing with regard to upcoming end of May, with K-J, Uwe, Florian and Eike. BTW for the record, I consider GDPR a broadly good thing & not an undue burden, and a useful motivation also for volunteer and charity organisations to live up to some data protection ideals. And last but not least thanks to Armin, Bubli, Michael and Siegmund for being the local CIB posse on the ground for that hackfest; and of course thanks to CIB for letting us have such an outstanding – and to all volunteers donating a full weekend to LibreOffice! Here are some impressions from the event (thx to Sweetshark for sharing his pictures – that work is (C) 2018 Bjรถrn Michaelsen, as noted in the image description). GraphicObject and the implementation of XGraphicObject (UnoGraphicObject) and XGraphic (UnoGraphic) were located in module svtools, which is hierarchically above vcl. This is problematic when creating new instances like in Graphic.GetXGraphic method, which needs to bend backward to make it even work (ugly hack by sending the pointer value as URL string to GraphicProvider).
The solution to this is to move all GraphicObject related things to vcl, which surprisingly didn't cause a lot problem and once done, it looks like a much more 'natural' place. Regarding the UNO API of XGraphicObject - what is left to do here is to properly clean up the uniqueID, as it is not possible to use it anymore for anything else as a uniqueID (used only in filters for the image names, if the name is not yet known).
Managing memory used by images. Previously the memory managing was done on the level of GraphicObjects, where a GraphicManager and GraphicCache (see figure 1) were responsible to create new instances from uniqueID and manage the memory usage that GraphicObject take. This is not possible anymore as we don't operate with uniqueIDs anymore, but always use Graphic and XGraphic objects (in UNO), so we need to manage the creation of Graphic object or more precisely - ImpGraphic (Graphic objects are just ref. Counted objects of ImpGraphic). In the To release the memory of graphic objects, we swap them out to a temp file and read back (swap-in) when we need them again. In the previous implementation this was partially directed by the SdrGrafObj (common image implementation) and SwGrfNode (Writer image implementation). For each graphic object there was a timer when to trigger an automatic swap-out + the swap-out that can happen when a memory limit is exceeded.
For the new code external swapping directed from SdrGrafObj and SwGrfNode was removed, so they can't influence when swapping will happen (maybe in the future they can provide hints when it is a good time to do swapping). There is now a global timer which triggers checking of all Graphic objects if any of them can be swapped out in case we exceed memory limit. Same code is triggered when a new object is created too. A object will be swapped out if it is not used for a certain amount of time. Each object tracks the timestamp when it was last used. A swap-in happens if the object is swapped-out (obviously) and certain data is needed (under-laying bitmap, animation or metafile). This is checked at the same code-path where the timestamp updating happens.
Neooffice/j Openoffice Wrapped In Java For Mac
The new swapping strategy is relatively simple - if a lot of memory is needed by graphic objects in a certain time, we let it use it and don't try to over-aggressively try to free it. In the past this cased swap-out and swap-in cycle that made the application completely unusable.
In the future, external hints when a certain Graphic object can be swapped out may be added, so we can perform swapping more effectively. There are also several other ideas which will increase performance and reduce memory usage that can be implemented now with the new hierarchy where most all of the swapping is contained inside the Graphic itself, but all of this is currently out of the scope of this work. Other changes to Graphic. Another changes to Graphic done were related to lazy loading. When a document is loaded, we don't want to load Graphic into memory, if it is not needed yet (for example we display the first page but the graphic is on page 10).
In document filters (ODF for example) we previously transported the URL of an external or internal graphic to the document model, where it was lazily loaded when it was actually needed. This is not possible now anymore as we need to create a XGraphic object already in the document filter. To overcome this we need to to have an unloaded Graphic, which is created already in a swapped-out state and swapped-in when needed. The GraphicFilter didn't allow something like this, so I needed to add a new method, which doesn't actually load the image, but just gathers what kind of the image is loaded and its metadata (image size) and creates a GfxLink object that includes the (compressed) image data. The metadata is needed as we don't want to actually force a load when this basic information is requested. Actually we want to load the image as late as this is possible.
Another issue is also that we can have an external image (loaded from a file or even URL on the internet). The issue is similar to the lazy loading scenario, but it is different that a Graphic now must know the URL with which it was created and can be created completely empty (no loading of any kind). The reason for this is that loading is directed by the LinkManager, which is part of the document model. For security reasons the LinkManager can not allow that a Graphic is loaded so loading is directed by the LinkManager on demand (first usage). LinkManager also takes care of all URLs of various external resources.
The user can look at those resources and change the URL of them or trigger an update. Changing URL and updating an object was previously done in SdrGrafObj and SwGrfNode, but now this is moved to the common code in Graphic object where SdrGrafObj and SwGrfNode only direct what to do. There are still rooms to improve things here, however not the scope of this work.