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

Phoenix πŸ¦β€πŸ”₯ #296

Open
KarelJanVanHaute opened this issue Mar 10, 2024 · 1 comment
Open

Phoenix πŸ¦β€πŸ”₯ #296

KarelJanVanHaute opened this issue Mar 10, 2024 · 1 comment
Assignees

Comments

@KarelJanVanHaute
Copy link
Contributor

KarelJanVanHaute commented Mar 10, 2024

Phoenix AKA frontend updater

The backend is relatively easy to update due to the fact that it is one maintained system (Craft). The frontend on the other hand is a combination of frameworks and tools. This makes it more difficult to make this upgradable. But to keep all our project up-to-date on the frontend-side, we have the need for an updater.

Some first ideas

Let's make a node application to handle the updates. This will be integrated in the baseinstall. And this will update itself if needed.

The updater should be driven by .json files with all the changes that need to be made.
The updater should connect to the master git branch of the baseinstall and check if there are newer update files.

A possible flow:

  • Check if there are no changed files in the repo. If so, first commit them. This gives you a clear overview of all changed files after the update.
  • Check if there are newer update files on the master branch of the baseinstall
  • Download these files.
  • Execute all the changes described in the file.
  • Open up the changelog of that update in the browser. For some updates, there will be the need of some manual changes. This can be described in the changelog.
  • Check all changed files. Do for some critical file a history compare to make sure you are not overwriting crittical code.
  • Check if everything still works
  • Commit the update.

What the update file should facilitate:

  • Overwrite files from the master branch of the baseinstall. This is mainly for files like the javascript components.
  • Find and replace code in a specific file using regex
  • Find and replace code across all template files using regex
  • Download some newly added files.
  • ...

Extra

Make a cleanup function to clean up some example files like the jsplugin folder.
Also remove this path in the tailwind.config.
And remove the source files and the doc files from the updater.
⚠️ This cleanup should not work when run in the baseinstall itself.

Testing?

Take screenshots of all pages based on the sitemap of the site before the upgrade.
Take screenshots after the update
do a diff on the screenshots to see if the upgrade breaks something.

@KarelJanVanHaute KarelJanVanHaute self-assigned this Mar 10, 2024
@KarelJanVanHaute KarelJanVanHaute changed the title Phoenix 🐦πŸ”₯ Phoenix πŸ¦β€πŸ”₯ Mar 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant