Skip to content

jmbowman/portabase

Repository files navigation

PortaBase

PortaBase (portable database) is a program for conveniently managing one-table database files. It can be used as a shopping list, password manager, media inventory, financial tracker, TODO list, address book, photo album, and more. It is available for many platforms, including Linux, Mac OS X, Windows, and Maemo (Diablo and Fremantle).

The main features PortaBase currently has are:

  • String, Integer, Decimal, Boolean, Note (multi-line text), Date, Time, Calculation, Sequence, Image, and Enum column types
  • Add, edit, and delete rows of data
  • Custom data views (subsets of the columns in any order)
  • Filter the displayed rows using sets of conditions
  • Sort the rows by any combination of columns, each in ascending or descending order
  • Add, delete, rearrange, and rename columns at any time
  • Specify default values for columns
  • View summary statistics for columns (total, average, min, max, etc.)
  • Data file encryption
  • Slideshows of the images in a column matching the current filter
  • Simple calculator widget for entering numeric data
  • Printing of the currently displayed data (except on mobile devices)
  • Optional fullscreen mode
  • Import data from CSV, XML, and MobileDB files
  • Export data to CSV, HTML, and XML files
  • Command-line format conversions (to and from XML, to and from CSV, from MobileDB, to HTML)
  • Unicode support for text columns, and UI translations for 8 different languages
  • Pick any available font to use throughout the application (except on Mac OS X)
  • User-specified alternating row background colors (except on Fremantle)

See the application's help dialog for more information on features and usage.

Development Status (March 2017)

Development has moved from SourceForge to GitHub, the code has been updated to support Qt 5, and a port to Android is currently in beta testing. Good progress has been made on automating builds and releases, so I plan to release a small update soon for all supported platforms in order to better support recent OS releases. If you would like to contribute, or have suggestions on ways to make it easier to contribute, please contact me.

Note for Maemo Users

After 6.5 years, my Nokia N900 suffered a hardware failure such that it no longer works as a phone. I suspect I was one of the last holdouts on that platform, and the Maemo Diablo and Fremantle versions of PortaBase are the only supported platforms that still require support for Qt 4. If you still regularly use PortaBase on Maemo devices, please let me know; I plan to release at least one more version that supports them, but I may not keep doing so if it becomes a problem when adding new features (especially if it seems like nobody is still using PortaBase on those platforms).

PortaBase 2.1 is available from the extras repository.

Note for Zaurus Users

The complete lack of new releases of Qt or Qtopia for the Zaurus has made it impractical to continue developing for it; every single feature would need to be implemented separately for two different codebases. However, there are no file format changes for PortaBase 2.0 or 2.1; files can still be moved freely between the new release and PortaBase 1.9 on the Zaurus. A future PortaBase release is likely to end this compatibility, however. For now, Maemo (as used on the Nokia N810 and N900) or the upcoming Android port are recommended for people who want to continue using PortaBase on a pocketable device. Support for iOS, SailfishOS, and other actively-maintained mobile platforms is also feasible, please let me know if you would like to use PortaBase on one of these and/or help make that port happen.

Windows Installation and Upgrades

Run the downloaded executable; it will launch the installation program, just follow the directions.

Mac OS X Installation

Double-click on the downloaded disk image to open it, and drag the application from the disk image to where you want it (usually your Applications folder). The first time you launch it, you may need to do so via a Control-click or right click; this should be resolved with the next release (the installer needs to be updated to satisfy the code signing requirements of recent Mac OS X releases).

Debian/Ubuntu Installation

Install the portabase package from the main package repository. Alternatively, download the .deb package for the desired release and install it as root using dpkg -i <filename>.

Installation on Other Linux/UNIX Systems

Download the source code tarball and follow the instructions in the contained INSTALL file.

Technical Info and Acknowledgements

PortaBase is written in C++, using the Qt library for GUI widgets, data structures, and communication with the operating system. It also uses:

Additional software is used to package PortaBase on its various platforms:

The application icon was created by Holly Guenther (http://kimchikawaii.deviantart.com).

License

PortaBase is is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Web site

http://portabase.org