Skip to content

Releases: joyfullservice/msaccess-vcs-addin

v3.3.0: Significant updates

23 Feb 13:54
Compare
Choose a tag to compare

Summary

This release incorporates a large number of updates, fixes, and enhancements that have been in development over the past several months. With over 170 commits, I will not attempt to detail all of them here, but touch on a few of the main changes. Special thanks to @hecon5, @Tanarri, and @Indigo744 for their contributions in this release!

Enhancements

  • Faster Performance We have now implemented an index-based system to track changes to the database objects using the local vcs-index.json file. This allows us to store modified dates and even content hashes to avoid having to export objects that are identical to the last export. This has been implemented on some of the main objects like forms, reports, and queries, so most users will probably see a performance improvement when using the Fast Save option.
  • Improved Print Settings Export Print settings are now exported only when they are different from the default settings of the current default printer. This helps avoid source changes that do not reflect an actual change in the database objects.
  • Better Error Handling New error handling functions have been implemented in several areas, showing output both on the main screen and in the log file.
  • Reorganized Source Files Large code modules have been divided into smaller ones with more specific focuses. This helps developers to more quickly identify issues and provides a more logical organization to the project.
  • Expose API to Other Projects Some users were interested in calling the VCS functions from their own projects, so so an API class now creates an interface for calling some of the main functions from outside projects.
  • Improved Security The add-in is now installed in its own dedicated installation folder, so you no longer need to trust the Microsoft Access Addins folder, which may contain other projects/addins.
  • Installer GUI The message box has been replaced with a more user-friendly installation form with a couple additional options to consider when installing the add-in.
  • Testing Database The companion testing database Testing.accdb can now easily be built from source. New objects and test methods can be added there to ensure ongoing compatibility with various types of database objects.

Bug Fixes

Numerous bug fixes are also included in this release.

Other Changes

  • PLEASE NOTE: Formats for a number of source files have changed, so you may see a large number of changed files the first time you run an export from the updated add-in.
  • Additional Files to Ignore in VCS Please review the .gitignore file in this project to see some additional log and index files you will probably want to ignore in your projects before committing to your version control system.

v3.2.2: New options for saved printer settings

10 Nov 19:54
Compare
Choose a tag to compare

Enhancements

  • Added customizable options in the user interface where you can select which of 20 different printer settings you would like saved with report definitions. Most users will appreciate the common ones like page orientation and paper size, but some may also want to save other more advanced settings like duplexing or media type. e292423
  • For those doing development work on this add-in, the Deploy function has now been updated to both update the installed version, and export a copy of the source code in a single step. d05744a

Bug Fixes

  • Only save printer name when a non-default printer is assigned. 1c05238
  • Fix printer port name truncation issue. bf03bd9

v3.2.1: Progress bar and bug fixes

07 Nov 01:51
Compare
Choose a tag to compare

Enhancements

  • The user interface now displays a progress bar instead of the spinning clock for longer-running operations. This speeds up the performance of the export, and gives users a more standard visual indication of progress. 54df6ad
  • Added a link on the main form to open the log file after completing an export or build. 0aa183e

Bug Fixes

  • Fixed an issue with Fast Save when exporting linked table definitions. 6e9b9b5
  • Added missing VerifyPath calls before exporting to ensure that the folder path exists. #84, f0743c1, 1526539
  • Corrected item counts when building from source. 2ec44ff
  • Resolved a minor issue with the log file output. 46b3838

v3.2.0: Print Settings and Faster Performance

06 Nov 16:34
Compare
Choose a tag to compare

Enhancements

  • Saved print settings are now restored to reports when the database is built from source. Not only does this include basic settings like page orientation and paper size, but even more advanced settings like paper tray and form names. The print settings are stored in human-readable text in JSON files, then converted to binary blocks and added back to the source files just before import. This approach is WAY faster than opening each report in design view and setting these values through the object model. Special thanks to @Indigo744 for his help and encouragement in getting this implemented.
  • Redesigned sanitize function for even faster performance. In my testing I was getting as much as 10X increase in speed when processing large files. (Also due in part to a faster file reading technique.) d88ea89
  • Improved performance when reading large export files. (Such as reports with embedded images.) By reading the file in 128K chunks, instead of all at once, the internal memory allocation is done much more efficiently. 5f2f89d
  • Added a performance logging class to monitor the speed of the export/import processes and related functions. This was a key building block to identifying and improving performance bottlenecks. Performance reports are now included at the end of Export.log and Import.log. b0c9221, 3dcd7d1, 9e79c11. Thanks to @mmzmusicnotes in #81 for highlighting the need for better performance monitoring when dealing with very large databases.
Example performance report
-------------------------------------
        PERFORMANCE REPORTS
-------------------------------------
Object Type         Count     Seconds
-------------------------------------
themes              1         0.02
VB project          1         0.00
vbe references      9         0.03
shared images       3         0.03
db properties       56        0.13
tables              66        0.88
queries             52        2.08
forms               177       9.54
macros              2         0.03
modules             29        0.86
reports             32        8.51
doc properties      1         0.00
nav pane groups     1         0.02
-------------------------------------
TOTALS:             430       22.12

