DONATION new Simple Filtering

Hello again DONATION blog readers – long time no post!

We have what we believe is a great new version of an existing DONATION feature – a much simpler to use Filter capability. For those who aren’t familiar with them, filters are used to restrict the rows shown on a report. An example would be restricting a report showing individual donations to show only those that are at least $100.

We would very much appreciate it if some of you could test it before the official release. You get it as an upgrade from our usual Beta Test page,  As well as testing the feature, comments on the revised Help page (and the new additional Help page for the Advanced Filter, linked from the first one) would be most appreciated.

Even better would be if you can spare maybe 20 to 30 minutes for us to do a remote control with you and watch you trying to use the feature for the first time, to see whether it is really as much clearer and simpler than the previous version as we think. That would not be a test of you – it’s testing the program! We would even do the upgrade for you.  And such a test would be completely appropriate whether you have never used filters before, or are already expert with them.

If you are willing to do such a remote control and test of the feature, please email us to let us know when would work well for you. Generally any time in the afternoon Eastern Time on a weekday is best for us, but we can also do mornings, evenings and weekends.

As usual if you test it yourself, you can leave your comments as a Comment on the blog page, or by direct email to us.

Thank you so much.

Important DONATION Testing Needed

Hello DONATION beta testers.

The program that we create DONATION with, PowerBuilder, has a significant new release, and we have created a new version of DONATION with it. Although you should see almost no changes in DONATION due to this, for us it’s a big deal, and as such, we have jumped the version number of DONATION up to 4.00.

Although we have done significant testing ourselves on this new version, the only way to be sure it will work well for everyone is to have many users test it. So PLEASE if at all possible, try it out, by downloading and installing it from the page:

Unlike most beta test updates that we put on this page, this one needs to be done with a full installation program, which means you need to know whether you are running the Standalone, Lite, Network Server or Network Client version, and download and install that version from this page. If you aren’t sure which version you are running on this computer, use the Help -> About DONATION menu option in your current installation of DONATION to find out.

If you encounter any issues that you think may be new problems, please inform us of them as soon as possible, and we will fix them as quickly as possible. If something is a real problem for you and we do not think we will be able to fix it quickly, you can always revert to the existing version 3.86, built with the older version of PowerBuilder, by downloading and installing from the normal DOWNLOAD page:

As always, you can send us your experiences by replying to this blog post online, or by directly emailing us. In this unusual case, it would be good to hear from you even if you try this and don’t observe any problems, just so we can have some notion of how many of you have tried it.

In case you are also using our ACCOUNTS bookkeeping program, there will be a similar beta test of the new version of it within the next few days.

Many thanks.

New Software4Nonprofits Website

Hello DONATION beta testers and advisors.

We have been working on updating our website to look good on any device, especially mobile devices like phones and tablets. It should have an appropriately adjusted display for those devices, so it’s not just squished pages as it is now. On your computer, it should look very much the same as before.

While we have been able to test the pages on a couple of different phones and tablets, obviously that testing is still limited. So we would like to invite you to please take a look at the draft version, which starts at [non-existent site removed] (the caps on “NEW” are required!). If you can, look at it with both a regular web browser on your computer, and any devices you have. Please report any problems in the display and navigation of specific pages to us, so that we can fix them.

When reporting display and navigation problems, please include:

  • the device and the screen size (if known),
  • the problem web page,
  • and the description of the problem.

If you see any typos or anything that appears to be bad writing or factual errors, we’d also love to hear about that! (Those things probably haven’t changed from the current live website.)

Please enjoy the new experience of our website on your mobile devices. As soon as we have a reasonable number of replies, we will upload this draft to be the new official site for DONATION and ACCOUNTS at the main web address.

Thank you.

DONATION New Version Testing

Hello again DONATION beta testers. I have uploaded a new beta test version, 3.79 Beta3. We would greatly appreciate it if as many of you as possible could test it out. As usual, you get it from:

