Here the demo for what I have been working on: https://www.loom.com/share/5df4b8feae5f43f2858edcf660a84454?sid=0f739b10...
The code is very rough right now and needs to be cleaned up a little. I'll share the modified drupal_cms_installer from Drupal CMS in a repo. In brief, here is what I've done:
- Added two install tasks after the site installation.
- The first task is to show a form for users to select their required AI provider and then require the module using Package manager.
- The second install task sets up the key and the selected AI provider config.
Some limitations are:
We still need to write specific code for each module.
For example, the module ai_provider_google_vertex requires its key to be in the config file. Other AI provider modules accept the key in the config as well. Therefore, a custom solution will be needed to add a specific AI provider. Alternatively, maintainer of the AI provider module can follow a standard config structure.
Yes, the inspiration for adding an extra form in the installer came from the drupal-starforge repository. I have mostly copied the same form.
Regarding the BYO keys module, I too believe it would be beneficial to have, but at the same time, my intention is to resolve the issues with the existing AI provider modules. Therefore, the approach of using the package manager after the site can address that.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
This is merged and new release will be creating soon.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
Thank You.
Made the changes. Please review the two new actions for DNC.
Conflict resolved. Thank you.
Thank you. This is a merge to the development branch. A release will be created soon with a few other similar actions are merged.
Thank you for the improvements. It's great to see how everything fits together like Lego pieces.
Thank you for the feedback.
I have addressed all the inline comments, please review them.
I also moved the relevant helper API method to mautic_api:
📌
Add helper method loadConnection & checkApiResponse
Active
abhisekmazumdar → created an issue.
I was not feeling happy with the structure. I made some adjustments to the overall structure to align it with the other actions.
A new commit: https://git.drupalcode.org/project/mautic_eca/-/merge_requests/1/diffs?c...
Thank you for the improvement. This is good to go.
abhisekmazumdar → made their first commit to this issue’s fork.
Thank you, @mallezie, for the improvement.
This enhancement makes the code cleaner and more maintainable, significantly enhancing the developer experience.
I have made a small fix to the merge request and added a new commit. Everything else looks great, so I'll proceed to merge this and create a new minor release tag.
abhisekmazumdar → made their first commit to this issue’s fork.
Thank you for the detailed review and for fixing the bugs. I have now merged the MR.
New changes done:
- My bad, the check of the old and new secret wasn't behaving well. I break it down and added proper checks.
- Also moved the config under web services where it made more sense.
- Made improvements to the consistency for the "mautic api connection" to "Mautic API Connection".
In the overview it might make more sense in the status to show the result of the connection test.
I didn't add that because the status is not stored in the entity(database). To obtain the status of an API, we need to load the entire entity and make request for status all the connection entities. This might become problematic as we start to have more connection entities in the overview listing.
I just replaced the status with the site URL, which makes it easier to identify.
- I made the error handling better.
- Clear value if the auth method is toggled
- Rename the oauth to the said public and secret keys
- moved the status message in the top and just shows error msg doesn't show WSOD
All the other MR inline feedback has also been resolved now.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
This should be merged after: 📌 Implement CRUD for Mautic contacts Active
Note merged this after: 📌 Implement CRUD for Mautic contacts Active
abhisekmazumdar → created an issue.
This task is based on this MR from mautic_api
abhisekmazumdar → created an issue.
This work is based on the related issue.
This work is based on this related issue.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
Thank you for the quick response.
abhisekmazumdar → changed the visibility of the branch 3527905-multi-instance-mautic-connection to hidden.
abhisekmazumdar → changed the visibility of the branch 2.0.x to hidden.
abhisekmazumdar → changed the visibility of the branch 3527905-implement-multi-instance-mautic to hidden.
abhisekmazumdar → created an issue.
abhisekmazumdar → created an issue.
Outdated
I don't think core_version_requirement
is needed to be added in composer.json file.
I also suggest following this document to create a good branch name: https://www.drupal.org/docs/develop/git/using-gitlab-to-contribute-to-dr... →
Anyways, thanks for your time. I'm closing this and making a new release for d11.
rahul.shinde → credited abhisekmazumdar → .
@l_vandamme I hope keeping the seo_fields
as a sequence type will be fine. I have updated the MR; please review.
This is ready for review.
abhisekmazumdar → created an issue.
hestenet → credited abhisekmazumdar → .
surabhi-gokte → credited abhisekmazumdar → .
I changed the docs to use PHP attributes instead of comment annotations.
Oh yes! We should consider adding default blog content that includes a comment?
Let me know how we feel about this. This is up for review now.
Help the camp team with maintaining, development and managing the site.
I want to work on this.
- The boilerplate or template for the recipe can be: https://git.drupalcode.org/project/drupal_cms/-/blob/0.x/drupal_cms_blog....
Right? - How do we want to spam protection?
- Do we use any contributed modules, such as CAPTCHA or Honeypot?
- Or we use the core's content moderation to add a state to approve comments.
griffynh → credited abhisekmazumdar → .
@stefdewa I hope you don't mind that I tried to spend some time moving this forward with @wim leers' input.
I also made an oopsie and added an unwanted commit to it, which I undid and fixed.
Added a new commit for the docs/data-model.md
changes. I hope thats correct changes.
Now I want to understand how can I create a correct format props JSON blob for /tests/modules/xb_test_config_node_article/config/install/field.field.node.article.field_xb_test.yml
Then maybe eventually I can fix the other broken test cases.
abhisekmazumdar → made their first commit to this issue’s fork.
I don't understand the error for: https://git.drupalcode.org/issue/experience_builder-3462160/-/jobs/28517...
Can someone provide feedback or fix this ?
Can we resume work on this ?
Test cases are not my friend. Can someone either fix them or provide me with input on why all the test cases are complaining about the new exception not being found?
https://git.drupalcode.org/issue/experience_builder-3462160/-/jobs/27664...
I'm working on fixing the test case before moving it for review.
Okay, I was successfully able to make the debugger work. It works out of the box, but I need to click the continue button one more time to stop it at the required mark.
@Wim Leers
I see mostly the \Drupal\Tests\experience_builder\Kernel\DataType\ComponentTreeStructureTest::testValidation
is creating problem. For our case should we just update providerValidation
data to match it with what its actually trying to assert?
Or should I be looking at why the assertion is breaking ?
I tried setting up the xdebugger on my local machine to make it work with the current local setup I have. Setting up the xdebugger correctly will give me a much clearer idea of what is breaking during the test.
Yet I was unable to make Xdebugger work for the unit test cases.