@eeacms/volto-eea-kitkat 6.2.3 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,9 +4,24 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ #### [7.0.0](https://github.com/eea/volto-eea-kitkat/compare/6.2.3...7.0.0)
8
+
9
+ - feat(VersionOverview): Use config.settings.frontendVersion - refs #153334 [`2143cc6`](https://github.com/eea/volto-eea-kitkat/commit/2143cc65dfd45ab7cafea691368088a0c58090b4)
10
+ - Release @eeacms/volto-group-block@4.3.8 [`17629a0`](https://github.com/eea/volto-eea-kitkat/commit/17629a0097f740e1f871f3b84df76ecae23c58d9)
11
+ - Release @eeacms/volto-tabs-block@2.2.0 [`206bd93`](https://github.com/eea/volto-eea-kitkat/commit/206bd93dfc6dba92d4425e1d8f30e9cc502de5b1)
12
+ - Release volto-slate@6.3.0 [`a9a8bf8`](https://github.com/eea/volto-eea-kitkat/commit/a9a8bf8ba1ba8b711cf8949cd864e94d87f2f1e7)
13
+ - feat(VersionOverview): Persist FRONTEND_VERSION on backend on startup [`ec095b1`](https://github.com/eea/volto-eea-kitkat/commit/ec095b16d910fce231c4fe1de180ffb905dad8df)
14
+ - feat(VersionOverview): Better discover frontend / backend version [`aaec299`](https://github.com/eea/volto-eea-kitkat/commit/aaec299f285f82f999b13b6518c94802b1df14d4)
15
+ - feat(VersionOverview): Show history changelog if version - refs #153334 [`6c6a170`](https://github.com/eea/volto-eea-kitkat/commit/6c6a170d2fc3507fce7b59f8ea9f4e007483eef2)
16
+ - feat(VersionOverview): Add links to changelogs - refs #153334 [`15867e4`](https://github.com/eea/volto-eea-kitkat/commit/15867e4b81bbcefa2c492e118725d9add9bd6de5)
17
+ - feat(VersionOverview): Update Controlpanels VersionOverview - refs #153089 [`9856935`](https://github.com/eea/volto-eea-kitkat/commit/9856935f9d64e9ed442b883a639717901ec28ae0)
18
+ - feat(VersionOverview): Copy unchanged from @plone/volto 16 alpha 12 [`4dd2c23`](https://github.com/eea/volto-eea-kitkat/commit/4dd2c23c7440fa12845d15831d2b645152997af0)
19
+
7
20
  #### [6.2.3](https://github.com/eea/volto-eea-kitkat/compare/6.2.2...6.2.3)
8
21
 
9
- - Release @eeacms/volto-columns-block@4.5.3 [`0de16e7`](https://github.com/eea/volto-eea-kitkat/commit/0de16e768736b90ff52b854f0f156379f64d4b14)
22
+ > 17 August 2022
23
+
24
+ - Release @eeacms/volto-columns-block@4.5.3 [`#61`](https://github.com/eea/volto-eea-kitkat/pull/61)
10
25
 
11
26
  #### [6.2.2](https://github.com/eea/volto-eea-kitkat/compare/6.2.1...6.2.2)
12
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-eea-kitkat",
3
- "version": "6.2.3",
3
+ "version": "7.0.0",
4
4
  "description": "@eeacms/volto-eea-kitkat: Volto Add-ons bundle - A known good set of Volto addons to be used within all EEA projects and beyond",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -59,7 +59,7 @@
59
59
  "@eeacms/volto-columns-block": "4.5.3",
60
60
  "@eeacms/volto-corsproxy": "2.1.6",
61
61
  "@eeacms/volto-depiction": "0.1.6",
62
- "@eeacms/volto-group-block": "4.3.6",
62
+ "@eeacms/volto-group-block": "4.3.8",
63
63
  "@eeacms/volto-listing-block": "0.4.4",
64
64
  "@eeacms/volto-matomo": "2.0.9",
65
65
  "@eeacms/volto-metadata-block": "4.0.8",
@@ -69,14 +69,14 @@
69
69
  "@eeacms/volto-slate-footnote": "5.0.1",
70
70
  "@eeacms/volto-slate-metadata-mentions": "5.0.1",
71
71
  "@eeacms/volto-slate-zotero": "4.0.5",
72
- "@eeacms/volto-tabs-block": "2.1.0",
72
+ "@eeacms/volto-tabs-block": "2.2.0",
73
73
  "@eeacms/volto-taxonomy": "2.0.6",
74
74
  "@eeacms/volto-widget-dataprovenance": "0.1.4",
75
75
  "@eeacms/volto-widget-geolocation": "4.0.6",
76
76
  "@eeacms/volto-widget-temporal-coverage": "4.0.6",
77
77
  "@eeacms/volto-widget-toggle": "2.2.7",
78
78
  "@eeacms/volto-widgets-view": "3.0.5",
79
- "volto-slate": "6.2.2"
79
+ "volto-slate": "6.3.0"
80
80
  },
81
81
  "resolutions": {
82
82
  "@eeacms/volto-accordion-block": "3.5.0",
@@ -88,7 +88,7 @@
88
88
  "@eeacms/volto-columns-block": "4.5.3",
89
89
  "@eeacms/volto-corsproxy": "2.1.6",
90
90
  "@eeacms/volto-depiction": "0.1.6",
91
- "@eeacms/volto-group-block": "4.3.6",
91
+ "@eeacms/volto-group-block": "4.3.8",
92
92
  "@eeacms/volto-listing-block": "0.4.4",
93
93
  "@eeacms/volto-matomo": "2.0.9",
94
94
  "@eeacms/volto-metadata-block": "4.0.8",
@@ -98,14 +98,14 @@
98
98
  "@eeacms/volto-slate-footnote": "5.0.1",
99
99
  "@eeacms/volto-slate-metadata-mentions": "5.0.1",
100
100
  "@eeacms/volto-slate-zotero": "4.0.5",
101
- "@eeacms/volto-tabs-block": "2.1.0",
101
+ "@eeacms/volto-tabs-block": "2.2.0",
102
102
  "@eeacms/volto-taxonomy": "2.0.6",
103
103
  "@eeacms/volto-widget-geolocation": "4.0.6",
104
104
  "@eeacms/volto-widget-dataprovenance": "0.1.4",
105
105
  "@eeacms/volto-widget-temporal-coverage": "4.0.6",
106
106
  "@eeacms/volto-widget-toggle": "2.2.7",
107
107
  "@eeacms/volto-widgets-view": "3.0.5",
108
- "volto-slate": "6.2.2"
108
+ "volto-slate": "6.3.0"
109
109
  },
110
110
  "devDependencies": {
111
111
  "@cypress/code-coverage": "^3.9.5",
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Version Overview component.
3
+ * @module components/manage/Controlpanels/VersionOverview
4
+ */
5
+
6
+ import React from 'react';
7
+ import { FormattedMessage } from 'react-intl';
8
+ import { Grid, Label, Header } from 'semantic-ui-react';
9
+ import { formatDate } from '@plone/volto/helpers/Utils/Date';
10
+ import { version as voltoVersion } from '@plone/volto/../package.json';
11
+
12
+ import config from '@plone/volto/registry';
13
+
14
+ const VersionOverview = ({
15
+ cmf_version,
16
+ debug_mode,
17
+ pil_version,
18
+ plone_version,
19
+ plone_restapi_version,
20
+ python_version,
21
+ zope_version,
22
+ eggs = {},
23
+ frontend = {},
24
+ backend = {},
25
+ }) => {
26
+ const { addonsInfo } = config.settings;
27
+ const locale = config.settings.dateLocale || 'en-gb';
28
+ const frontendVersion = frontend.version || config.settings.frontendVersion;
29
+ const backendVersion = backend.version || config.settings.backendVersion;
30
+
31
+ return (
32
+ <Grid columns={2} stackable>
33
+ <Grid.Row>
34
+ <Grid.Column>
35
+ {frontend.date && (
36
+ <Label className="highlight" ribbon>
37
+ Updated:{' '}
38
+ {formatDate({
39
+ date: frontend.date,
40
+ format: {
41
+ dateStyle: 'medium',
42
+ timeStyle: 'short',
43
+ },
44
+ locale: locale,
45
+ })}{' '}
46
+ </Label>
47
+ )}
48
+ <Header as="h3">
49
+ <span>Frontend {frontendVersion ? frontendVersion : ''}</span>
50
+ </Header>
51
+ {frontendVersion && (
52
+ <a
53
+ href={[
54
+ config.settings.changelogUrlPrefix,
55
+ config.settings.frontendName,
56
+ config.settings.changelogUrlSuffix,
57
+ ].join('/')}
58
+ target="_blank"
59
+ rel="noreferrer"
60
+ >
61
+ History: {frontend.old_version} ⇢ {frontendVersion}
62
+ </a>
63
+ )}
64
+ <ul style={{ fontSize: '16px', fontFamily: 'Monospace' }}>
65
+ {voltoVersion && <li>Volto {voltoVersion}</li>}
66
+ {addonsInfo.map((addon) => (
67
+ <li key={addon.name}>{`${addon.name} ${addon.version || ''}`}</li>
68
+ ))}
69
+ </ul>
70
+ </Grid.Column>
71
+ <Grid.Column>
72
+ {backend.date && (
73
+ <Label className="high" ribbon="right">
74
+ Updated:{' '}
75
+ {formatDate({
76
+ date: backend.date,
77
+ format: {
78
+ dateStyle: 'medium',
79
+ timeStyle: 'short',
80
+ },
81
+ locale: locale,
82
+ })}
83
+ </Label>
84
+ )}
85
+ <Header as="h3" textAlign="right">
86
+ Backend {backendVersion ? backendVersion : ''}
87
+ </Header>
88
+ <a
89
+ className="ui right aligned container"
90
+ href={[
91
+ config.settings.changelogUrlPrefix,
92
+ config.settings.backendName,
93
+ config.settings.changelogUrlSuffix,
94
+ ].join('/')}
95
+ target="_blank"
96
+ rel="noreferrer"
97
+ >
98
+ History: {backend.old_version} ⇢ {backendVersion}
99
+ </a>
100
+ <ul
101
+ style={{
102
+ fontSize: '16px',
103
+ fontFamily: 'Monospace',
104
+ }}
105
+ >
106
+ <li>Plone {plone_version}</li>
107
+ <li>plone.restapi {plone_restapi_version}</li>
108
+ <li>CMF {cmf_version}</li>
109
+ <li>Zope {zope_version}</li>
110
+ <li>Python {python_version}</li>
111
+ <li>PIL {pil_version}</li>
112
+ {Object.keys(eggs).map((k) => (
113
+ <li>
114
+ {k} {eggs[k]}
115
+ </li>
116
+ ))}
117
+ </ul>
118
+ </Grid.Column>
119
+ </Grid.Row>
120
+ <Grid.Row columns={1}>
121
+ <Grid.Column>
122
+ {debug_mode !== 'No' && (
123
+ <p>
124
+ <FormattedMessage
125
+ id="Warning Regarding debug mode"
126
+ defaultMessage="You are running in 'debug mode'. This mode is intended for sites that are under development. This allows many configuration changes to be immediately visible, but will make your site run more slowly. To turn off debug mode, stop the server, set 'debug-mode=off' in your buildout.cfg, re-run bin/buildout and then restart the server process."
127
+ />
128
+ </p>
129
+ )}
130
+ </Grid.Column>
131
+ </Grid.Row>
132
+ </Grid>
133
+ );
134
+ };
135
+
136
+ export default VersionOverview;
package/src/index.js CHANGED
@@ -1,8 +1,43 @@
1
+ import { version as frontendVersion } from '../../../../package.json';
2
+ import { name as frontendName } from '../../../../package.json';
3
+ import { updateSystemInfo } from '@eeacms/volto-eea-kitkat/system';
4
+
1
5
  const applyConfig = (config) => {
2
6
  if (process.env.NODE_ENV !== 'production') {
3
7
  // Enable description block for cypress
4
8
  config.blocks.blocksConfig.description.restricted = false;
5
9
  }
10
+
11
+ // Changelogs
12
+ config.settings.changelogUrlPrefix =
13
+ config.settings.changelogPrefix ||
14
+ process.env.RAZZLE_CHANGELOG_PREFIX ||
15
+ 'https://github.com/eea';
16
+
17
+ config.settings.changelogUrlSuffix =
18
+ config.settings.changelogSuffix ||
19
+ process.env.RAZZLE_CHANGELOG_PREFIX ||
20
+ 'releases';
21
+
22
+ config.settings.frontendVersion =
23
+ config.settings.frontendVersion ||
24
+ process.env.FRONTEND_VERSION ||
25
+ frontendVersion;
26
+
27
+ config.settings.frontendName =
28
+ config.settings.frontendName || process.env.FRONTEND_NAME || frontendName;
29
+
30
+ config.settings.backendVersion =
31
+ config.settings.backendVersion || process.env.BACKEND_VERSION || '';
32
+
33
+ config.settings.backendName =
34
+ config.settings.backendName || process.env.BACKEND_NAME || 'plone-backend';
35
+
36
+ // Persist FRONTEND_VERSION on backend registry
37
+ if (__SERVER__) {
38
+ updateSystemInfo(config);
39
+ }
40
+
6
41
  return config;
7
42
  };
8
43
 
package/src/system.js ADDED
@@ -0,0 +1,49 @@
1
+ /* eslint no-console: ["error", { allow: ["warn", "log"] }] */
2
+ export const updateSystemInfo = (config) => {
3
+ var fetch = require('node-fetch');
4
+ const internalApi =
5
+ config.settings.internalApiPath || config.settings.devProxyToApiPath;
6
+ const version = config.settings.frontendVersion;
7
+
8
+ // Nothing to do
9
+ if (!version || !internalApi) {
10
+ return config;
11
+ }
12
+
13
+ // Backend @system update via PATCH is allowed only via internal API
14
+ if (
15
+ !(
16
+ internalApi.startsWith('http://localhost') ||
17
+ internalApi.startsWith('http://backend')
18
+ )
19
+ ) {
20
+ return config;
21
+ }
22
+
23
+ // Persist FRONTEND_VERSION on backend registry
24
+ const url = `${internalApi}/@system`;
25
+ fetch(url, {
26
+ method: 'PATCH',
27
+ body: JSON.stringify({
28
+ 'eea.kitkat.interfaces.IEEAVersionsFrontend.version': version,
29
+ }),
30
+ headers: {
31
+ Accept: 'application/json',
32
+ },
33
+ })
34
+ .then((response) => response.text())
35
+ .then((text) => {
36
+ if (text) {
37
+ console.log(`Updating FRONTEND_VERSION on backend registry: ${text}`);
38
+ } else {
39
+ console.log(
40
+ `FRONTEND_VERSION already up-to-date on backend registry: ${version}`,
41
+ );
42
+ }
43
+ })
44
+ .catch((err) =>
45
+ console.warn(`Could NOT update FRONTEND_VERSION on backend: ${err}`),
46
+ );
47
+
48
+ return config;
49
+ };