Account created on 21 February 2019, about 6 years ago
#

Merge Requests

More

Recent comments

🇫🇷France louis-cuny

Merged and released
Thank you for contribution and reviews

🇫🇷France louis-cuny

From my point of view, this module is about making synchronization of (structure & more?) entities through drupal configuration system.
I would avoid mentionning taxonomies, blocks and menus in the logo and keep a symbol referring to entities instead of each one

The overall logo is looking good

🇫🇷France louis-cuny

I updated view_custom_table module to 2.0.6-beta3 on my project and it solved the issue. Error disapeared and module related usage is still working

🇫🇷France louis-cuny

Has already being fixed with https://git.drupalcode.org/project/view_custom_table/-/commit/c3e7916a36...
Sorry for the noise

Any chance to push a new release tag?

🇫🇷France louis-cuny

This other module could fix the schema by changing from sequence to mapping type
https://www.drupal.org/project/all_entity_preview/issues/3462656 🐛 Use `mapping` instead of `sequence` in `preview.schema.yml` Needs review

🇫🇷France louis-cuny

Any chance to Merge this soon ?
I will have a project with kafka incoming in some time and would be happy to be able to use this module

🇫🇷France louis-cuny

I added the missing "/11" in composer
MR is probably ready for merge I guess

🇫🇷France louis-cuny

MR looks fine to me with psr/log accepting ^3.0

Is anything missing?

🇫🇷France louis-cuny

The MR on this issue is about removing the install/config file

About psr/log dependency, the MR is this one: https://git.drupalcode.org/project/kafka/-/merge_requests/2
From issue https://www.drupal.org/project/kafka/issues/3318381 📌 Bump ext-rdkafka dependency for PHP 8.1 and D10 compatibility Needs work

🇫🇷France louis-cuny

I open a new MR showing the correct changes

🇫🇷France louis-cuny

Entities are exported to config system (in database)

To retrieve the config in the config directory, you need to drush cex like usual

🇫🇷France louis-cuny

In my case, I found memory_limit issues in apache logs
Setting to memory_limit = -1 is fixing the issue for example

🇫🇷France louis-cuny

Fixed in the meantime
Thanks

🇫🇷France louis-cuny

Thank you @mlncn

I added a "Documentation" link in the Ressource section

🇫🇷France louis-cuny

Import modes need to be redefined for each entity type

🇫🇷France louis-cuny

louis-cuny changed the visibility of the branch 3393309-remove-legacy-configinstall to hidden.

🇫🇷France louis-cuny

Yes, because uninstalling the module doesn't delete the related configuration

I guess it could be a good add-on

Remaining work would be

- Add a hook_uninstall deleting module related configuration

🇫🇷France louis-cuny

How to handle this issue without creating BC breaks/new major version?

Maybe something like:
On any export, export to the new splitted configuration(s) and delete the corresponding part from legacy config
On import, for each entity type, if we find data on splitted config, use this one, if not, try the legacy config file

We need to make sure to handle entity types separatly.
Users may use structure_sync for all entity type but export only one time for some reason and wouldn't expect entities disapearing

We should then deprecate the usage of the old structure_sync.data config and plane to delete it in a next major version

~~~

Other possibility would be to work on a new major version where we simply ask to users to re-export everything after major version update

🇫🇷France louis-cuny

I tried a couple of years ago to work on this issue, but I faced issues and erased my work.
I was too ambitious and was believing in a v3 of this module.

Today, I think the strength of this module is to be lightweight and precise. Of course, it should be flexible and evolve to make it better, but never trying to be the one solution fits all.

With this in mind, I would suggest splitting the work in those steps:
1. Defining what should be common for any entity type handled by this module
2. Creating the plugin manager system and refactoring the current mechanism without creating BC breaks

And good to have would be
3. Add tests about adding a dummy entity type handling
4. Add documentation for how to extend this module with a custom Plugin/EntityType

About point 1. I would say we can make generic
- the export method
- the 3 types of imports (safe, full, force) at least as a first step (maybe later let Plugins implement any type of import)

