backdrop-ops / contrib

Apply to join the contributed code developer team.
23 stars 16 forks source link

Port request for Domain Access #400

Open stpaultim opened 4 years ago

stpaultim commented 4 years ago

Name of the module, theme, or layout Domain Access

Link to the drupal.org module, theme, or layout https://www.drupal.org/project/domain

(Optional) Link to an issue in the drupal.org queue asking the Drupal community if anyone is working on a Backdrop port of this project https://www.drupal.org/project/forum_access/issues/3070491

(Optional) Bounty https://github.com/backdrop-ops/contrib/issues/400#issuecomment-738575348

Other This seems like it could be a pretty big project. I post the request, because I've had a couple of people ask about this module. It's come up in the forum at least three times and today it came up in Gitter chat.

https://forum.backdropcms.org/forum/does-backdrop-have-some-functionality-similar-domain-access-module

https://forum.backdropcms.org/forum/domain-access-equivalent

https://forum.backdropcms.org/forum/multiple-domains-pointing-same-site-how

Maybe there could be a light weight version for Backdrop CMS?

LeeteqXV commented 4 years ago

From Gitter.im chat:

LeeteqXV commented 4 years ago

In my initial use case, the "security" would be less important than the practicality of automatically hiding/showing content and related menus based on the combination of the currently logged in user (the same user across all urls - technically just 1 BD site), and the current base url. That should determine what appears in menus, and whether an entity (node, user profile, taxonomy term, etc.) would be accessible or not. Based on normal cookies and perhaps "SSO", one may switch the base url without logging out/in and then get access to content/etc.that "belong there".

Amongst other benefits, this is a a way to organize content and avoid information overload by separating it contextually into "(sub-) domains / multiple domains", while still just maintaining 1 site/installation.

This may also be seen/used as "multiple communities in one".

mr-simba commented 4 years ago

I am also using Domain Access on my Drupal 7 website:

I would love to see them ported to Backdrop CMS...

ghost commented 3 years ago

Palante Technology Cooperative will pay bounty on a functional module port!

stpaultim commented 2 years ago

Moving a client to Drupal 9, in part because they need this module. I'm a little nervous about the amount of work involved in porting this one.

We might give it a try. If anyone wants to collaborate on this one, let us know - having some help would motivate us.

DarrellDuane commented 1 year ago

I have a D7 site that I don't want to port to D8 or D9, but would like to port to Backdrop that uses Domain heavily. I'm interested in being a part of the team that ports it to BackDrop.

argiepiano commented 1 year ago

I'm also interested in helping port of this module. I could use this module for my sites as well.

yorkshire-pudding commented 1 year ago

Out of interest, I ran it through Coder Upgrade. No joy. Results are here: https://github.com/yorkshire-pudding/domain

