doofinder / doofinder-magento2
Doofinder module for Magento 2
Installs: 180 787
Dependents: 1
Suggesters: 0
Security: 0
Stars: 11
Watchers: 12
Forks: 9
Open Issues: 9
Type:magento2-module
pkg:composer/doofinder/doofinder-magento2
Requires
- guzzlehttp/guzzle: *
- magento/framework: >=101.0.6
Requires (Dev)
- dev-master
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.10
- 1.0.9
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- 0.15.0
- 0.14.13
- 0.14.11
- 0.14.9
- 0.14.8
- 0.14.7
- 0.14.6
- 0.14.5
- 0.14.4
- 0.14.3
- 0.14.2
- 0.14.1
- 0.14.0
- 0.13.20
- 0.13.18
- 0.13.17
- 0.13.13
- 0.13.12
- 0.13.11
- 0.13.10
- 0.13.9
- 0.13.8
- 0.13.7
- 0.13.6
- 0.13.5
- 0.13.4
- 0.13.3
- 0.13.0
- 0.12.0
- 0.11.3
- 0.11.2
- 0.11.1
- 0.11.0
- 0.10.7
- 0.10.6
- 0.10.5
- 0.10.4
- 0.10.3
- 0.10.2
- 0.10.0
- 0.9.8
- 0.9.7
- 0.9.6
- 0.9.5
- 0.9.4
- 0.9.1
- 0.9.0
- 0.8.16
- 0.8.15
- 0.8.14
- 0.8.13
- 0.8.12
- 0.8.11
- 0.8.10
- 0.8.9
- 0.8.8
- 0.8.7
- 0.8.6
- 0.8.5
- 0.8.4
- 0.8.3
- 0.8.2
- 0.8.1
- 0.8.0
- 0.7.3
- 0.7.2
- 0.7.1
- 0.7.0
- 0.6.2
- 0.6.1
- 0.6.0
- 0.5.9
- 0.5.7
- 0.5.6
- 0.5.5
- 0.5.4
- 0.5.3
- 0.5.2
- 0.5.1
- 0.5.0
- 0.4.14
- 0.4.13
- 0.4.12
- 0.4.11
- 0.4.10
- 0.4.9
- 0.4.8
- 0.4.7
- 0.4.6
- 0.4.5
- 0.4.3
- 0.4.2
- 0.4.1
- 0.4.0
- 0.3.2
- 0.3.1
- 0.3.0
- 0.2.8
- 0.2.7
- 0.2.6-beta
- 0.2.5-beta
- 0.2.4-beta
- 0.2.3-beta
- 0.2.2-beta
- 0.2.1-beta
- 0.2.0-beta
- 0.1.12-beta
- 0.1.11-beta
- 0.1.10-beta
- 0.1.9-beta
- 0.1.8-beta
- 0.1.7-beta
- 0.1.6-beta
- 0.1.5-beta
- 0.1.4-beta
- 0.1.3-beta
- 0.1.2-beta
- 0.1.1-beta
- 0.1.0-beta6
- 0.1.0-beta5
- 0.1.0-beta4
- 0.1.0-beta3
- 0.1.0-beta2
- 0.1.0-beta1
- dev-mursisoy/support-4194--fix-magento-custom-product-endpoint
- dev-bruno/use-base-url
- dev-juaniten/doofinder-magento2/417/add-type-to-images
- dev-pedro/add-invalid-stock-id-exceptions
- dev-bruno/make-optional-stock-data-if-not-found-to-avoid-returning-500
- dev-bruno/fix-get-hashid
- dev-swagger-fix
- dev-ogomezba/doofinder-magento2/cambios-multicurrency
- dev-dependabot/npm_and_yarn/grunt-1.5.2
- dev-dependabot/npm_and_yarn/minimist-1.2.6
- dev-feature/api-v2
- dev-develop
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/hosted-git-info-2.8.9
- dev-dependabot/npm_and_yarn/lodash-4.17.21
- dev-hotfix/0.4.9
- dev-hotfix/0.4.8
- dev-hotfix/empty-values
- dev-hotfix/fix-tables
- dev-feature/use-composer-version-in-module-config
- dev-hotfix/code-quality
- dev-feature/62100-delayed-update-table
- dev-feature/index-management-refactoring
This package is auto-updated.
Last update: 2025-10-15 07:34:34 UTC
README
IMPORTANT: If you are in trouble with the module, please contact Doofinder Support from the Doofinder website.
Docker Environment
Configure ngrok
In order to be able to create an account or login to an existing Doofinder account during the module initial setup, you will have to expose your local webserver to the internet (to receive a callback).
To do so, you can use, for example, the utility ngrok: https://dashboard.ngrok.com/get-started/setup
Once the external URL is created, simply set the BASE_URL environment variable (see Environment Variables).
So, when the installation process finished, instead of accessing to http://localhost:9012 you will use your url, for example, http://forcibly-ethical-apple.ngrok-free.app).
Notice that you'll need to specify the 9012 port when executing ngrok.
Get composer credentials
Important
It is mandatory to obtain credentials for composer usage. These fields can be obtained by creating an access key into your Magento marketplace account. The public key will be COMPOSER_AUTH_USERNAME and the private key will be COMPOSER_AUTH_PASSWORD environment variables (see Environment Variables).
Environment variables
Tip
You can create an .env.local file to override the environment variables defined in .env such as composer credentials or Magento installation data to fit your needs.
For example, below is a base .env.local file:
#Magento setup configuration data BASE_URL=your-url.ngrok-free.app #Tokens for the Magento composer repository COMPOSER_AUTH_USERNAME=YOUR_COMPOSER_PUBLIC_KEY COMPOSER_AUTH_PASSWORD=YOUR_COMPOSER_PRIVATE_KEY
The Makefile automatically overrides .env vars with the ones found in .env.local.
Important
The Makefile internally appends --env-file .env --env-file .env.local to docker compose command for properly configuring container environment. So take it into account when interacting directly with docker compose.
Initial setup
You can set up a fresh Magento installation using the provided Makefile targets init or init-with-data. This command will:
- Pulls and build an image with utility scripts for downloading and installing Magento 2 with defined
PHP_VERSIONandCOMPOSER_VERSIONenvironment variables. - Runs a Magento
create-projectcommand inside a bind mount into./app. - Starts the containers
- Runs a Magento installation with variables defined in the environment through
.envor.env.localfile. - Optionally: Loads sample data into Magento
Finally, Magento 2 with the module installed will be running at http://BASE_URL.
The admin panel will be available at http://BASE_URL/admin. Admin credentials are defined in the .env, if you used the env.example would be:
- User:
admin - Pass:
admin123
Xdebug ready to use
If you wish to debug your new Magento installation, simply uncomment the XDEBUG_CONFIG environment variable in docker-compose.yml configure your IDE accordingly and have fun!
Varnish was added to manage cache
By default Varnish is commented on docker-compose. So if you need to use it, you can uncomment and restart your containers. To enable Magento to use Varnish as cache manager, you can follow the official doc from Adobe: Configure the Commerce application to use Varnish.
If you uncomment Varnish container, remember to comment the port 9012:80 in the web container.
Uninstall the module
You can remove the Doofinder module using this straightforward method:
make doofinder-uninstall
Test another versions
Change your branch to the tag that you want inside package directory
make doofinder-upgrade
Backup and Restore Database
During development, it is sometimes useful to create a data snapshot before performing an action.
- To create a database dump, use:
make db-backup [prefix=_some_state] - To restore a previous state, run:
make db-restore file=backup_file.sql.gz
Important details before pushing changes to GitHub
In order to be able to merge a PR, the PHP Code Sniffer must pass
without any warnings. To check the compliance of Magento 2 standards, first check that you have PHP >= 8.3 locally (it might also work with PHP 7.4, but in the Adobe Commerce Marketplace PHP 8.3 is used for the tests) and then execute at the root folder of this project composer install command and finally execute vendor/bin/phpcs.
PHP compatibility
This plugin has been thoroughly tested and confirmed to be compatible with the following PHP versions:
✅ Supported PHP Versions:
- PHP 7.3
- PHP 7.4
- PHP 8.1
- PHP 8.2
- PHP 8.3
- PHP 8.4
⚠️ Note:
- PHP versions below 7.4 are not recommended.
- PHP 8.0 is not supported by Magento 2.
Tested compatibility with the following M2 versions
- Magento 2.3.0
- Magento 2.3.5-p3
- Magento 2.3.7-p4
- Magento 2.4.0
- Magento 2.4.1
- Magento 2.4.2
- Magento 2.4.3
- Magento 2.4.4
- Magento 2.4.5
- Magento 2.4.6
- Magento 2.4.7
- Magento 2.4.8
Last notes
Please take care when you change the environment variable MAGENTO_VERSION, since you will have to change probably the PHP_VERSION and the COMPOSER_VERSION ones in order to maintain the compatibility. For example, if you wish the Magento 2.4.3 version you should have:
PHP_VERSION=7.4 COMPOSER_VERSION=2.0.14 MAGENTO_EDITION=community MAGENTO_VERSION=2.4.3
but if you want to test, let's say, the 2.3.1 version you should have something like this:
PHP_VERSION=7.2 COMPOSER_VERSION=1.4.3 MAGENTO_EDITION=community MAGENTO_VERSION=2.3.1
Troubleshooting
Redirect issues
If after the setup process has finished the website doesn't load you may need to change the urls in the database.
Connect to the database in localhost:3312 using the mysql user and password defined in the .env (magentobase).
In the table core_config_data there are two configs for the base urls that Magento will redirect to, with paths:
web/unsecure/base_urlweb/secure/base_urlMake sure that those urls are the ones you'll be using to connect to your site or Magento will always redirect to them.