But already facing an issue, the config schema is not extendable. I mean, there is only one structure_sync.schema.yml for all types.
As a first step, we could let plugins write to a different config with defining their own config schema
But later we should target this other important issue https://www.drupal.org/project/structure_sync/issues/3012034 📌 Split structure_sync.data.yml to reduce risk of conflicts Active , sadly hard to make it work without BC breaks.

Please feel free to challenge this vision and debate

🇫🇷France louis-cuny

Thank you so much for your contributions.
You are bringing good vibes to this project !

I reviewed the MR and changes, tests are passing, I merge

🇫🇷France louis-cuny

Thank you for your contribution

I agree with everything you have said
I would say it's missing testing empty and non-empty option field value

🇫🇷France louis-cuny

This issue is about tweaking the fields to be exported/imported
https://www.drupal.org/project/structure_sync/issues/3085904 Move import/export logic into plugin Active is about rewriting the whole module using drupal's plugin system as a base to be able to support other entity types.

For this issue, I would agree it would be nicer to use drupal's Plugin system instead of hooks
But the approach here feels ok with hooks at least as a first step

From my point of view, the export/import all available fields approach would not fit this module, it should probably remain light and precise

If others share this point of view (open for debate), I would suggest these next steps:
- Add tests
- Review and test manually
- Add something about this feature in the readme.md
- Opening other (related) issues to cover blocks and taxonomy terms
- (optionnaly, converting the hooks to plugin managers)

🇫🇷France louis-cuny

Thank you for your contribution

Almost good about this one, I reviewed the changes for now
Will test it later

🇫🇷France louis-cuny

#6 Worked like a charm on our production running project
Additionally, I reviewed the code that is looking good to me

🇫🇷France louis-cuny

An issue exist about drupal core but seems to be planned for D11

🇫🇷France louis-cuny

Using the related work on production project for a while now, changes are easily readable

RTBC

🇫🇷France louis-cuny

I agree, we still need to make it more obvious about the differences between safe, full and force mode for taxonomies before we can merge this patch

Thanks

🇫🇷France louis-cuny

@salientknight
Yes
It's the design choice of this module to use configurations

You can export your configs in Back office Config/Development/Export Config
Or with drush cex

@ccarnnia
Could you use the Merge Request tools for your patch please ? It will be easier for us to review

🇫🇷France louis-cuny

@salientknight
Yes
It's the design choice of this module to use configurations

You can export your configs in Back office Config/Development/Export Config
Or with drush cex

🇫🇷France louis-cuny

I would be happy to merge this issue, I totally agree we need to be able to retrieve tid that are currently wrong and broking relations

But what does happen if there is a term already existing with a tid that is going to be imported ?

We need a clarification of what is happenning in any case

🇫🇷France louis-cuny

We need to find a way to support any field provided by any module that extend our menus/taxo/blocks

Ideas are welcome

🇫🇷France louis-cuny

Users are aware this module is not obvious to use. Discussion about documenattion improvment are already ongoing in other tasks

🇫🇷France louis-cuny

I rerolled the patch but removed the non-related to this issue stuff
Please review

🇫🇷France louis-cuny

Patch doesn't apply anymore

🇫🇷France louis-cuny

Adding the settings could also be done before composer require, maybe it would avoid any confusion
I guess some users are still going to try to install and enable it before writting the settings
Maybe we should do some check to avoid the installation if settings are breaking the module

🇫🇷France louis-cuny

Actually, I don't understand the config in kafka/config/install.
It seems to not be used at all in the module. Can you confirm please?

If so, it's not related to the error, it would mean than only settings are used. But in the readme it says that settings should be set up after module installation.

I will try to restart the installation later