Coder Upgrade Log ``` ************************* Pre-processing the directory => /app/docroot/files/coder_upgrade/old/domain ************************* Calling hook_upgrade_begin_alter Completed hook_upgrade_begin_alter ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain ************************* ************************* Converting the file => domain.admin.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.api.php ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'hook_domain_load' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_insert' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_update' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_delete' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_nav' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_cron' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_install' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_form' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_warning' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_source_alter' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_source_path_alter' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_conf' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_batch' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_batch_alter' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_ignore' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_bootstrap' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_bootstrap_lookup' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_bootstrap_full' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_path' as its name does not begin with the module name or 'theme_' Ignoring function 'mymodule_form_submit' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_nav_options_alter' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_warning_alter' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_settings' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_validate_alter' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_grant_all_alter' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_reassign' as its name does not begin with the module name or 'theme_' Ignoring function 'hook_domain_invalid_request' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.blocks.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.bootstrap.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.drush.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'drush_domain_list' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_generate_domains' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_generate_domains_validate' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_add' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_add_validate' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_delete' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_test' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_default' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_get_from_argument' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_repair' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.features.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain.install ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_parser_install_alter Completed hook_upgrade_parser_install_alter Calling hook_upgrade_regex_install_alter Completed hook_upgrade_regex_install_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.migrate.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'getKeySchema' as its name does not begin with the module name or 'theme_' Ignoring function '__construct' as its name does not begin with the module name or 'theme_' Ignoring function '__toString' as its name does not begin with the module name or 'theme_' Ignoring function 'fields' as its name does not begin with the module name or 'theme_' Ignoring function 'import' as its name does not begin with the module name or 'theme_' Ignoring function 'prepare' as its name does not begin with the module name or 'theme_' Ignoring function 'complete' as its name does not begin with the module name or 'theme_' Ignoring function 'rollback' as its name does not begin with the module name or 'theme_' Ignoring function 'prepareRollback' as its name does not begin with the module name or 'theme_' Ignoring function 'completeRollback' as its name does not begin with the module name or 'theme_' Ignoring function '__construct' as its name does not begin with the module name or 'theme_' Ignoring function 'fields' as its name does not begin with the module name or 'theme_' Ignoring function 'prepare' as its name does not begin with the module name or 'theme_' Ignoring function '__construct' as its name does not begin with the module name or 'theme_' Ignoring function 'fields' as its name does not begin with the module name or 'theme_' Ignoring function 'prepare' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain.node.js ************************* Calling hook_upgrade_regex_js_alter Completed hook_upgrade_regex_js_alter Replaced the file ************************* Converting the file => domain.tokens.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_alias ************************* ************************* Converting the file => domain_alias.admin.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'domain_alias' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_alias.domain.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_alias.features.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_alias.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_alias.install ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_parser_install_alter Completed hook_upgrade_parser_install_alter Calling hook_upgrade_regex_install_alter Completed hook_upgrade_regex_install_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_alias.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_conf ************************* ************************* Converting the file => domain_conf.admin.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_conf.domain.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_conf.drush.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'drush_domain_conf_set' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_conf_set_validate' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_conf_get' as its name does not begin with the module name or 'theme_' Ignoring function 'drush_domain_conf_get_validate' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_conf.features.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_conf.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_conf.install ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_parser_install_alter Completed hook_upgrade_parser_install_alter Calling hook_upgrade_regex_install_alter Completed hook_upgrade_regex_install_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_conf.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_conf/tests ************************* ************************* Converting the file => domain_conf.test ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testCrudUtilities' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainConfDataGetCashes' as its name does not begin with the module name or 'theme_' Ignoring function 'assertCacheState' as its name does not begin with the module name or 'theme_' Ignoring function 'assertNoCache' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_content ************************* ************************* Converting the file => domain_content.admin.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_content.domain.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_content.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_content.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_nav ************************* ************************* Converting the file => domain_nav.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_nav.install ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_parser_install_alter Completed hook_upgrade_parser_install_alter Calling hook_upgrade_regex_install_alter Completed hook_upgrade_regex_install_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_nav.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_settings ************************* ************************* Converting the file => domain_settings.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_settings.install ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_parser_install_alter Completed hook_upgrade_parser_install_alter Calling hook_upgrade_regex_install_alter Completed hook_upgrade_regex_install_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_settings.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_source ************************* ************************* Converting the file => domain_source.domain.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_source.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_source.install ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_parser_install_alter Completed hook_upgrade_parser_install_alter Calling hook_upgrade_regex_install_alter Completed hook_upgrade_regex_install_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_source.migrate.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function '__construct' as its name does not begin with the module name or 'theme_' Ignoring function 'fields' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter ************************* Converting the file => domain_source.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_source.tokens.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_source.views.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_source/includes ************************* ************************* Converting the file => domain_source_handler_filter_domain_id.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'query' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_source/tests ************************* ************************* Converting the file => domain_source.test ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainSourceInstall' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainSourceSave' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainSourceForm' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainSourceDefaults' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_strict ************************* ************************* Converting the file => domain_strict.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_strict.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_strict.test ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainStrict' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/domain_theme ************************* ************************* Converting the file => domain_theme.admin.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_theme.domain.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_theme.features.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_theme.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_theme.install ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_parser_install_alter Completed hook_upgrade_parser_install_alter Calling hook_upgrade_regex_install_alter Completed hook_upgrade_regex_install_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_theme.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => settings.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => settings_custom_url.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the directory => /app/docroot/files/coder_upgrade/old/domain/tests ************************* ************************* Converting the file => domain.test ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'domainCreateDomains' as its name does not begin with the module name or 'theme_' Ignoring function 'domainNodeForm' as its name does not begin with the module name or 'theme_' Ignoring function 'domainSetBaseUrl' as its name does not begin with the module name or 'theme_' Ignoring function 'domainResetBaseUrl' as its name does not begin with the module name or 'theme_' Ignoring function 'tearDown' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainInstall' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainGrantAll' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainEnable' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainCreate' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainValidate' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainSave' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainMacineNameLoad' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainHooks' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainSwitching' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainDefault' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainGetNodeDomains' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainPageCache' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainUpdate' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainURLFilters' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainInvalid' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainTokens' as its name does not begin with the module name or 'theme_' Ignoring function 'testRegression1336698' as its name does not begin with the module name or 'theme_' Ignoring function 'assertTokens' as its name does not begin with the module name or 'theme_' Ignoring function 'mapTokenNames' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testOverrideEnabled' as its name does not begin with the module name or 'theme_' Ignoring function 'testOverrideDisabled' as its name does not begin with the module name or 'theme_' Ignoring function 'getInfo' as its name does not begin with the module name or 'theme_' Ignoring function 'setUp' as its name does not begin with the module name or 'theme_' Ignoring function 'testDomainContentSettings' as its name does not begin with the module name or 'theme_' Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_test.domain.inc ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Converting the file => domain_test.info ************************* Calling hook_upgrade_regex_info_alter Completed hook_upgrade_regex_info_alter Replaced the file ************************* Converting the file => domain_test.module ************************* Calling hook_upgrade_call_alter Completed hook_upgrade_call_alter Calling hook_upgrade_hook_alter Completed hook_upgrade_hook_alter Calling hook_upgrade_file_alter Completed hook_upgrade_file_alter Calling hook_upgrade_regex_alter Completed hook_upgrade_regex_alter Replaced the file ************************* Post-processing the directory => /app/docroot/files/coder_upgrade/new/domain ************************* Calling hook_upgrade_end_alter Replaced the file Replaced the file Replaced the file Replaced the file Replaced the file Replaced the file Replaced the file Replaced the file Replaced the file Replaced the file Completed hook_upgrade_end_alter ************************* Creating a patch file for the directory => /app/docroot/files/coder_upgrade/old/domain ************************* Making patch file: diff -up -r /app/docroot/files/coder_upgrade/old/domain /app/docroot/files/coder_upgrade/new/domain > files/coder_upgrade/patch/domain.patch ```

