Page MenuHomePhabricator

Untangle datamodel dependency tree
Closed, ResolvedPublic

Event Timeline

Change 540101 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/Wikibase@master] Use 'wikibase.datamodel' as the only datamodel RL module

https://gerrit.wikimedia.org/r/540101

Change 540101 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Use 'wikibase.datamodel' as the only datamodel RL module

https://gerrit.wikimedia.org/r/540101

Change 540405 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/WikibaseLexeme@master] Use 'wikibase.datamodel' as the only datamodel RL module

https://gerrit.wikimedia.org/r/540405

Change 540405 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Use 'wikibase.datamodel' as the only datamodel RL module

https://gerrit.wikimedia.org/r/540405

BTW. Looking at current graph of Wikibase dependencies, it's very obvious how much this work is needed:

G.png (2×10 px, 2 MB)

Change 541216 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/WikibaseLexeme@master] Remove not needed datamodel dependency

https://gerrit.wikimedia.org/r/541216

Change 541229 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/WikibaseMediaInfo@master] Avoid usage of global wikibase.datamodel namespace

https://gerrit.wikimedia.org/r/541229

Change 541216 merged by jenkins-bot:
[mediawiki/extensions/WikibaseLexeme@master] Remove not needed datamodel dependency

https://gerrit.wikimedia.org/r/541216

Change 541229 merged by jenkins-bot:
[mediawiki/extensions/WikibaseMediaInfo@master] Avoid usage of global wikibase.datamodel namespace

https://gerrit.wikimedia.org/r/541229

Change 541553 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/WikibaseMediaInfo@master] Remove global access to Wikibase datamodel in js

https://gerrit.wikimedia.org/r/541553

Jakob_WMDE updated the task description. (Show Details)

Change 541553 merged by jenkins-bot:
[mediawiki/extensions/WikibaseMediaInfo@master] Remove global access to Wikibase datamodel in js

https://gerrit.wikimedia.org/r/541553

Change 542902 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/Citoid@master] Remove global access to Wikibase datamodel in js

https://gerrit.wikimedia.org/r/542902

Change 540382 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/UploadWizard@master] Remove global access to Wikibase datamodel in js

https://gerrit.wikimedia.org/r/540382

Change 540382 merged by jenkins-bot:
[mediawiki/extensions/UploadWizard@master] Remove global access to Wikibase datamodel in js

https://gerrit.wikimedia.org/r/540382

Change 542902 merged by jenkins-bot:
[mediawiki/extensions/Citoid@master] Remove global access to Wikibase datamodel in js

https://gerrit.wikimedia.org/r/542902

Change 543472 had a related patch set uploaded (by Jakob; owner: Jakob):
[mediawiki/extensions/Wikibase@master] Drop all modules that are parts of datamodel

https://gerrit.wikimedia.org/r/543472

Change 543472 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Drop all of wikibase.datamodel except the main entry point

https://gerrit.wikimedia.org/r/543472

I've put in a revert of one of these changes here: https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/Citoid/+/544167/

We were already not using a global module, i.e. loading it using mw.loading elsewhere in the code, so it should not have affected the tree whatsoever.

However, the way the code is written is that of course when wikibase.datamodel loaded using mw.loading, it is then available from that namespace, which this change did avoid; is that a problem? If so it can be fixed.

We were already not using a global module, i.e. loading it using mw.loading elsewhere in the code, so it should not have affected the tree whatsoever.

I think there's a misunderstanding here, by global, we tend to avoid using wikibase.datamodel.* variables which happens regardless of the way you load the module (as dependency declared or lazy loaded using mw.loader)

Can you explain the problem better to me? We just squeezed all modules to one module called wikibase.datamodel and you load it whatever way you want but use it with require (more info)

We were already not using a global module, i.e. loading it using mw.loading elsewhere in the code, so it should not have affected the tree whatsoever.

I think there's a misunderstanding here, by global, we tend to avoid using wikibase.datamodel.* variables which happens regardless of the way you load the module (as dependency declared or lazy loaded using mw.loader)

Can you explain the problem better to me? We just squeezed all modules to one module called wikibase.datamodel and you load it whatever way you want but use it with require (more info)

Whoops, you're right, sorry about that!