Skip to content

Latest commit

 

History

History
120 lines (103 loc) · 4.56 KB

Workflows.md

File metadata and controls

120 lines (103 loc) · 4.56 KB

Release

  1. Checkout X.X.X-rc-preparation
  2. Check API
    • Configuration in CatalogExportThread and CatalogImportThread code
    • Description in specification file including all changelog and migration information
    • also check the correct version number in respect to the performed changes
  3. Check Workflow documentation
  4. Update Application Description and perform a check of the content for any erros (e.g. using MS Word)
  5. If any changes were made to the handbook or the referenced image files, re-export the pdf-files for Handbuch.md and Manuals.md and commit those as docs(manuals): generate pdf
  6. Update Changelog
    • document new features
    • document open issues that have a direct impact regarding the functionality

      Add a "> Solved with Version x.x.x" mark at any open issue when it is solved in a later version.

    • document solved bugs
    • commit as docs: update changelog
  7. Make testbuild in a copied folder and test functionality
    • check added functionality for basic workflow
    • check validation of wrong or missing inputs
    • check if all validation messages are shown for missing inputs
  8. Simplify code
    • remove unnecessary imports
    • check autocompletion hints
  9. Check the "Publish Version" in Properties > Publish > Publish Version and correct it, if needed (usually instead of the revision, the build part should be raised in comparison to the latest release)
  10. Right-click project > "Publish" > click through the wizard (keep all settings)
  11. Select all items in the release folder and zip them to a file called Media_Manager-vX.X.X
  12. Commit as chore: build vX.X.X
  13. Push, review and merge X.X.X-rc-preparation
  14. Create Release in Repository
    1. git checkout -b X.X.X-rc
    2. push new branch
    3. Github > Tags > Create a new Release
      • Tag: "vX.X.X" -> set to create "on publish"
      • Target branch: "X.X.X-rc"
      • Title: "vX.X.X"
      • Description: Copy from Changelog
      • Files: add executable or similar binary file
        • add zip file of release
        • add pdf-manuals in all languages

Update against template

Run once: git remote add template https://github.com/Joschiller/Project_Template

  1. git fetch --all
  2. git merge template/main --allow-unrelated-histories

File Structure

File Regions

#region Events
// handler, delegates
#endregion
#region Properties
// bindings, that are also used as getter/setter
#endregion
#region Bindings
// internal bindings
#endregion
#region Setup
// private state attributes that do not belong to bindings
// constants
// constructors
// LanguageProvider
// setup/reload-methods
#endregion
#region Getter/Setter
// public methods
#endregion
#region Handler
// internal event handlers that call the below functions (these just serve as a redirection to the actual functions)
#endregion
#region Functions
// methods that are called by the handlers
#endregion

Constructors

InitializeComponent();
DataContext = this;
// ... register needed handlers
RegisterAtLanguageProvider(); /* or */ LoadTexts();
// ... further setup

Application Changes

XML Versioning Default Schema Template

  • SchemaName
    • Description: ...
    • Type: object
    • Properties:
      • ...
        • Type: ...
        • Description: ...
        • Default: ...
        • Null Replacement: ...
        • Min Value: ...
        • Max Value: ...
        • Max Length: ...
        • Pattern: ...

Modifying the XML Export

When modifying the XML export always complete these steps:

  • Modify the versioning accordingly. If a change has already been done since the last release, only increase the version if needed. (See DataConnector.CurrentExportVersion)
  • Check the downwards compatibility of the export files and change the attributes accordingly. (See DataConnector.MinimumImportVersion)
  • Add a new section (or update the newest section for the upcoming release) in the xml versioning description.
    • Include a complete copy of the older version description here with an additional change section on top, to describe the last changes.
    • Also include a migration guide to update older file versions to the new version, in case the application needs to have more data provided that cannot be optional. - Otherwise always try to make new fields optional!

Help Images

When editing images for the help menu, the nearest border to the shown feature (e.g. menu bar) is always cut off.