It causes a white screen Fatal error just adding the line (modified for Backdrop path) to settings.php, though there is at least a stack trace that may be useful.

require_once BACKDROP_ROOT . '/modules/domain/settings.inc';
Fatal Error Stack Trace ``` Fatal error: Uncaught Error: Call to undefined function config() in /app/docroot/core/includes/bootstrap.inc:3052 Stack trace: #0 /app/docroot/core/includes/bootstrap.inc(2837): _backdrop_bootstrap_page_cache() #1 /app/docroot/modules/domain/domain.bootstrap.inc(129): backdrop_bootstrap(2, false) #2 /app/docroot/modules/domain/domain.bootstrap.inc(75): _domain_bootstrap(0) #3 /app/docroot/modules/domain/settings.inc(27): domain_bootstrap() #4 /app/docroot/settings.php(484): require_once('/app/docroot/mo...') #5 /app/docroot/core/includes/bootstrap.inc(848): require_once('/app/docroot/se...') #6 /app/docroot/core/includes/bootstrap.inc(3014): backdrop_settings_initialize() #7 /app/docroot/core/includes/bootstrap.inc(2833): _backdrop_bootstrap_configuration() #8 /app/docroot/index.php(20): backdrop_bootstrap(8) #9 {main} thrown in /app/docroot/core/includes/bootstrap.inc on line 3052 ```

