Craig Boyd has posted about his Visual FoxPro VFPCompression library, a tool that lets developers programmatically zip and unzip files.
While many may immediately see the benefit of using this approach for aiding in backing up files, there's another use that may not be immediately obvious.
Zipped documents for backup are nothing new but file formats that are actually zip files with multiple documents are becoming more popular. MindJet's MindManager has used a Zipped file format since 2005 (maybe even earlier) and Office 2007 will also be using this approach.
Essentially what it means is that a Word Document (.docx extension) can be renamed to ZIP and decompressed. Inside the zip file are all of the pieces required to define the Word document. You can also use Word to open other file formats as well. Read the walkthrough to get a better understanding.
But how can you use this new approach in your FoxPro development? Well, thanks to the VFPCompression FLL, dealing with the individual zip portion becomes a lot easier so now we can think of uses in applications:
1) static lists or rarely updated files can now be stored in zip files, only being compressed or decompressed on application startup.
2) memo field usage can be reduced by storing the values in a stream that is then compressed (thus, avoiding memo field bloat)
3) application core data can be backed up on startup and shutdown, ensuring reliable backups stored elsewhere
4) updates can be packaged or sent to users and automatically unbundled
5) error logs can be compressed
6) application data can be stored in a single "file format" making it easier for applications to copy data around
Do you plan on taking advantage of this method of storing data? If so, how?