| --- |
| 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. "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. Such applications allow you to bring your applications, settings and documents with you. 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. 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? How did the project start? 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... 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? 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, leaving the host PC<br /> |
| in the exactly same state it was before we executed it on our<br /> |
| X-Program. 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. 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. 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)? 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. 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... 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... </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> |