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

Converting extension to use dynamic import by default (module plugin mode), updating upstream to the latest master branch #36

Conversation

alexander-fedorenko
Copy link
Contributor

Description

  • Converting extension to use dynamic import by default (module plugin mode)
  • Updating upstream to the latest master branch

Please check if the PR fulfills these requirements

What kind of change does this PR introduce? (check one with "x", remove the others)

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Other... Please describe:

Issue

What is the current behavior?
Extension exported to be imported then as a static plugin.

What is the new behavior?
Extension exported as a module plugin,

Breaking change

Does this PR introduce a breaking change? (check one with "x", remove the other)

  • Yes, and I documented them in migration notes
  • No

Other useful information

@alexander-fedorenko
Copy link
Contributor Author

Extension can be installed for test using following zip file:
SampleExtension.zip

@MV88 MV88 self-requested a review September 7, 2022 12:36
@MV88 MV88 added the backport-required We shall backport this to all active branches label Sep 7, 2022
@tdipisa
Copy link
Member

tdipisa commented Sep 7, 2022

Thank you so much @alexander-fedorenko. Once merged and tested we will have to backport only this commit to the 2022.02.xx branch of this repo:

image

As part of that backport, the MS revision of that branch must be updated to the latest 2022.02.xx of MS.

Copy link
Member

@offtherailz offtherailz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, only a few questions for clarification

js/extension/plugins/Extension.jsx Show resolved Hide resolved
import Extension from './extension/plugins/Extension';
import { name } from '../config';


export default {
[name]: createPlugin(name, Extension)
[name]: Extension
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now createPlugin is called directly in extension recall system in MapStore, isn't it?

I'd like to ask you, as a double check, if we can still use old extensions with the new MapStore, if the createPlugin has been moved.
Can you confirm we can install an old or a new extension in the new MapStore?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tdipisa @offtherailz Yes, there is an explicit check for the way of extension export. Old extensions just go through initialization process as before, while new extensions exported as a module will hit this check here geosolutions-it/MapStore2@4005b4e#diff-8940694ab1df4f2163502cdeaf4956a59db143ea8ebf133ddf771ea23d4250cfR157

Just to confirm, here is the context on dev running cadastrapp (it won't load layers because of missing backend path, but anyway, plugins is registered, rendered etc.) and sample extension converted to be registered as module plugin.
https://dev-mapstore.geosolutionsgroup.com/mapstore/#/context/cadastrapp_and_sample

@offtherailz offtherailz self-requested a review September 8, 2022 12:18
@offtherailz offtherailz merged commit 1a0db76 into geosolutions-it:master Sep 8, 2022
@tdipisa
Copy link
Member

tdipisa commented Sep 8, 2022

Thank you @offtherailz. @alexander-fedorenko please backport only this commint in 2022.02.xx of this repo raising a backport PR as described here.

@tdipisa tdipisa removed the request for review from MV88 September 8, 2022 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants