Comments (10)
@indigoxela I think this is the best we can do. During the D7 upgrade we can disable the deprecated modules so it won't prevent subsequent upgrades. I haven't figured out yet how to start the upgrade (other than manually disabling in the system table or adding dummy modules).
from i18n.
Just thinking about this now: maybe we should be putting all the update hooks (which I added to other issues) in i18n.install
so that we can remove these submodules now or later.
from i18n.
This PR #55 addresses this issue now (makes it easier to keep most update hooks in i18n.install in one PR).
from i18n.
Thinking this over...
We need the database tables and/or variables of the following modules:
- i18n_block (has no table)
- i18n_user (has no table)
- i18n_variable (stores data in the variable_store db table)
What we do not need is the code. Correct me, if I'm wrong. So the module code could get removed anyway, empty "dummy modules" should be sufficient.
I'd agree, we should put all update hooks regarding these deprecated modules in i18n.install.
Then we grab the data we need from database tables. And when we're done we drop the obsolete table and delete the variables. Is that correct so far?
from i18n.
A suspicion, why the i18n_variables module might be so tricky in the upgrade process: its value in the "bootstrap" system column is "1", which means:
Boolean indicating whether this module is loaded during Drupal’s early bootstrapping phase (e.g. even before the page cache is consulted).
But I'm only guessing.
from i18n.
Already done in this branch https://github.com/backdrop-contrib/i18n/tree/d7-upgrade-path
Testing is welcome.
Note: if you update the code locally, in case you're not using git, do not just unpack the file over the old code, but completely replace the whole i18n directory.
from i18n.
It's not easy to review and test when I don't see a complete diff of what you've changed/added and how it compares to my PR. Can you provide a link for that?
from i18n.
I checked each new commit on that new branch. I don't see any major issues but I haven't tested it. I might not be able to test it until the other PR I created is incorporated (where the variable_store and custom block translations are migrated). I have to keep an eye on the time I can spend - I've already spent a few hours on it.
from i18n.
I might not be able to test it until the other PR I created is incorporated (where the variable_store and custom block translations are migrated).
That's the next step on my todo list. Again, many thanks for your PRs, they give me helpful hints.
I have to keep an eye on the time I can spend - I've already spent a few hours on it.
I can understand that, fiddling with i18n is time consuming because of the module's complexity.
from i18n.
I'm closing my issue since it's addressed.
from i18n.
Related Issues (20)
- Capitalize all 'translate' titles for consistency HOT 3
- Default language selection HOT 7
- GHA: Switch to actions/checkoutv3
- i18n_menu_block_view_alter overrides custom block titles HOT 12
- [term:i18n-vocabulary:name] token doesn't seem to be working HOT 13
- i18n_select: option "Select taxonomy terms by language" is missing HOT 6
- Warning: Undefined array key "i18n_node"
- Submodule i18n_taxonomy uses deprecated function
- Autocomplete term filtering revisited
- Cleanup: remove dead code
- Coding standards revisited
- Tokens in field descriptions not replaced HOT 3
- Update test runs
- Compatibility with PHP 8.2 HOT 1
- Need a hook_config_info() in i18n_select so config file is owned by that module HOT 3
- Call to undefined method i18n_object_wrapper::strings_remove() HOT 3
- Problem making changes to Text format configuration with i18n HOT 8
- Update GHA (checkout-v4)
- i18n_taxonomy: The function _menu_load_objects()... called deprecated function taxonomy_vocabulary_machine_name_load HOT 1
- Some change in core 1.28.0 broke i18n_taxonomy in combination with views HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from i18n.