There are a lot of small improvements in it, including:

  • Email Sending Configuration working better with Gmail addresses
  • special setup for users in New Zealand
  • built-in receipts for English Canada fitting in #10 single-window envelopes
  • fixed the date format used in receipts for English Canada and the U.S.A.
  • detecting and trying to prevent duplicate envelope numbers in the same year
  • lots of other small feature improvements and bug fixes, all of which are listed on that pretest.htm page, and the Revision History in the program’s Help.

However, the biggest change from our perspective (which you should really not see at all) is a significant re-organization of the program’s code so that a lot of pieces of it can be shared with our ACCOUNTS bookkeeping program. If we have done this correctly, you won’t see a single difference from it, but if we missed something, some features could fail to work.

Of course, both Kwame and I have carefully tested pretty much every feature in the program, but we know from experience that the more different people test things, the more likely problems are to be caught, because someone else will just try something in a slightly different way than we thought of trying it.

Of course, if you encounter any problems report them to us ASAP and we will fix them and get a fix back to you ASAP as well.

Thank you very much in advance.

Cloud Storage Beta Test (2)

Hello again all. I hope those of you who celebrate Christmas had a good one, and anyone else had at least a lovely few days off!

Can I ask again whether some of you who have the Standalone version, use DONATION on more than one computer, and have reliable fast Internet, could please test the new Cloud Storage Service? I really don’t want to release it without more than our own testing and the two users who I know have tested it so far.

Again, you can find it at, and the earlier post with more details about this is at

The feature is sort of an automated combination of the techniques in the Help topic “Transfer your Data between Computers” and our existing Internet backups. It prevents the dangers of two users making independent changes to their own copies of the database, which then can’t be merged, and means that you never have to remember who has the current “official” copy of the database – the program does that for you.

Testing Rewards

Anyone who does any of the following things, prior to the official release of this version (planned for the end of this month!), who is currently up to date on their payments for DONATION, will receive an extra 3 months’ renewal for support and upgrades:

  • Find and report something that we consider to be bug in a new feature (something larger than a typo in the Help).
  • Point out a flaw, that we consider should be fixed, in the design of a new feature.
  • Do very thorough testing of most or all features in a new release, evidenced by a thorough report back to us on that testing.

I’d be happy to give the same reward to anyone who already did such testing, on request.

Many thanks!

Help test DONATION Bank Deposits in QuickBooks

If you import bank deposits from DONATION into QuickBooks, and are using QuickBooks 2015, we would very much appreciate it if you could help us with some further testing of a problem one user has encountered. Please email us directly if you can help.

In case you are wondering, the problem has to do with how potentially ambiguous dates, like 11/07/2015 (Nov 7, or July 11?) in the import file are treated, depending on the Short Date Format set in the Window Control Panel Regional & Language tool.

Thank you very much.

DONATION Cloud Storage Technical Details

Hello DONATION beta testers and advisors. This post is following up the post at that gave a basic concept for a “Cloud Storage” feature. We have now largely designed it (but not yet programmed most of it!) and would invite any of you who feel so inclined to comment on the following technical description of the design.

The feature will also show up (later) in our bookkeeping program ACCOUNTS, but for now we are just talking about DONATION.

Just to summarize the idea, the Cloud Storage Feature is an optional feature, that is an extension of using Internet Backups to “Transfer your Data between Computers” (as explained in the Help topic with that title). The extension is that you could get a “reservation” of the database when you start DONATION, and then download the latest Internet backup (if you weren’t the previous user, which would indicate you already have the latest copy of the database). When you exited DONATION, you would upload your database to become the new latest Internet backup, and release the reservation. Under normal circumstances, only one user would be able to use the program at a time, because you could only get a reservation if nobody else currently had one. That would prevent the current potential problem of multiple people making changes on different copies of the database, that then cannot be merged.

The Cloud Storage Feature (also called Cloud Storage Solution) is only for users who use DONATION on multiple computers, and do not need simultaneous access. It would be a safer alternative to the current “Transfer your Data between Computers” methods, and also an alternative to using the Network version.

User Interface Changes

