Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 3f01386 #5

Merged
merged 83 commits into from
Nov 23, 2023
Merged

Merge 3f01386 #5

merged 83 commits into from
Nov 23, 2023

Commits on Sep 23, 2023

  1. Updating clsPerformance, as some objects never restart timing, and wh…

    …en resetting some objects are not cleared. Fixes joyfullservice#331
    hecon5 committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    53394a8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4a27077 View commit details
    Browse the repository at this point in the history
  3. This isn't actually used.

    hecon5 committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    bd24538 View commit details
    Browse the repository at this point in the history
  4. Bump Version

    hecon5 committed Sep 23, 2023
    Configuration menu
    Copy the full SHA
    6e8007a View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2023

  1. Update API examples

    Removed dependency on an external function, and added an example for building from source.
    joyfullservice committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    62fde81 View commit details
    Browse the repository at this point in the history
  2. Refine some dialect-specific SQL string quotations

    Backticks only apply to MySQL, while square brackets are used with MSSQL and Access. joyfullservice#442
    joyfullservice committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    3273089 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2023

  1. Allow wrapping of long names in performance class

    Extending the performance class to allow the wrapping of long names used for categories or operations. (Not really needed within this project, but could potentially be helpful in the future with translations.) joyfullservice#441
    joyfullservice committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    1cda774 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    eae289b View commit details
    Browse the repository at this point in the history
  3. Resolve conflict with upstream file

    Putting the comma after the argument seems to be the preferred industry-standard approach, based on ChatGPT and Bard.
    joyfullservice committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    8c6d7f9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b1af656 View commit details
    Browse the repository at this point in the history
  5. Merge pull request joyfullservice#441 from hecon5/clsPerformanceUpdates

    Updating clsPerformance, as some objects never restart timing, and wh…
    joyfullservice authored Oct 19, 2023
    Configuration menu
    Copy the full SHA
    b418a54 View commit details
    Browse the repository at this point in the history
  6. Add option to pass path to build API

    You can now specify the source files path when you initiate a build through the API. This allows automated builds to be run even if a copy of the database does not yet exist. (Such as after checking out a project in an automated CI workflow.) joyfullservice#430
    joyfullservice committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    6cdac0c View commit details
    Browse the repository at this point in the history
  7. The logic for checking of existence of git files wasn't always workin…

    …g as expected due to searching the current directory rather than using the export folder.
    bclothier committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    734d835 View commit details
    Browse the repository at this point in the history
  8. Add a check when loading XML and verify it was successfully parsed. T…

    …his avoid generating a bad export where the data are not actually exported due to invalid XML being generated by Application.ExportXML. Unfortunately, if a table contains any characters that aren't valid for XML document, it won't try to escape them and include them as literals. Even if they were escaped, they might not be accepted anyway. XML specifications forbids having any characters in 0x01-0x31 range so if a table data contains such characters, this can cause the XML export to fail. In this case, tab delimited will have to be used instead. However, the previous version was simply silently exporting as if everything is hunky-dory when it's not. Hence, the error.
    bclothier committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    4703b7b View commit details
    Browse the repository at this point in the history
  9. The export log was littered with bunch of warnings about unclosed blo…

    …cks. This seems to be due to not closing it when evaluating the UseTheme. Even if we skipped it, we still need to remove it from m_colBlocks to balance everything out.
    bclothier committed Oct 19, 2023
    Configuration menu
    Copy the full SHA
    0d9ac0a View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8f2f325 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2023

  1. Fix a subscript out of range error where the tokens advance beyond th…

    …e end of the string but the function GetNextTokenID returns 0, which then fails within FormatSQL function since there is no member at index 0. It's not clear why this only fails every second time a query is exported but it is the case where if it fails, exporting it next time will not yield the error. Do it 3rd time, then it fails.
    bclothier committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    736c33c View commit details
    Browse the repository at this point in the history
  2. Add more types of queries that should not be formatted by SQL formatt…

    …er because they are a variant of pass-through queries.
    bclothier committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    5b5e037 View commit details
    Browse the repository at this point in the history
  3. The AutoClose may run after the form has closed (e.g. if the user is …

    …quick to close it) which may result in an error about object members not available. Since the form is closed, there's no point in setting the timer interval. To avoid the error when debugging, we add a IsLoaded check and skip it if it's not loaded.
    bclothier committed Oct 20, 2023
    Configuration menu
    Copy the full SHA
    490d82e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5362b37 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a666c9d View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2023

  1. Add option to SplitLayoutFromVBA

    This option (on by default) will save the VBA code from forms and reports as a related .cls file. (Still under development.) joyfullservice#378
    
    Also removed the "Strip out Publish Option" from the options form. I have never heard of a case where this needs to be changed, and it frees up space for the new option we are adding without cluttering the form.
    joyfullservice committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    40cffbc View commit details
    Browse the repository at this point in the history
  2. Refactor code module export to shared function

    This logic will be shared when exporting code modules from forms and reports.
    joyfullservice committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    07e364e View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2023

  1. Support "|" in performance log entry names

    Refactored parsing the key from the performance item so that we are not dependent upon a unique delimiter. The timing value is always a number, so we can be confident that the first pipe character is the delimiter. The text after that can be anything, including pipe characters. joyfullservice#450
    joyfullservice committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    0beaee5 View commit details
    Browse the repository at this point in the history
  2. Adjust indenting

    (minor change)
    joyfullservice committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    1ca6886 View commit details
    Browse the repository at this point in the history
  3. Convert Sanitize module to class

    In some cases sanitizing a source file actually creates two distinct outputs. A layout file and a code file. Rather than making the sanitize function more complicated with byref outputs and non-obvious side effects, I am taking the approach of a more explicit object-oriented route where the code is easier to understand and maintain. (And also allows for future enhancements such as SQL extraction for query definition files.)
    joyfullservice committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    8e70ad2 View commit details
    Browse the repository at this point in the history
  4. Refactor sanitizing to use class

    Updating the existing code to use the new class.
    joyfullservice committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    1c0d3f4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c87261a View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. Refactor form/report export to split VBA

    Export is now splitting the VBA from Form and Report objects to separate files with a .cls extension. Moving on to the code that will stitch these files back together before import.
    joyfullservice committed Nov 2, 2023
    Configuration menu
    Copy the full SHA
    89101c5 View commit details
    Browse the repository at this point in the history
  2. Rename Sanitize class to SourceParser

    This better reflects the expanded role of the class.
    joyfullservice committed Nov 2, 2023
    Configuration menu
    Copy the full SHA
    47c6506 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c2ffccf View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. Verify ribbon active state when the add-in loads

    Ensure that the ribbon is active when installing or activating the add-in. See joyfullservice#451
    joyfullservice committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    2d21eb6 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2023

  1. Don't auto split layout/VBA for existing projects

    For existing projects in git repositories, form and report layouts should not be automatically split from the VBA code classes. There is another process that will allow us to split the files while preserving history in both files, but this involves a couple commits and requires a clean branch. For existing projects, this is a manual upgrade (option changes). For new projects, it can happen by default.
    joyfullservice committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    da9f94a View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. Configuration menu
    Copy the full SHA
    43c7133 View commit details
    Browse the repository at this point in the history
  2. Move print settings processing to clsSourceParser

    This keeps the LoadComponentFromText function cleaner and easier to read.
    joyfullservice committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    54e070a View commit details
    Browse the repository at this point in the history
  3. Move source reading function

    This is used in several areas, and allows us to maintain the source file encoding determination in a single location.
    joyfullservice committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    1390f2c View commit details
    Browse the repository at this point in the history
  4. Rework merging source content before import

    Cleaning this up to avoid reading and writing the file additional times while merging content from different sources. (Print settings, VBA code)
    joyfullservice committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    932ac84 View commit details
    Browse the repository at this point in the history
  5. Add support to overlay VBA code after import

    For some (rare) situations, it is necessary to push the VBA code directly using VBE to preserve certain extended characters that may be corrupted in a regular round-trip export/import cycle.
    joyfullservice committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    9069232 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8f1649a View commit details
    Browse the repository at this point in the history
  7. Fix bugs in build logic

    Uncovered these while testing.
    joyfullservice committed Nov 8, 2023
    Configuration menu
    Copy the full SHA
    4f9247d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    925b019 View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2023

  1. Implement correction according to rubberduck (joyfullservice#453)

    replace VBA commands:
    format with format$
    trim with trim$
    Tanarri authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    7b8be8f View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Add wiki page for Split Files

    Describes the process in a little more detail.
    joyfullservice committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    9577eab View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ff706a4 View commit details
    Browse the repository at this point in the history
  3. Add change hook for options

    Used for special processing when certain options change.
    joyfullservice committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    07bc57c View commit details
    Browse the repository at this point in the history
  4. Automate splitting forms and reports

    Adds a link and some code automation to split forms and reports in existing projects to layout and class files.
    joyfullservice committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    e2049fa View commit details
    Browse the repository at this point in the history
  5. Rename function

    Git.Installed sounds better than Git.GitInstalled, and will almost always be called in the context of the git class.
    joyfullservice committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    e723123 View commit details
    Browse the repository at this point in the history
  6. Fixes joyfullservice#354 and Fixes joyfullservice#452 (joyfullservice…

    …#454)
    
    From @hecon5:
    
    Bump version minor number because it's not clear that the index will allow round trip from prior types in all cases; it worked on my machine, but that may not always be the case.
    
    The date types for the index are handled natively by modJsonConverter and should import/export correctly regardless of user's date / time zone or date encoding on machines.
    hecon5 authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    de4602e View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2023

  1. Configuration menu
    Copy the full SHA
    d5e76f7 View commit details
    Browse the repository at this point in the history
  2. Add high-performance wrapper functions

    Avoids the use of RegEx when it is not necessary to parse a standard date format. joyfullservice#354
    joyfullservice committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    286679d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    aff7be9 View commit details
    Browse the repository at this point in the history
  4. Update error handling

    Refactored a number of locations to use the new syntax for On Error Resume Next, and added code to clear expected errors.
    joyfullservice committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    e18d818 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b7985e9 View commit details
    Browse the repository at this point in the history
  6. Add Split Files utility to ribbon (Advanced Tools)

    Also added an informational message box when the split is complete.
    joyfullservice committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    fe35d3b View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. Rename as new files

    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    c28f32b View commit details
    Browse the repository at this point in the history
  2. Restore original files

    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    bc23513 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    923a72b View commit details
    Browse the repository at this point in the history
  4. Split layout from VBA in testing database

    Separates the VBA code from the layout definition in the source files. (Applying to testing database now, will apply to main project soon.)
    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    68e01a7 View commit details
    Browse the repository at this point in the history
  5. Adjust version number

    I am using the minor version number to represent releases from the main branch, and the build number to continuously increment during the development cycle.
    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    436dd45 View commit details
    Browse the repository at this point in the history
  6. Merge pull request joyfullservice#456 from joyfullservice/SplitLayout…

    …FromVBA
    
    Split form/report layout definitions from VBA code
    joyfullservice authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    84b6f77 View commit details
    Browse the repository at this point in the history
  7. Revert the ConvDateUTC and ConvTimeUTC functions to always parse the …

    …"Fast" way first and revert otherwise. this allows the optimization to be used everywhere with no code changes. Ensure that millisecond accuracy is kept for otherse using the function. No Speed impact is noted on my end to doing this.
    hecon5 committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    26bf030 View commit details
    Browse the repository at this point in the history
  8. Pass by ref so we don't need to build more memory use. Optimize Offse…

    …t string building to only do math when it's required and fix whitespace.
    hecon5 committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    1961800 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0ef2d02 View commit details
    Browse the repository at this point in the history
  10. Bump Version

    hecon5 committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    732f4e5 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    500b891 View commit details
    Browse the repository at this point in the history
  12. Merge pull request joyfullservice#458 from hecon5/ISOOptimizations

    Additional Optimizations for parsing time
    joyfullservice authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    b8dfdcc View commit details
    Browse the repository at this point in the history
  13. Implement dialect in SQL formatting

    This was previously only partially implemented. joyfullservice#457
    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    4328713 View commit details
    Browse the repository at this point in the history
  14. Add support for ! boundary character

    This character is used in Microsoft Access in a query when referring directly to a control on a form, and should be treated similar to a period as a separator between elements. joyfullservice#457
    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    62fe0fd View commit details
    Browse the repository at this point in the history
  15. Add SQL formatting query to testing database

    This query demonstrates that we can properly parse and format expressions that refer to controls. joyfullservice#457
    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    1c3bce6 View commit details
    Browse the repository at this point in the history
  16. Solve rare edge case with SQL IN clause

    Just in case a user has an embedded unquoted path in a string, the colon will be treated as a non-spaced boundary character during formatting. (For Microsoft Access SQL only) Fixes joyfullservice#447
    joyfullservice committed Nov 15, 2023
    Configuration menu
    Copy the full SHA
    2a183df View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Configuration menu
    Copy the full SHA
    3ad141c View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. Allow sort of operationames with leading spaces (joyfullservice#463)

    If a operationname has a leading space (like " MyOperation" ) the function "SortItemsByTime" fails.
    Now sorting will success.
    Tanarri authored Nov 17, 2023
    Configuration menu
    Copy the full SHA
    9b6e1dd View commit details
    Browse the repository at this point in the history
  2. Update comment

    After removing string padding in the previous commit.
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    259a8df View commit details
    Browse the repository at this point in the history
  3. Adjust detection of system tables

    Switching to just using a bit flag check to solve joyfullservice#462
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    8776104 View commit details
    Browse the repository at this point in the history
  4. Log warning for UNC path access errors

    Failing to convert a path to UNC may not prevent the operation from completing, but it should be handled and logged. Fixes joyfullservice#461
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    64a14de View commit details
    Browse the repository at this point in the history
  5. Refactor date conversion for DB Properties

    Save custom date properties in ISO (UTC) format in source files, without converting other property types like strings that may parse as dates. joyfullservice#459
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    adfaa01 View commit details
    Browse the repository at this point in the history
  6. Turn off date ISO conversion by default

    This is only used in the index and certain database properties. joyfullservice#459
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    b1bf7bd View commit details
    Browse the repository at this point in the history
  7. Turn on date ISO conversion before reading index

    These dates need to be converted to local dates for internal processing. joyfullservice#459
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    5009bdc View commit details
    Browse the repository at this point in the history
  8. Add saved date property to testing database

    Verifies that the round trip conversion of saved date properties is working correctly. (The dates are stored as UTC in source files, but converted to local dates when imported into the database properties.) joyfullservice#459
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    cb66895 View commit details
    Browse the repository at this point in the history
  9. Add dates stored as text to testing database

    One stored as a regular date string, and the other as an ISO8601 string. (Neither should convert when reading or writing to JSON.) joyfullservice#459
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    b32ff4a View commit details
    Browse the repository at this point in the history
  10. Add default git files if dbs in repository root

    If you use the default options of no special export folder path defined, the project may likely be in the repository root. Add the default .gitignore and .gitattributes files if they are missing. (This would be the default setup for most projects.)
    joyfullservice committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    2bf3047 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Configuration menu
    Copy the full SHA
    3f01386 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2023

  1. Configuration menu
    Copy the full SHA
    90b402f View commit details
    Browse the repository at this point in the history