Problem/Motivation
The BabelService currently uses a MySQL-specific SQL command
$this->db->query("SET SESSION group_concat_max_len = 1000000;");
It violates Drupal's database abstraction principles.
Apart from that using very long IDs in UI and exported files, composed by concatenating the plugin ID and the translation ID looks bad.
Proposed resolution
TranslationTypePluginInterface::getStrings()to return array to be keyed by hash instead of long concatenated list of plugin:id.- Use the hash as row ID (data-babel-row) in form and
- Use the hash as translation ID in spreadsheet.
- On retrieving and saving get the plugins and their translation IDs from the tables.
Remaining tasks
None.
User interface changes
None.
API changes
None.
Data model changes
TranslationTypePluginInterface::getStrings() to return array to be keyed by hash instead of long concatenated list of plugin:id
Issue fork babel-3535175
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
claudiu.cristeaComment #3
claudiu.cristeaComment #4
claudiu.cristeaI'm gonna work on this
Comment #6
claudiu.cristeaThe work is done but this was built on top of #3539336: Allow different default status per-plugin. Postponing until #3539336: Allow different default status per-plugin is in. Still keeping in my name.
Comment #7
claudiu.cristeaComment #8
claudiu.cristeaThe blocker has been merged, this is ready for review.
Comment #10
dimilias commentedComment #12
dimilias commentedMerged into 1.x