There would either be a new checkbox on the Backup/Restore -> Backup Frequency and Options window, or the Internet backups stuff on that window would be moved to a new Cloud Storage window, with a new checkbox. The new checkbox would be something like “Use Cloud Storage Feature”.

New Transactions on our Web Server

There would be new transactions that DONATION could invisibly call on the web server to do each of the following, as part of its procedures explained in more details below:

– Request Reservation (returns whether they got the reservation, whether they were the last one with a reservation, or whether someone else has the reservation). Also has option to break someone else’s reservation (details below).
– Check Reservation (checks that you still have your reservation that you made with Request Reservation)
– Release Reservation (releases a reservation that you make with Request Reservation)

Cases of Situations that we Need to Carefully Program

I should first note that we have introduced the concept of running the program read-only, where no changes can be made to any data, and the only menu options that can be used are ones that view data (like reports) but do not change it (like real receipts). There is also a new password you can set up for intentional entry to the program as a read-only user.

First Startup of Application (after installation on a new computer)

  • Add option to Startup window to start by specifying Unique ID for Internet backups (ACCOUNTS already has that) and provide encryption password to immediately Request Reservation and restore latest Internet backup.

First Initial Setup of Cloud Storage Feature

  • User chooses option in our user interface to turn on cloud storage feature.
  • Tries to Request Reservation, response indicates that there’s no previous reservation file.
  • Should they immediately send up a backup to match their starting point, or wait until they exit to do that? Wait until they exit – otherwise takes up unnecessary time.

Initial Setup when someone else has set up Cloud Storage Feature

  • User chooses option in our user interface to turn on cloud storage feature.
  • Tries to get a reservation, response indicates there’s a previous reservation file, they got the reservation.
  • Prompt to confirm, then restore the last Internet backup and go on from there. (What if they say no? Give warning, can only work read only, unless change mind.)
  • What if there is no last backup? (Another user set it up, but no successful upload yet.) Then behaves like when they are the first user to set it up.

Restore Backup with Cloud Storage Turned On

  • User who doesn’t have cloud storage turned on restores a backup (whether from Internet, email, or on a USB etc.) which has it turned on.
  • Immediately go back to as if just starting the program (try to get reservation etc.)
  • Restore latest Internet backup if that isn’t the same filename as the Internet Backup they just restored (or if they just restored any other type of backup).

Normal Program Startup when Cloud Storage Turned On

  • Enter program entry password if there is one.
  • Unless they entered the program with a read only password, get reservation.
  • If the response from Request Reservation indicated that they need to download the latest Internet backup (i.e. if they weren’t the last user who used it), prompt to enter the encryption password (if it is different from any program entry password). After that, download and restore latest Internet backup.
  • Don’t prompt for program entry password again when open backup, unless the previously-entered one doesn’t match.
  • This case assumes success!

Normal Startup when downloaded Backup is older than your data

  • As usual, it will compare, and give you warnings about this.
  • Option is to take it or not. If you don’t take it, and keep your newer database, yours will become the new official version once you upload it on exit.

Program Startup when no Internet or Problems

  • Starts like normal startup with prompt for passwords
  • No response to Request Reservation (Internet down etc.), or response is “BAD” (which should really only be in the case of a programming error)
  • Offer options what to do – try again after fix Internet, or run read only.
  • Should there be an option to run not read-only? NO.

Program Startup when Database in Use

  • Starts like normal startup with prompt for program entry password.
  • Response to Request Reservation indicates that someone else is using it.
  • If last reservation is more than 12 hours ago, offer option to break reservation, explaining the implications (other user’s work is lost). If you break their reservation, the system will send them an email explaining that has been done.
  • If last reservation is less than 12 hours ago, options are like when there’s no Internet.
  • Give option in that case to bring down the latest backup first, if you are going to run read only. As usual, you will be prompted about whether to restore it if it is older than your data.

Program Startup when Encryption Password fails

  • Start normally, get reservation successfully
  • Download latest backup, decryption using entered encryption password fails, so can’t restore it!
  • Prompt for additional tries at entering password.
  • If give up on that (or after max 3 unsuccessful tries), release reservation, and go to options like when fail to get reservation.

