<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to Discussion</title><link>https://sourceforge.net/p/portabase/discussion/</link><description>Recent posts to Discussion</description><atom:link href="https://sourceforge.net/p/portabase/discussion/feed.rss" rel="self"/><language>en</language><lastBuildDate>Mon, 08 May 2023 03:19:39 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/portabase/discussion/feed.rss" rel="self" type="application/rss+xml"/><item><title>Portable mode?</title><link>https://sourceforge.net/p/portabase/discussion/218901/thread/75bee99b72/?limit=25#9aee</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Sorry for the late reply, my setup for monitoring SourceForge activity broke down after a move + computer migration.  A "Portable Apps" version of PortaBase has been on my TODO list for years, but hasn't yet bubbled up to the top of the priorities given how little time I've had to work on it in recent years.  Something like the QSettings change you pointed out would be one key part of that, another would be having a downloadable Windows binary package that doesn't need the installer.&lt;/p&gt;
&lt;p&gt;I keep looking to see if there's an app I could replace PortaBase with that would let me free up all the time that does (or should) go into maintaining it, but I really haven't found anything yet.  There are some cool apps in the same general category of tabular data management, but none of them are really comparable IMHO to PortaBase's ease of use on small mobile device screens in particular.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeremy Bowman</dc:creator><pubDate>Mon, 08 May 2023 03:19:39 -0000</pubDate><guid>https://sourceforge.net027f2e1084dc0625764fcedca5053dcd261fbdfe</guid></item><item><title>Portable mode?</title><link>https://sourceforge.net/p/portabase/discussion/218901/thread/75bee99b72/?limit=25#7a94</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;(Actually it's probably UTF-16 by default if the registry is involved!)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">fluxtion</dc:creator><pubDate>Thu, 30 Sep 2021 23:12:31 -0000</pubDate><guid>https://sourceforge.net986953393fdc4593a050df0307e3f6ddf91e19f9</guid></item><item><title>Portable mode?</title><link>https://sourceforge.net/p/portabase/discussion/218901/thread/75bee99b72/?limit=25#1b87</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'm pretty sure the answer is no because the use of QSettings defaults to the registry, but is there any existing way to use Portabase "portably" across different computers? I just wanted to make sure. If not, I might actually hack the feature in myself. QSettings seems to be a very elegant class and I think that getting it working on Windows may be as simple as (though this would potentially break cross platform without a simple OS test): &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nt"&gt;QSettings&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="nt"&gt;settings&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nt"&gt;new&lt;/span&gt; &lt;span class="nt"&gt;QSettings&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"portabase.ini"&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nt"&gt;QSettings&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nd"&gt;IniFormat&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
&lt;span class="nt"&gt;settings-&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nt"&gt;setIniCodec&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;QTextCodec&lt;/span&gt;&lt;span class="p"&gt;::&lt;/span&gt;&lt;span class="nd"&gt;codecForName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"UTF-8"&lt;/span&gt;&lt;span class="o"&gt;););&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;(Assuming that the encoding that you're using is UTF-8, but I'm not 100% sure on that.)&lt;/p&gt;
&lt;p&gt;Anyway, I know I'll be lucky to receive any response at all at this point but I'd just like to thank you for Portabase, which is an excellent sort of basic key-value store type of personal DB app.&lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br/&gt;
Elliott&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">fluxtion</dc:creator><pubDate>Thu, 30 Sep 2021 06:31:28 -0000</pubDate><guid>https://sourceforge.netb3af5fbde575abedfe1a08f826bb9a6c8e04d923</guid></item><item><title>Open Discussion, New Topic or simple response.</title><link>https://sourceforge.net/p/portabase/discussion/218900/thread/52e32cf3/?limit=25#e29f</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;What are the things that hang up refinements? My guess from your SQL-like statement that your interested in beingable to deal with multiple users with records locking and have some functions like calculations and automated tim e/date entries possible.&lt;/p&gt;
&lt;p&gt;If Libre / Open Office has anything to warn one about, it may be that keeping track of just what piece of data is where after a modification so calculations remain properly relating may be a bit of a challenge.  Trying to use multiple sheets there for an integrity check that had redundant data showed this up clearly and consistently.  Adding a new row always broke the relationship in the formulas used to compare the sheets.&lt;/p&gt;
&lt;p&gt;Admittedly, the request to have calculations ~only~ work on item in the same row may be much easier.  The sum of the presently dislayed column may also be simple enough also by introducing a row that is only a requested display artifact at a given location.&lt;/p&gt;
&lt;p&gt;As for addressing multiple users, the simplest thing to do may be to add an extra addendum file to the .pob one used.  It could contain the things that are not relavent to the data itself and perhaps even store a log of record modifications (and by ~who~); and yet more importantly, at least present access (by who or from what computer ~where~) that could be used to prevent messing up the MetaKit's efforts for maintaining the data properly.  My personal leaning would be to also include something like a row summary checksum values that could warn one of data that has become corrupted.  And when the .pob file is being released by the (final) program user, add a column summary also.  Then should the file get corrupted by copying, transport, etc., it could still be of some potential value since the bit that is errant could be highlighted for later correction, and ignored 'til then.&lt;/p&gt;
&lt;p&gt;greg&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Gregory D. MELLOTT</dc:creator><pubDate>Mon, 27 Mar 2017 01:31:17 -0000</pubDate><guid>https://sourceforge.netf649b8ea53e9d10747790979f1206b26a97c8d16</guid></item><item><title>Open Discussion, New Topic or simple response.</title><link>https://sourceforge.net/p/portabase/discussion/218900/thread/52e32cf3/?limit=25#c90c</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hello!  PortaBase uses a library called Metakit to handle the underlying storage of the database in a file.  It does have a pretty good mechanism for maintaining data integrity: data is never written to the same part of the file which contains the data which was last saved.  If the application crashes, runs out of disk space, etc. the full last saved data is still intact and opens by default.  You can read a little more about this at &lt;a href="http://equi4.com/metakit/format.html" rel="nofollow"&gt;http://equi4.com/metakit/format.html&lt;/a&gt; under "Free space management and recovery".&lt;/p&gt;
&lt;p&gt;In almost 15 years of maintaining PortaBase, with tens of thousands of users, I've received very few reports of data corruption (less than a dozen, I think).  The cases I have heard about have almost exclusively fallen into 2 categories:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Users of the Sharp Zaurus PDAs who stored their files on SD cards (instead of a CF card, which was also available on the device).  In the early days of the SD format, it was very hard to write good drivers for it because the spec was complex and unclear, and the implementation on the Zaurus was particularly unreliable; this is a case where the file system itself just didn't behave properly, which made it very hard for the software to ensure data integrity.&lt;/li&gt;
&lt;li&gt;People who made edits to the file from 2 or more simultaneously open programs (usually because they kept the file on a network folder shared by multiple users, but occasionally someone ran PortaBase twice on the same machine and didn't notice they were both pointing at the same file).  Metakit doesn't frequently check that the file structure hasn't changed out from underneath it, so data corruption is possible in this case.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So overall, PortaBase uses a file format with a pretty effective data integrity mechanism which has withstood the test of time.  It doesn't have the huge userbase and massive test suite of SQLite (which was a very young and very incomplete library when I first started working on PortaBase), but it's also a simpler implementation with fewer corner cases.  I do plan to start supporting SQLite as a storage option for PortaBase sometime after I get the Android port released; while Metakit has worked very well, it isn't being actively maintained anymore, which is starting to make it difficult to implement some features which SQLite now has built-in support for.&lt;/p&gt;
&lt;p&gt;Hope that helps answer your questions,&lt;/p&gt;
&lt;p&gt;Jeremy&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeremy Bowman</dc:creator><pubDate>Sat, 25 Mar 2017 16:47:12 -0000</pubDate><guid>https://sourceforge.net9d06018941620d83539d8972e667d743473287dc</guid></item><item><title>Compiling Portabase on OpenPandora handheld: Problem with metakit linking</title><link>https://sourceforge.net/p/portabase/discussion/218901/thread/0a9c3d55/</link><description>Did you remember to run "make install" for Metakit, to put the headers and libmk4.a under /usr/local?  You shouldn't have to tinker with the Makefile unless you don't want to or can't do that for some reason.  If you want to stick with the Makefile modification, I think you want "-Lmetakit/builds" instead as your LIBS addition.

You said the library file was in metakit/unix instead...did you run configure from there?  The Metakit instructions recommend running it from builds as "../unix/configure --enable-threads --disables-shared" instead.  And you shouldn't have a libmk4.so file at all if you ran configure with these parameters...if you have one leftover from an earlier build with a different configuration, the linker will always use that in preference to the static library (libmk4.a), so make sure to delete it before compiling PortaBase.

Hope this helps, let me know if you have more questions.

Jeremy</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeremy Bowman</dc:creator><pubDate>Mon, 20 Aug 2012 19:06:20 -0000</pubDate><guid>https://sourceforge.nete02f72980d9f6c791cb595c1d301557fa446bacf</guid></item><item><title>Where does PortaBase 2.0 store its configuration settings?</title><link>https://sourceforge.net/p/portabase/discussion/218901/thread/f5d5e1da/</link><description>QSettings is a class from the Qt framework that stores application settings in an appropriate location for the platform the app is currently running on.  Documentation is at http://qt-project.org/doc/qt-4.8/qsettings.html.  On Linux, the default location for PortaBase application settings is $HOME/.config/portabase/PortaBase.conf.  Maybe the HOME environment variable hasn't been set correctly for some reason?

oldconfig.cpp is only there for migrating settings from older PortaBase releases which used a custom settings storage mechanism on all platforms, before I upgraded to versions of Qt that provided QSettings.

Let me know if you need more help troubleshooting the problem, or find a cause that's something I can fix in the code.

Jeremy</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeremy Bowman</dc:creator><pubDate>Mon, 20 Aug 2012 18:33:45 -0000</pubDate><guid>https://sourceforge.net14e6f296525f791a77a1f1a1e1f2bb43b164c069</guid></item></channel></rss>