I would be happy to collaborate.

Similar to @LeeteqXV (comment) , I would also be interested in a lighter version that was simply about providing a different theme and different menu to different domains but with the ability to share some content.

stpaultim commented 1 year ago

There seems to be some momentum here. How do we keep this going? I think a good next step would be for someone with the necessary skills and knowledge to skim through the code and try to estimate how difficult this module will be to port, identify the sticking points, and/or if we'll need any specific skills or knowledge to get the job done.

mrlch commented 1 year ago

Is there some work going on?

yorkshire-pudding commented 1 year ago

@mrlch I'm not aware of anyone working on. Perhaps, if you're interested we could have a round table discussion at the next Backdrop Live (22nd-23rd September 2023) to discuss what the blockers are and try to get a bunch of people working on it.

yorkshire-pudding commented 1 year ago

I did a bit more work to get past the fatal error. Still loads of other issues with it. Parked again for now.

DarrellDuane commented 11 months ago

@yorkshire-pudding could you check your latest work into Github? I found your Domain repository but its last update was in April. I'd like to put some work in on this. Thanks

yorkshire-pudding commented 11 months ago

@DarrellDuane I'll push where I got to tomorrow and ping you here

stpaultim commented 11 months ago

@DarrellDuane Thanks. If you need help testing, I'm supportive and will try to encourage others to help out as needed. There has been interest in this module for a long time. I have taken clients to Drupal 9, because this module was not available for Backdrop. It would be great to get this one ported.

yorkshire-pudding commented 11 months ago

@DarrellDuane @stpaultim @argiepiano

I've added it to Backdrop contrib to make it better for collaboration. It really needs several maintainers and will need several people to help get it over the line to a first release.

@DarrellDuane - you don't yet seem to be a member of the contrib group yet. I suggest when you've made some progress, add a PR and then apply here to join contrib. -

https://github.com/backdrop-contrib/domain

I've opened up the wiki and we should probably consider getting all the D7 documentation into there before it goes.

yorkshire-pudding commented 9 months ago

@DarrellDuane - did you make any progress on this? We haven't yet - see https://github.com/backdrop-contrib/domain/issues/4

stpaultim commented 6 months ago

FYI - my team has been making slow progress on this module that we hope to share shortly. We're busy with too many things right now.

stpaultim commented 6 months ago

OK, there is some public progress on this module. We have got minimal features working for a client site that we are still working on. It's still got lots of bugs. But, it's far enough along that folks should feel free to jump in and help test it, report bugs, AND even better, to submit PR's.

https://github.com/backdrop-contrib/domain

rudy880719 commented 1 month ago

@stpaultim @argiepiano @mrlch @LeeteqXV @DarrellDuane @yorkshire-pudding @mr-simba I have been working on this for almost a month. now I can finally deliver this module working, I know that I always have some details in my migrations, but it has worked for me, from this moment on I will need your help to continue solving errors that may exist, I have invested my free time in this. Feel free to review and correct errors that may exist. The repository has two branches, one for 7.x drupal and the other for backdrop 1.x, it will help us to compare changes..This is the repository.. https://github.com/rudy880719/domain

argiepiano commented 1 month ago

That's great, @rudy880719! I'll try to take a look soon.

yorkshire-pudding commented 1 month ago

Thank you for your efforts @rudy880719 . We had started work at https://github.com/backdrop-contrib/domain but it may well be that you have got further than we have. I'll look to test soon Maybe we can merge what you've done, but if not, and if yours works better, I think we would be happy to shelve what we've done and bring in your Backdrop branch to be primary.

stpaultim commented 1 month ago

I will take a look as well.

I hope that you at least tried our version of the module, I think it was pretty close to ready. But, as @yorkshire-pudding has said, we can easily replace our repo with your own.

We have a site using a hacked version of the module. We can try replacing our hacked version with yours and see how it works.