Normal Program Exit when Have Reservation

  • Don’t prompt again for encryption password, if you already provided it as part of the program entry.
  • Check reservation to make sure we still have the reservation. (If not, tell user their work is lost! Should be very unusual, only if using DONATION for over 12 hours and someone else breaks their reservation.)
  • Upload encrypted backup.
  • If that was successful, release reservation.
  • Options to retry unsuccessful parts on problems.
  • If they exit without releasing the reservation and try again before anyone else tries, and Internet is now up, they won’t re-download the file (because they had the last reservation) so everything is OK.

Program Exit when running read only

  • Don’t do anything special (don’t upload backup, don’t check or release non-existent reservation).
  • Also applies if they entered the program initially with a read only password!

Change Encryption Password

  • Since the program usually doesn’t prompt again for it on exit, and can’t change it on startup (won’t be able to restore!), need a way to change it.
  • Add Maintenance -> Change Password -> Backup Encryption Password. (Can also change on program exit, if it prompts for the password at that time.)
  • If change, big warning to inform all other users!

Switch Databases

  • Do like normal program exit before switch (upload database, release reservation).
  • New switched-to database behaves as in normal program startup.

Restore a Backup

  • Do like normal program exit before do that (upload backup, release reservation).
  • If backup being restored is latest Internet backup (from before one was made as a result of the “normal program exit” steps) get the reservation after doing so.
  • If backup being restored is anything else, ask what to do. Options are get reservation, or work read only, or allow changes but don’t save back to cloud storage afterwards.
  • Here’s one case where we want to allows changes but not save back: you deleted old data (say 3 years back), need to temporarily restore backup including 4-year-old data, in order to create replacement receipt.
  • Serious warnings for options other than working read only!
  • This provides one way to get your version to become the master version again, for instance if you did work and weren’t able to have it saved because Internet was down, then someone else did some work (but your changes are more important than theirs!). Save a local backup, when you can run with Internet up again restore that backup (overwriting the one that is automatically downloaded) and go on.
  • Doing this is also a solution for if you decide your latest work messed up the database.

Change Unique ID for Internet Backups

  • The Unique ID determines, among other things, in what directory on the server the backups are stored.
  • Do we really see any reason for allowing the Unique ID to be changed after it is first set up?
  • Possible Reason: Take away access from people who no longer should have access. But can do that by giving new password, making 3 backups (because only the last 3 Internet backups are saved on the server).
  • Danger if only some people change the Unique ID, they will be working on different versions of the database!
  • So, don’t allow.

Everyone Forgets the Encryption Password

  • Part of the solution to this might be if the last user can get in without providing the password, then they can change it later. That happens when Request Reservation returns the code saying we are the last user and thus we don’t need to download the backup, and thus it doesn’t need to prompt for the password.
  • In that case, we would have to prompt for the password on program exit, which would give another way to change the password.
  • If everyone has forgotten it, and they can’t find the computer that was the last user (or nobody was the last user – change of volunteer personnel), clearly need an option to just start with that user becoming the one who uploads the next official version and sets the password.
  • Might be made better if people sent us their passwords, but then we really become a potential target. Don’t want that.
  • Solution: We can provide a temporary override password like for lost program entry passwords. You can only override a startup that needs to restore a backup and can’t because of a wrong encryption password if you have that override password.

Use Same Password for Program Entry and Encryption

  • Should this be an option? Yes.
  • If it is, would only have to enter it once on program startup.
  • However, doesn’t make sense if a read-only or limited user password has also been assigned (or gets assigned afterwards), because those users would then know the full program entry password (whether they were aware of it or not!) because they’d have to know the encryption password.
  • So don’t allow this setup if already have a read-only or limited user password, and don’t allow creation of those passwords if the two main passwords are the same.

Turn off Cloud Storage

  • Have to tell everyone to do so, circulate database with it turned off.

That’s it so far!

Please do not reply to this if you don’t at least largely understand it (which we don’t expect everyone to do!). Only reply if you can think of things we may have missed, things you don’t think will work, etc. Thank you.