I suspect also something is wrong with composer requirements. Because of the current rdkafka ^5 requirement, I had to use --ignore-platform-reqs on installation (I'm using 6.0.3)

🇫🇷France louis-cuny

I was having an array of array for producer broker list

The related issue made me do this syntax error

Sadly not so easy to debug without xdebug getting in rdkafka
I found more logs adding $conf->set('debug', 'all'); in addition to $conf->set('log_level', strval(LOG_INFO));

🇫🇷France louis-cuny

I think my installation has another issue
There is something strange, in ClientFactory.php for example, it's requiering a class Producer

use RdKafka\Producer;

Like if it would be some other composer package required. There is no package listed in the composer.json of the module
Or it's just Phpstorm that doesn't see php-extension classes ?

Some info about rdkafka extension I have installed:
rdkafka support enabled
version 6.0.3
build date Oct 5 2023 13:43:25
librdkafka version (runtime) 1.6.0
librdkafka version (build) 1.6.0.255

PHP Version 8.1.22

If I'm correct, these informations from phpinfo page are saying I have required librdkafka and rdkafka php extension ?

I am confused about librdkafka that is no more https://github.com/edenhill/librdkafka
But https://github.com/confluentinc/librdkafka. I guess it's the same, but no php client

🇫🇷France louis-cuny

I got some precisions

I'm using -beta1 version + https://www.drupal.org/project/kafka/issues/3318381 📌 Bump ext-rdkafka dependency for PHP 8.1 and D10 compatibility Needs work patch
I understand I need to update my configurations.

This issue is more about having this error so soon in the installation. I guess it would be better to let users install the module with the default configuration proposed in config/install
And later throw errors or show messages in status page for example

🇫🇷France louis-cuny

This happens on "drush en kafka", so the default configuration should be correct. I usually set the configurations after the modules are installed

I didn't do anything else than composer require and drush en (excepting insatlling rdkafka)

🇫🇷France louis-cuny

Thank you, I will review your patch

🇫🇷France louis-cuny

The exported config did export correctly to structure_sync.data.yml
When importing in staging, with drush cim you are only importing the config, not the actual blocks, taxonomies etc

You need additionnaly to drush ib for blocks for example

This is not a bug, I close the issue

🇫🇷France louis-cuny

It is exporting from entities to configuration
You have to export your configuration to be able to commit the changes etc

drush @site cex

🇫🇷France louis-cuny

Duplicate of https://www.drupal.org/project/structure_sync/issues/3317768 Multilingual Support for Taxonomies Needs review

🇫🇷France louis-cuny

From 47.87kB to 13.72kB using tinypng
Please review

🇫🇷France louis-cuny

I did the same test as @andrew.farquharson without the patch and it did work fine, maybe the issue is more precise than that but anyway. I'm merging because it is not breaking anything

🇫🇷France louis-cuny

The class StructureSyncHelper.php should be defined as a service like FieldSettingHelper is.

Yes it should, but we don't want to rewrite to much stuff to avoid breaking other issues patches
So, if @tostinni's approach is working fine. I am okay with it.

We will be able to use correct service declaration in a v3 of this module

🇫🇷France louis-cuny

The patch I created didn't work like I expected, I cannot remember exactly what was not working but their was some bugs

🇫🇷France louis-cuny

Thank you for your contribution !

Could you make some adjustments please :
- dependency injection instead of \Drupal::menuTree()
- camelCase for variables instead of snake_case ex: $flat_menu_tree
- use strict comparision for if ($menuLink->uuid() == $uuid) {

🇫🇷France louis-cuny

Sorry I forgot to update releases
please use 2.0.5 and it will work fine with D10

🇫🇷France louis-cuny

The log successes setting was not saved, not used and not showed in the form.
I fixed all that

Please review

🇫🇷France louis-cuny

louis-cuny made their first commit to this issue’s fork.

🇫🇷France louis-cuny

Can you confirm your are using 2.0.4 please ?

🇫🇷France louis-cuny

#55 works for me if I disable reference validation :

    $form['contact'] = [
      '#type' => 'entity_autocomplete',
      '#tags' => TRUE,
      '#target_type' => 'node,user',
      '#validate_reference' => FALSE,
      ....
];

Patches that are suggesting using dynamic_entity_reference does not feel right

I put it pack to needs work because of the broken reference validation

Production build 0.71.5 2024