izmeez commented 1 month ago

@rudy880719 I have started to test your port of the domain access module and it appears to be working. I have opened an issue in your repo just to start the ball rolling. I'll have to fork your repo to contribute. Thanks.

rudy880719 commented 1 month ago

@izmeez @argiepiano @stpaultim @yorkshire-pudding thanks for your comments, I had tried the module that @yorkshire-pudding and @stpaultim have been building, but some things weren't working, that's why I wanted to help, my apologies for creating my own repository, as I said before, feel free to help in the documentation and text references to drupal, and with any code errors you detect, you have more experience than me in backdrop, I will always appreciate your suggestions and teachings. I would just like to be included as a contributor to the module, that will help me on my curriculum, since I am currently looking for part-time job.

izmeez commented 1 month ago

@rudy880719 I'm not sure how the two projects will be merged or swapped. I will have to leave that to @yorkshire-pudding and @stpaultim to suggest. I have not tried either of the ports before today and just tried your first because you seem pretty confident in your work. I will fork your repo to contribute my findings while we see what other suggestions come forth.

izmeez commented 1 month ago

@rudy880719 Have you just ported the main domain module or have you also been working on the accompanying modules?

rudy880719 commented 1 month ago

@izmeez I ported all the modules that are in the repository, domain alias, domain config, domain content, domain nav, domain settings, domain source, domain theme, and domain stric

izmeez commented 1 month ago

I provided a PR to @rudy880719 's port to update several Install, Readme and documentation files. The PR changes could be applied to the other port. The big challenge is how to merge or decide on the two ports?

sudipto68 commented 1 month ago

@izmeez Can you please provide me the steps that you followed for the new module that @rudy880719 provide, because for me it is not working. I have tested this on a fresh backdrop installation. After creating posts for different domains, neither of them is accessible from both domains for anonymous users. It shows Access Denied. I have also faced this error on every page load.

Domain access failed to load during phase: bootstrap include. Please check your settings.php file and site configuration.

I have followed the new INSTALL_QUICKSTART.txt steps that you have made here https://github.com/rudy880719/domain/issues/3

rudy880719 commented 1 month ago

@sudipto68 For the error you must include the domain module settings file in the settings.php. Something like that include './modules/custom/domain/settings.inc'; Regarding content access for users, you must first rebuild permissions, remember that for anonymous users to be able to view content, this must have the add to all affiliates option checked.

sudipto68 commented 1 month ago

@rudy880719 Yes. I added the path that is included in the INSTALL_QUICKSTART.txt in the settings.php file. But still the error was showing. I will try the all affiliates option, I did not checked that I only checked the domain in which i wanted to show the post.

rudy880719 commented 1 month ago

@sudipto68 The route depends on where the domain module is, it is not always the same route

izmeez commented 1 month ago

@sudipto68 I have only just started testing the module. I am wondering if this discussion should be in a new issue in the github repo for the module @rudy880719 created since it is specific to that module? After adding the line to settings.php file, I only enabled the main module and on the Backdrop status report page there is a link to rebuild permissions. There are notes on access by anonymous and authenticated users.

yorkshire-pudding commented 1 month ago

I have done some initial testing but still getting "Domain access failed to load during phase: bootstrap include. Please check your settings.php file and site configuration." despite confirming with Xdebug that the file (domain/settings.inc) is being included.

Not really sure what it happening and I don't have time for a deep dive at present. I was going to suggest we move to a branch (e.g. 1.x-3.x-rudy) on the current backdrop-contrib repo and add you as a co-maintainer. @stpaultim @rudy880719 - what do you think? If we get this working better than the current branch, we can rename branches and make this one default.

mrlch commented 1 month ago

I started testing yesterday night and I got the same issue. Domain access failed to load during phase: bootstrap include. Please check your settings.php file and site configuration.

Thank you for your effort to all of you.

rudy880719 commented 1 month ago

@mrlch @yorkshire-pudding Could you tell me what version of Backdrop you used, and version of php

yorkshire-pudding commented 1 month ago

