_posts/2013-04-04-x_apacheopenoffice_a_portable_applications.html (157 lines of code) (raw):

--- layout: post status: PUBLISHED published: true title: 'X-ApacheOpenOffice: A Portable Applications Version of Apache OpenOffice from winPenPack' id: 1e661178-11bd-4fec-a9f5-b3234511339b date: '2013-04-04 12:12:08 -0400' categories: ooo tags: [] permalink: OOo/entry/x_apacheopenoffice_a_portable_applications --- <p>We receive many questions from users looking for a portable version of Apache OpenOffice.&nbsp; "Portable Applications"<span lang="en"><span></span></span> are software applications designed or adapted to run from portable storage, like a USB memory stick, without requiring an installation.&nbsp; Such applications allow you to bring your applications, settings and documents with you.&nbsp; One popular portable version of OpenOffice is "<a href="http://www.winpenpack.com/en/download.php?view.1341">X-ApacheOpenOffice</a>", from the <a href="http://www.winpenpack.com">winPenPack</a> open source project. &nbsp; We interviewed the founder of winPenPack, <span class="il">Danilo</span><br /> Leggieri, and his team to learn more. </p></p> <p align="center"><img src="https://blogs.apache.org/OOo/mediaresource/2b482de6-b8ae-4bc0-87f2-e136a9d1b502" /></p> <p align="left"> <p></p> <h3>What is winPenPack? &nbsp;How did the project start? &nbsp; How many people work on the project?<br /> </h3></p> <div class="gmail_quote"> <div class="im"> <div> </div> </p></div> <div> <p>Well, it is really difficult to describe in a few words what this project<br /> is for us, because since from the first moment has begun to be part of our<br /> own life...&nbsp; Briefly we can say that winPenPack is an Italian open source<br /> project that deals with portable software, both natively portable <i>and portabilized</i> by means of X-Launcher, our portable program launcher. These<br /> apps can be grouped into suites or can be used also as standalone<br /> portable programs, adapting with end users preferences.</p> <p>winPenPack philosophy is well summarized by our (very restrictive) definition of<br /> "portable software": a portable program can't simply be a "no-install"<br /> program, but must also be able to save its settings into his own folder<br /> (or a user-definable folder), does not write settings or leave other data in user folders (i.e. into<br /> c:\Users\TheUserName\AppData\<wbr />Roaming\ or c:\Documents and<br /> Settings\TheUserName) or into the registry, must be able to run from a<br /> USB pen drive and can perform path normalizations moving around different<br /> PCs (where the pen drive could be installed with different drive letters).<br /> Obviously, all of these programs can be executed also from hard<br /> drives, greatly simplifying recovery operations of all programs (and<br /> their preferred configurations) when reinstalling the operating system.</p> <p>Our<br /> project started in November 2005 by a brilliant intuition of <span class="il">Danilo</span><br /> Leggieri (AKA Danix, the founder of the project). <span class="il">Danilo</span> and a couple<br /> of "web friends" expanded the project and the community grew very<br /> quickly. Since that date, we have issued about 20 new releases and hundreds<br /> of Open Source portable applications. Actually, the project is well<br /> known in Italy and is growing also abroad. winPenPack is hosted on<br /> SourceForge and all the collections are regularly distributed also in<br /> bundles with some IT magazines. The community of users has grown over<br /> the years and has actively contributed to the growth of the whole project.<br /> <a href="http://www.winpenpack.com">The site</a> currently hosts various projects created and suggested also by forum members, and is also used for bug reporting and users<br /> suggestions.</p> <p>Currently, the project involves 6 officially active<br /> people and a lot of contributors (translators, testers, and so on). All<br /> of them are spending their time completely for free, working on the<br /> project out of pure passion. Each member of the staff has a different<br /> job in "normal life", not necessarily connected to the world of computer<br /> and information technology.</p> <h3>How do you make a winPenPack application? &nbsp;What kinds of things do you need to do to make a desktop application portable?<br /> </h3> </p></div> <div>The core of all our portabilizations is X-Launcher, the winPenPack<br /> program launcher. A program portabilized by X-Launcher is called an "X-Program". The folder structure of any X-Program always contains a \Bin<br /> folder (the program folder) and a \User folder (the settings folder), plus<br /> other optional folders, such as \Documents or \Downloads (depending on the<br /> nature of the portabilized program). At the root of this structure there<br /> is X-ProgramName.exe (the launcher of "ProgramName" program) and<br /> X-ProgramName.ini (the text file that contains all the settings and<br /> instructions for X-ProgramName.exe to make portable the portabilized<br /> program). Due to its nature, the .ini file can be easily edited with any<br /> text editor, simplifying the creation, the testing and the fine-tuning of<br /> the portabilization. The various sections of the X-ProgramName.ini file<br /> allow us to define the X-Launcher behavior towards the registry or the<br /> user folders or to perform other actions. We can easily copy or move<br /> registry keys or files or folders back and forth beween the USB pen drive<br /> and the PC hard drive,&nbsp; leaving the host PC<br /> in the exactly same state it was before we executed it on our<br /> X-Program.&nbsp; So X-Launcher allows us to recreate the environment in which a<br /> program works correctly (registry keys, user folders, etc.), but, after<br /> the program execution completes, it leaves the PC "clean", because when closing the<br /> program all these keys (or files) are moved back into the \User folder<br /> of the portabilized program folders structure, ready to recreate the<br /> environment at the next execution.</p> <p>The process of portabilization of a<br /> program passes through various steps. First of all, someone (a team<br /> member or a forum user) signals an interesting program. We test its<br /> portability through <a href="http://sourceforge.net/projects/regshot/">RegShot</a>, which helps us understand if the program<br /> uses the registry or the user folders for saving its settings or for<br /> other purposes.&nbsp; If, after our tests, the program turns out to be<br /> natively 100% portable, it is added to the "Portable Software" section<br /> of our Download area. If the program is not fully portable, we check<br /> whether it is possible to make it portable through X-Launcher. This<br /> phase reuses all the information gathered during portability tests to<br /> determine which features of X-Launcher should be enabled to portabilize<br /> the program.&nbsp; This is the most important step, that requires all the<br /> portabilization skills of our developers, and often makes the difference<br /> between being able to consider a program portabilizable or not. The<br /> last step is the packaging of the X-Program and its distribution through<br /> our "X-Software" Download area. Sometimes even 100% portable programs<br /> can receive some benefit from X-Launcher (for example, backups of<br /> configurations, paths normalization, use in conjunction with external<br /> libraries like Java), so we create also X-Programs of that kind.</p> <h3>Did you run into any special challenges when making the portable version of Apache OpenOffice (X-ApacheOpenOffice)? &nbsp;Are there any changes we could make in the OpenOffice to make portable versions more powerful?<br /> </h3> </p></div> <div> <p>For developing X-ApacheOpenOffice Portable we were able to put into<br /> practice our previous knowledge acquired in past years with early<br /> versions of OpenOffice. This background helped us a lot for speeding up<br /> the development of X-AOO Portable. </p> <p>The more relevant features added to Apache OpenOffice for building the completely portable X-ApacheOpenOffice Portable are:</p> <ol> <li>Path normalization: all paths of recent files that are saved into X-AOO Portable folder structure have been normalized</li> <li>"System" folders: the \Documents and \Backups X-ApacheOpenOffice<br /> Portable subfolders have been set as "system" folders, also moving the<br /> main folder</li> <li>Disabled quickstart.exe: quickstart.exe has been<br /> disabled to prevent the soffice.exe process from remaining active in the traybar<br /> after closing the program, or when the user tries to disconnect<br /> the USB pen drive from the PC</li> <li><a href="http://www.winpenpack.com/en/page.php?39">JavaGet</a> integration: the<br /> integration of JavaGet functions into the launcher allows X-AOO to work<br /> with or without a Java installation present on the host PC</li> </ol> <p>We<br /> haven't had particular challenges to develop our portable version (just<br /> some extra-time due to the download of all language versions to be<br /> merged into one single X-Program). However, the fact that Apache<br /> OpenOffice recognizes automatically the OS language has simplified our<br /> work, allowing us to have a single launcher. For the future we would<br /> like very much also a monolithic multi-language setup of Apache<br /> OpenOffice to be used as a base for our portable X-ApacheOpenOffice<br /> Portable.</p> <h3>When I think of portable applications I think mainly of putting apps on USB keys. &nbsp;But are you seeing any other interesting uses, like people running their apps from the cloud, DropBox, etc.?</h3> </p></div> <div>Portable programs aren't simply "apps to be run from USB keys".<br /> Portable programs allow the users to carry in their pockets all their<br /> preferred applications, with all their preferred settings, to be run anywhere they find a Windows PC with a free USB port. That's it. We<br /> could even say that the portable programs were the forerunners of the<br /> cloud: your programs, everywhere...&nbsp; At this moment, we see cloud apps<br /> more oriented to mobile devices (that are "portable" by definition).<br /> Windows programs need an operating system in which to be executed. If we<br /> would be able to run Windows portable programs from the cloud, the only<br /> thing that we would do without would be exactly our USB pen drive...&nbsp; </p> <h3>Where can readers go to learn more about winPenPack or to help with the project?<br /> </h3> </p></div> </p></div> <p>Of course on <a href="http://www.winpenpack.com">our site</a>! We have a <a href="http://www.winpenpack.com/en/page.php?10">"Documentation</a>" section that with<br /> considerable efforts we have translated almost entirely in English, in<br /> order to help as many users as possible. We have also<br /> an <a href="http://www.winpenpack.com/en/e107_plugins/forum/forum_viewforum.php?24">English forum</a> where we answer all users' questions and discuss any<br /> other aspect of programs portabilization. You all are welcome to visit<br /> us and donate to the project to allow us to continue to develop even<br /> more exciting portabilizations! </p> <p></p>