YetaWF Documentation


Upgrading In Development

After retrieving a new version of YetaWF from GitHub and when upgrading third-party YetaWF packages, you'll have to upgrade your site, particularly all SQL tables, files, etc. are updated with new tables, new/changes fields and indexes. This is done automatically. No manual changes are required and no data is lost, all models are changed in-place with suitable defaults for new fields.

  • After an upgrade, restart your site in IIS or use the Url http://yoursite.com/$restartsite.
  • Visit your site in a browser. The first invocation of your site will rebuild and upgrade all data models and make any required updates.

YetaWF keeps track of installed packages and their versions in the file located at ./Website/Data/PackageMap.txt. As the site is restarted, any new packages are automatically updated. An upgrade log file can be found at ./Website/Data/UpgradeLogFile.txt after a site restart.

To avoid data loss, the data for packages that are removed is never removed automatically. This means, when removing a package, data is not removed.

Forcing An Upgrade

When the file UpdateIndicator.txt is added to the root of a YetaWF website, all packages will be updated/created when the site is restarted and the PackageMap.txt file is ignored. During site startup, all packages will be updated/created automatically. The contents of this file are irrelevant, only its presence in the root folder of the site determines whether the packages are updated/created.

No Site Templates are executed during a forced upgrade.

The file UpdateIndicator.txt is deleted once the site is restarted and the packages have been updated/created.

Avoiding An Upgrade

During development, it may be desirable to avoid the automatic upgrade. Particularly if the original PackageMap.txt file is lost, you can restart YetaWF without automatic upgrade by changing your development site's AppSettings.json entry for P:YetaWF_Core:Deployed to true. Once restarted, you'll find a new PackageMap.txt file has been generated. As mentioned, a deployed (i.e., production site) is never automatically upgraded.

    "P": {
      . . .
      "YetaWF_Core": {
        . . .
        "DEBUG-MODE": "true",
        "Demo": "false",
        "Deployed": "true",
        . . .

Upgrading During New Package Development

The above steps will update your site but may be quite time consuming. Restarting your site and the rebuilding of all data models may take several minutes. If you know which data models or packages were changed, you can instead use the Packages Module (Admin > Panel > Packages, standard YetaWF site) and use the "Install Package Models" icon Install Package Models for the particular package which rebuilds all models for that package.

This is the preferred method when you are developing a new package and are updating that package only. In that case updating the models for just that package using Admin > Panel > Packages (standard YetaWF site) is much faster.

Site Template Processing

Whenever a package is upgraded during an automatic YetaWF upgrade, Site Templates are also processed to upgrade any required pages and modules for a package.