@mrlch @yorkshire-pudding Could you tell me what version of Backdrop you used, and version of php

@rudy880719 Latest release of Backdrop (1.29.0) and PHP 8.1 (modern but not cutting edge)

rudy880719 commented 1 month ago

@yorkshire-pudding @mrlch I don't know what happens, everyone gets the same error, however I try to replicate the error and I can't. I attach a video of how everything works for me

https://github.com/user-attachments/assets/f0363463-c182-46da-b4cf-6de5625b3721

laryn commented 1 month ago

Could be that you are hard-coding the contrib folder -- it's not guaranteed that everyone will use that.

rudy880719 commented 1 month ago

@laryn In which folder is Backdrop supposed to put the modules that are downloaded? The path is supposed to vary depending on where the user downloaded the module.

rudy880719 commented 1 month ago

@laryn In my case I put the module inside the contrib folder, that's why I put that path in the settings.php, each user should put the specific path depending on where they put the domain module

izmeez commented 1 month ago

It is working fine for me.

izmeez commented 1 month ago

When I create or edit a domain there is an error

https://example.com/modules/domain/tests/200.png is not responding as expected and may not be configured correctly at the server level. Server code 0 was returned. 

On testing it appeared to be working so in the domain edit settings I checked Ignore server response warning and continued.

izmeez commented 1 month ago

When I switch to a subdomain the site title changes as expected. After setting user permissions including for content types and with three levels of users, I am able to have authenticated user create post that is visible to anonymous user on that specific subdomain only. On other subdomains there is an "Access denied" error. Personally, I think that should be "Not found".

mrlch commented 1 month ago

@rudy880719 Backdrop 1.29.0 PHP 8.2 and 7.4

sudipto68 commented 1 month ago

@rudy880719 Yes. In my case, I have also placed my modules inside the contrib folder and I have used the path based on this. still It is not working for me. I have followed your video and I think I am doing the same but I am getting the error that I have mentioned before.

yorkshire-pudding commented 1 month ago

@laryn In which folder is Backdrop supposed to put the modules that are downloaded? The path is supposed to vary depending on where the user downloaded the module.

@rudy880719 By default, Backdrop just puts all downloaded modules directly into modules but placing inside a contrib or custom folder is an acceptable way of splitting. I have the path for my installation and the file is included (I tested with xdebug) but something else is not working.

The offer is still there that we can move this as a branch of the contrib project:

I was going to suggest we move to a branch (e.g. 1.x-3.x-rudy) on the current backdrop-contrib repo and add you as a co-maintainer. @stpaultim @rudy880719 - what do you think? If we get this working better than the current branch, we can rename branches and make this one default.

I don't think this works any better than what we have though is obviously working for some for an unknown reason so maybe we're not far away from having a working version

izmeez commented 1 month ago

The suggestion to add a branch 1.x-3.x-rudy could be a good path forward.

Having the old drupal 7.x branch in the repo really doesn't add much and makes cloning cumbersome because the 7.x branch is the main one and isn't really needed as all the commits are already in the repo to start with.

Having both ports as branches will make it easier to compare and cherry pick. I saw the backdrop-contrib/domain port already has new work on Backdrop blocks for domain.

All of the quickstart and readme changes can be merged and improved.

This module gives rise to a lot of interesting settings discussions and implications. So, does all this belong in the wiki? Currently it's all in readme's in each of the main and submodules and each of those contain multiple url links to discussions and ideas on using domains and cases as affiliates. On the wiki it may be easier to access and organize?

I'm just starting to focus my thoughts on domain. Previously, I've been invested with groups access and taxonomy access. The whole domain thing, I was aware of but on the side and not something I spent much time with. There are issues that may arise to improve the use. The wiki may be the place for it. I guess it's a bunch of dreary copy paste.

izmeez commented 1 month ago

Meanwhile, I think I'll go ahead and open another issue on the other port since that's the one I'm testing and that is working for me in dev on php 7.4.x

If the other port is added as a branch the issues can be opened at https://github.com/backdrop-contrib/domain/issues instead.