This module replaces the core URL language negotiation plug-in. It provides domain and prefix negotiation at the same time as opposed to the core one which only allows only one of the two. This is done by first matching on domain then on prefix. It also allows for multiple prefixes.
Additionally it provides an optional cross domain automatic authentication for multi-domain sites. This is done by short lived token generation that gets appended to navigation. A JS script attaches click listeners to links and when fired it prevent automatic navigation, requests token generation and then manually navigates to the URL + token query. All these authentications can then be logged out just by logging out on one domain, as connected sessions get stored.
Configuration page
- path: Administration > Configuration > Regional and language > Languages > Detection and Selection > Concurrent URL (configure)
- url path: /admin/config/regional/language/detection/concurrent-url
Git clone
git clone --branch 8.x-1.x https://git.drupal.org/sandbox/Fodor.Zoltan/2842690.git concurrent_url_negotiation
Comments
Comment #2
PA robot CreditAttribution: PA robot commentedWe are currently quite busy with all the project applications and we prefer projects with a review bonus. Please help reviewing and put yourself on the high priority list, then we will take a look at your project right away :-)
Also, you should get your friends, colleagues or other community members involved to review this application. Let them go through the review checklist and post a comment that sets this issue to "needs work" (they found some problems with the project) or "reviewed & tested by the community" (they found no major flaws).
I'm a robot and this is an automated message from Project Applications Scraper.
Comment #3
vlad.dancerHi, _Archy_
Thanks for the useful multilingual module!
Here is my review:
Automated Review
Review of the 8.x-1.x branch (commit 069f5af):
No automated test cases were found, did you consider writing Simpletests or PHPUnit tests? This is not a requirement but encouraged for professional software development.
This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. You have to get a review bonus to get a review from me.
see https://pareview.sh/node/792
Note that perfect adherence to Drupal Coding Standard is NOT a reason to block an application, except for total disregard of them. However, modules should follow them as closely as possible.
Manual Review
Add drupal as dependency here:
drupalSettings
in cross_auth.js:CrossTokenListener
Add argument concurrent_url_negotiation.cross_auth service definition
The starred items (*) are fairly big issues and warrant going back to Needs Work. Items marked with a plus sign (+) are important and should be addressed before a stable project release. The rest of the comments in the code walkthrough are recommendations.
If added, please don't remove the security tag, we keep that for statistics and to show examples of security problems.
This review uses the Project Application Review Template.
BTW You've done really decent module!
Comment #4
_Archy_ CreditAttribution: _Archy_ at PitechPlus commentedHi, @vlad.dancer
Nice to see such fast review, so thanks.
I have fixed the release blockers. First one the miss-type in "dependecies". The second one: added the drupalSettings as parameter in the anonymous wrapper function. Last: moved the cross auth service to be injected in the listener.
Comment #5
vlad.dancer@_Archy_, all is ok now, but you've missed to add drupal library as a dependency
Comment #6
_Archy_ CreditAttribution: _Archy_ at PitechPlus commentedFunny how I saw the miss-type but didn't quite understand what you were telling :D. Added.
Comment #7
apadernoThank you for your contribution!
I am going to update your account so you can opt into security advisory coverage now.
These are some recommended readings to help with excellent maintainership:
You can find more contributors chatting on the IRC #drupal-contribute channel. So, come hang out and stay involved.
Thank you, also, for your patience with the review process.
Anyone is welcome to participate in the review process. Please consider reviewing other projects that are pending review. I encourage you to learn more about that process and join the group of reviewers.
I thank all the dedicated reviewers as well.
Comment #8
apadernoComment #9
_Archy_ CreditAttribution: _Archy_ at PitechPlus commentedThank you a lot ! :)