From 6293c11db67d45dc08215eb7911fbee84155c500 Mon Sep 17 00:00:00 2001 From: Simon Templer Date: Fri, 15 Mar 2024 21:50:15 +0100 Subject: [PATCH] docs: add overview slides from sprint review meeting --- docs/overview/.gitignore | 1 + docs/overview/export-pdf.sh | 7 ++ docs/overview/images/we.png | Bin 0 -> 10274 bytes docs/overview/index.html | 95 ++++++++++++++++++ docs/overview/run.sh | 4 + docs/overview/slides.md | 193 ++++++++++++++++++++++++++++++++++++ 6 files changed, 300 insertions(+) create mode 100644 docs/overview/.gitignore create mode 100755 docs/overview/export-pdf.sh create mode 100644 docs/overview/images/we.png create mode 100644 docs/overview/index.html create mode 100755 docs/overview/run.sh create mode 100644 docs/overview/slides.md diff --git a/docs/overview/.gitignore b/docs/overview/.gitignore new file mode 100644 index 00000000..a1363379 --- /dev/null +++ b/docs/overview/.gitignore @@ -0,0 +1 @@ +*.pdf diff --git a/docs/overview/export-pdf.sh b/docs/overview/export-pdf.sh new file mode 100755 index 00000000..5e6b66db --- /dev/null +++ b/docs/overview/export-pdf.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +# +# Note: Requires the slides to run on localhost (see run.sh) +# + +docker run --rm -t --net=host -v "`pwd`":/slides astefanutti/decktape http://localhost:8000 slides.pdf diff --git a/docs/overview/images/we.png b/docs/overview/images/we.png new file mode 100644 index 0000000000000000000000000000000000000000..eeecd064dc2223002205a239fe815884057d628a GIT binary patch literal 10274 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%0DqJQrAYae3W9?Kz*}UKsBS0sd z$I6??O5Ii&wl`zmacxs+p8vr1g7-gqB8#paiNGI#^hnJU$ycq*E1I3lKJ;l=zi4*V z?UK>1MDP4BcZq-$fh%Hy4)K+o+^(^V=m3MQPcFe4`nEK24$rBubHKdz!MQS9sAv<@T~>~pq+k3V{&C$V&tIum-iK);J_4XY1OihEs{`kXFk&&N)unTM zw0R}?>tcT8w+o1rma|ke*7N&QSxFff92m*W zU+K^`JP5c*eN}T(%rLFFp|ejcT`BISVKEE7aGmyua=hcZ|0$O?SOT3Dye3co40}M7 zCgz41p#k1LezxsjP2)7vanF;dJ^I=&scv$28#v~N?L;a_Bt&Fm=o)zhU|G_>cp&PZ z!U)BSQeLESnxc4SOz?l`mnxujMl>BtOn($XAO;|OfEKn8idv8hh68Dq$P)(4Ras#6RPB)QhG*ejd$HkdZx4Z&&4R)GJ;6BQbpadkqQ5QUFv!E%8*LbD35N;Robo z2jZ)^T5it1gFSRwFJ>Ct9kKUo@Vx0Ss%zYdi*Rvc1m~7!$38}=btU=G;{#&ht)lPe kKiNG@CnZOpS3aT(MYLn{du#=x_VWR%imw&w + + + Offline resources + + + + + + + + diff --git a/docs/overview/run.sh b/docs/overview/run.sh new file mode 100755 index 00000000..cff5cf21 --- /dev/null +++ b/docs/overview/run.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +# Starts a web server on port 8000 +python3 -m http.server diff --git a/docs/overview/slides.md b/docs/overview/slides.md new file mode 100644 index 00000000..5298c4ef --- /dev/null +++ b/docs/overview/slides.md @@ -0,0 +1,193 @@ +layout: true + +
Offline resources overview
+ +--- +class: center, middle + +# Offline resources + +.small[2024-03-18] + + +??? + +Discussion about use in hale studio, desired confguration: +https://wetransform.slack.com/archives/C8Z981X0W/p1706775949250009?thread_ts=1705917003.471539&cid=C8Z981X0W + + +--- + +# What kind of resources? + +- Schema files (INSPIRE + dependencies, XPlanung, OGC) +- Information from INSPIRE registry (used in hale-studio) + - Code lists + - Feature concepts + - Schema list for preset generation + +--- + +# Where are they used? + +- hale-studio +- hale-cli (via hale-studio dependencies) +- hale Gradle Plugin (via hale-cli dependency) +- hale-connect + - hale-studio dependencies + - Schema Service + - Project Service + - Transformation + - Kelvin + - Service Publisher (via Kelvin dependencies) + + +--- + +# Why use offline resources? + +- Solve issue with the HTTPS redirects (libraries not able to handle redirect) +- Speeds up loading (especially some of) the resources +- Concrete problems in the past that online resources + - were not available temporarily + - were removed + - were changed in a way was that resulted in problems + +**Main problem** + +- Stay up-to-date with changes + +??? + +The changes themselves are also increasingly becoming a problem (e.g. breaking changes in schemas which did usually not happen in the past) + +--- + +# How to update offline resources? + +**We used to** + +- Update seldom, often only if there was an external trigger (e.g. issue raised because of outdated resources) +- Use different approaches for hale-studio and hale-connect: + - Add resource bundles to hale-platform update site + - Publish Maven artifacts in offline-resources repository + +--- + +# How to update offline resources? + +**Now** + +- We get notified if there is a change + - we can review the changes and + - automated tests are run (though at the moment they only cover a few small things that could go wrong) +- We have a common build producing artifacts used in both hale-studio and hale-connect + + +--- + +# How to update offline resources? + +- Resources are [downloaded regularly](https://github.com/wetransform/offline-resources/actions/workflows/update-resources.yml) (currently daily) and checked for changes +- If there are changes + - Increase version of respective bundle (uses date based versions) + - Creates a Pull Request ([Example](https://github.com/wetransform/offline-resources/pull/43)) +- After merging, publish Maven artifacts and dedicated update site + +--- + +# hale-studio - Integration + +**Current approach:** + +Update site contains only latest versions of resources. + +*Pros:* + +- We are forced to update if there are new versions (otherwise the build fails) +- Independent of any changes in hale-platform update site + +*Cons:* + +- Old commits cannot be built unless the reference to the update site is up-to-date + +--- + +# hale-studio - Integration + +**Possible improvements** + +- Instead of relying on build failure as trigger for update, actively create a PR to change the target platform + - This would allow to keep (or merge) old update site versions + +--- + +# hale-studio - What if resources get outdated? + +Two strategies we want to follow in parallel + +1. Update offline resources on changes, release hale-studio easier and more often +2. Give users control over the behavior + +--- + +# hale-studio - Configurable behavior + +- Introduce a setting that allows disabling using offline resources + - Should be possible to set both in the UI and headless + - Could be later extended with: + - Option to only use offline-resources if using online resource fails + - Specifying a list of URLs to ignore +- Add information *From URL* and *From Preset* for imports if offline resources are enabled, to make users aware of the behavior + +--- + +# Usage as Maven dependencies + +Except for hale-studio and Service Publisher, all other components include offline resources as Maven dependencies. + +--- + +# Usage as Maven dependencies + +**Approach 1:** + +Use `CURRENT-SNAPSHOT` version to always get the latest version ([Example](https://github.com/wetransform/schema-service/blob/3b470f795a5cb3227eb0e90fd9cce02e2e053d1f/build.gradle#L137)). + +Pros: + +- On build automatically uses the latest version + +Cons: + +- Dependencies not stable: Resources can change unexpectedly/unintentionally +- Builds need to be triggered for the resources to be updated + +--- + +# Usage as Maven dependencies + +**Approach 2:** + +Use release versions of Maven artifacts ([Example](https://github.com/halestudio/hale-cli/blob/74ce2de3044d8962934088857921b70b80e4e543/build.gradle#L144)). + +Pros: + +- Stable dependencies, reproducable results + +Cons: + +- Requires dependency management tools to keep the resources up-to-date (For [example using Renovate](https://github.com/halestudio/hale-cli/pull/116)). + +--- + +# Integration in Service Publisher + +Currently remains the task that requires most effort. + +It requires: + +- Dependencies in kelvin to be updated first +- Kelvin artifacts to be published +- The service-publisher-platform update site updated with the new Kelvin artifacts +- The target platform definition update with the new update site version