-------------------------------------
Operations          Count     Seconds
-------------------------------------
Console Updates     21        1.35
Extract Theme       1         0.00
Clear Orphaned      7         1.01
Write to Disk       384       2.98
Save Table SQL      66        0.13
Unicode Check       381       0.38
App.SaveAsText()    292       10.25
Delete File         523       0.09
Read File           295       1.08
Sanitize File       263       2.46
Save Query SQL      52        0.21
Increment Progress  5         0.30
Read File DevMode   32        0.16
Other Operations              4.18
  • Added an option to restore the original SQL when importing queries. Some queries, such as those containing a subquery, were not correctly imported into the new database. Most users won't encounter this issue, but if they do, it can be solved by turning on this option. #76 28fb606, 28c2bae
  • Remove non-essential references when building a database from source. #72, 753d4df
  • Improved version compatibility with GUID references, setting version based on Microsoft Access version. #72, ece0208
  • Added Unicode support for table data import using tab-delimited format. #71, bd7cf2d
  • Add-in now offers to reinstall when opening the same version number as the installed version. #78

Bug Fixes

Other Changes

  • PrtMip blocks are no longer included in Form export files. (They are for print margin details, and this is now stored in the JSON file and restored on import.)

v3.1.67: Improved Unicode Support

30 Sep 22:18
Compare
Choose a tag to compare

Enhancements

  • Extensive rework of Unicode support for files and paths, including support for accented characters (ISO-8859-1). 38e8391, 1599141, 14ab81e, 507c461, fab09f0, d3dc101, ea44044, #60
  • Added option to extract the source files from exported themes. (False by default) Most users won't need to export the embedded theme source files unless they are customizing the theme and wish to track those changes in VCS. 68934ed
  • Turned off encryption for this project, since we are now using relative paths for everything contained in the project. e5fff53

Bug Fixes

  • If encryption is being used, verify that we can successfully decrypt the project files before building from source. ae651b0
  • Fixed redundant list of export formats. 09760af
  • Corrected issue in folder iteration. 6aff96b
  • Allow saving of VCS options before first export. 62a6832
  • Handle IMEX specs with no name. 56f7a18
  • Resolve some path verification issues. ee75541, b1731d1
  • Gracefully handle missing MSysResources table in older file formats. 4c2b5ed
  • Resolve errors when checking indexes on linked tables that point to non-existent files. eb8a8f9, ff4c8f2
  • Add error handling to TableDataMacro export. 8e3fa17
  • Resolve an issue in this project that was causing some file corruption on deployment. 568c12c

v3.1.56: Fix table data export

21 Jul 14:49
Compare
Choose a tag to compare

Enhancements

  • Added support for relative paths in database library references. ffe3375
  • Check for presence of legacy modules used in the original timabell fork of this project. e8e8067, #57
  • When developing this add-in, you can now Deploy updates without incrementing the version number. (Helpful for testing changes to the code base.) 3d5a732

Bug Fixes

  • Fixed an issue where table data was not exported when Fast Save was turned on. 6fcbc00, #58

v3.1.55: Network drive support

16 Jul 16:19
Compare
Choose a tag to compare

Bug Fixes

  • Now supports relative paths when using mapped network drives. b7f6f1e, bab569b, #55

v3.1.54: Improve custom export paths

14 Jul 19:44
Compare
Choose a tag to compare

Bug Fixes

  • Finish functionality for custom export paths. You can now use both absolute and relative export paths saved at the project level. #53 , #55 , 0a02de5
  • Check to see if database is open before accessing properties. 0490c09, cee3032
  • Fix export of mixed Unicode content from ADP projects. dadf500

Other Changes

  • Encryption is now turned off by default. This should make it easier for new users just getting started with Version Control in Microsoft Access. 587699a

v3.1.51: Bug Fixes

02 Jul 21:02
Compare
Choose a tag to compare

Bug Fixes

  • Skip export/import of inherited relationships used by linked tables. 57efa86
  • Remove duplicate indexes before importing relationships. e9f0fc5, #31

v3.1.49: Theme Support

30 Jun 16:25
Compare
Choose a tag to compare

Enhancements

  • Added a new option where you can choose whether to encrypt, remove, or leave potentially sensitive data when exporting to source. bb96cf0
  • Only update JSON files when the actual content changes. (Ignores header changes like when VCS is updated to a new build version.) This helps reduce the number of changed files in the development cycle. 77abcdc
  • Efficiency improvements in the exporting of print settings which allows us to read print settings directly from the export file, rather than having to open the form/report in design view. This makes the exporting of reports much faster. 61a483e
  • Export/Import of Office Themes are now supported! 3f15102 Thanks, Casper for your help on theme support!

Bug Fixes

  • Fix sanitize function where blank lines could cause missing information in export files, sometimes causing import to fail. 824e185
  • Check for existing unique index on linked table before attempting to create one. 841d06e
  • Fix issue where certain table attributes could not be assigned on linked tables. a4c5eba
  • Remove unused document properties in new database when building from source. dae8712