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

Split form/report layout definitions from VBA code #456

Merged
merged 37 commits into from
Nov 15, 2023

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.) #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. #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 #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. 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
  2. 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
  3. 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
  4. 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
  5. Configuration menu
    Copy the full SHA
    8f1649a View commit details
    Browse the repository at this point in the history
  6. 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
  7. 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 (#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 #354 and Fixes #452 (#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. #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. Fix copy-paste oversight

    joyfullservice committed Nov 14, 2023
    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