Skip to content

[ReadMe] updated readMe file for ImportExport-LayeredNavigation modules #31809

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 84 additions & 1 deletion app/code/Magento/ImportExport/README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,85 @@
Magento_ImportExport module provides a framework and basic functionality for importing/exporting various entities in Magento.
# Magento_ImportExport module

This module provides a framework and basic functionality for importing/exporting various entities in Magento.
It can be disabled and in such case all dependent import/export functionality (products, customers, orders etc.) will be disabled in Magento.

## Installation

The Magento_ImportExport module creates the following tables in the database:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add some information about the schema/column not being persistent (e.g. not having to be manually removed) when the module gets disabled and setup:upgrade is run.

- `importexport_importdata`
- `import_history`

All database schema changes made by this module are rolled back when the module gets disabled and setup:upgrade command is run.

For information about a module installation in Magento 2, see [Enable or disable modules](https://devdocs.magento.com/guides/v2.4/install-gde/install/cli/install-cli-subcommands-enable.html).

## Structure

`Files/` - the directory that contains sample import files.

For information about a typical file structure of a module in Magento 2, see [Module file structure](http://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/module-file-structure.html#module-file-structure).

## Extensibility

Extension developers can interact with the Magento_ImportExport module. For more information about the Magento extension mechanism, see [Magento plugins](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/plugins.html).

[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_ImportExport module.

### Layouts

This module introduces the following layout handles in the `view/frontend/layout` directory:

- `adminhtml_export_getfilter`
- `adminhtml_export_index`
- `adminhtml_history_grid_block`
- `adminhtml_history_index`
- `adminhtml_import_busy`
- `adminhtml_import_index`
- `adminhtml_import_start`
- `adminhtml_import_validate`

For more information about a layout in Magento 2, see the [Layout documentation](http://devdocs.magento.com/guides/v2.4/frontend-dev-guide/layouts/layout-overview.html).

### UI components

You can extend an export updates using the configuration files located in the `view/adminhtml/ui_component` directory:

- `export_grid`

For information about a UI component in Magento 2, see [Overview of UI components](http://devdocs.magento.com/guides/v2.4/ui_comp_guide/bk-ui_comps.html).

### Public APIs

- `Magento\ImportExport\Api\Data\ExportInfoInterface`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ExtendedExportInfoInterface interface is missing from the description. Please add it and describe in a little more detail both data interfaces so the readme provides clear enough info on what's the difference between them without having to look at the actual code.

- getter and setter interface with data needed for export

- `Magento\ImportExport\Api\Data\ExtendedExportInfoInterface`
- extends `Magento\ImportExport\Api\Data\ExportInfoInterface`. Contains data for skipped attributes

- `\Magento\ImportExport\Api\ExportManagementInterface`
- Executing actual export and returns export data

For information about a public API in Magento 2, see [Public interfaces & APIs](http://devdocs.magento.com/guides/v2.4/extension-dev-guide/api-concepts.html).

## Additional information

#### Message Queue Consumer

- `exportProcessor` - consumer to run export process

[Learn how to manage Message Queues](https://devdocs.magento.com/guides/v2.4/config-guide/mq/manage-message-queues.html).

#### Create custom import entity

1. Declare the new import entity in `etc/import.xml`
2. Create an import model

#### Create custom export entity

1. Declare the new import entity in `etc/export.xml`
2. Create an export model

You can get more information about import/export processes in magento at the articles:
- [Create custom import entity](https://devdocs.magento.com/guides/v2.4/ext-best-practices/tutorials/custom-import-entity.html)
- [Import](https://docs.magento.com/user-guide/system/data-import.html)
- [Export](https://docs.magento.com/user-guide/system/data-export.html)
109 changes: 99 additions & 10 deletions app/code/Magento/Indexer/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,101 @@
## Overview
Magento_Indexer module is a base of Magento Indexing functionality.
It allows:
- read indexers configuration,
- represent indexers in admin,
- regenerate indexes by cron schedule,
- regenerate indexes from console,
- view and reset indexer state from console,
# Magento_Indexer module

This module provides Magento Indexing functionality.
It allows to:
- read indexers configuration
- represent indexers in admin
- regenerate indexes by cron schedule
- regenerate indexes from console
- view and reset indexer state from console
- view and set indexer mode from console

There are 2 modes of the Indexers: "Update on save" and "Update by schedule".
Manual full reindex can be performed via console by running `php -f bin/magento indexer:reindex` console command.
## Installation

The Magento_Indexer module is one of the base Magento 2 modules. You cannot disable or uninstall this module.

This module is dependent on the following modules:

- `Magento_Store`
- `Magento_AdminNotification`

The Magento_Indexer module creates the following tables in the database:
- `indexer_state`
- `mview_state`

For information about a module installation in Magento 2, see [Enable or disable modules](https://devdocs.magento.com/guides/v2.4/install-gde/install/cli/install-cli-subcommands-enable.html).

## Structure

`App/` - the directory that contains launch application entry point.

For information about a typical file structure of a module in Magento 2, see [Module file structure](http://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/module-file-structure.html#module-file-structure).

## Extensibility

Extension developers can interact with the Magento_Indexer module. For more information about the Magento extension mechanism, see [Magento plugins](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/plugins.html).

[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_Indexer module.

### Events

The module dispatches the following events:

#### Model

- `clean_cache_by_tags` event in the `\Magento\Indexer\Model\Indexer\CacheCleaner::cleanCache` method. Parameters:
- `object` is a `cacheContext` object (`Magento\Framework\Indexer\CacheContext` class)

#### Plugin

- `clean_cache_after_reindex` event in the `\Magento\Indexer\Model\Processor\CleanCache::afterUpdateMview` method. Parameters:
- `object` is a `context` object (`Magento\Framework\Indexer\CacheContext` class)

- `clean_cache_by_tags` event in the `\Magento\Indexer\Model\Processor\CleanCache::afterReindexAllInvalid` method. Parameters:
- `object` is a `context` object (`Magento\Framework\Indexer\CacheContext` class)

For information about an event in Magento 2, see [Events and observers](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/events-and-observers.html#events).

### Layouts

This module introduces the following layout handles in the `view/adminhtml/layout` directory:
- `indexer_indexer_list`
- `indexer_indexer_list_grid`

For more information about layouts in Magento 2, see the [Layout documentation](https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/layouts/layout-overview.html).

## Additional information

### Indexer modes

There are 2 modes of the Indexers:

- Update on Save - index tables are updated immediately after the dictionary data is changed
- Update by Schedule - index tables are updated by cron job according to the configured schedule

### Console commands

Magento_Indexers provides console commands:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

indexer:set-dimensions-mode and indexer:show-dimensions-mode are missing from the list

- `bin/magento indexer:info` - view a list of all indexers
- `bin/magento indexer:status [indexer]` - view index status
- `bin/magento indexer:reindex [indexer]` - run reindex
- `bin/magento indexer:reset [indexer]` - reset indexers
- `bin/magento indexer:show-mode [indexer]` - view the current indexer configuration
- `bin/magento indexer:set-mode {realtime|schedule} [indexer]` - specify the indexer configuration
- `bin/magento indexer:set-dimensions-mode [indexer]` - set indexer dimension mode
- `bin/magento indexer:show-dimensions-mode [indexer]` - set indexer dimension mode

### Cron options

Cron group configuration can be set at `etc/crontab.xml`:
- `indexer_reindex_all_invalid` - regenerate indexes for all invalid indexers
- `indexer_update_all_views` - update indexer views
- `indexer_clean_all_changelogs` - clean indexer view changelogs

[Learn how to configure and run cron in Magento.](http://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-cron.html).

More information can get at articles:
- [Learn more about indexing](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/indexing.html)
- [Learn more about Indexer optimization](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/indexer-batch.html)
- [Learn more how to add custom indexer](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/indexing-custom.html)
- [Learn how to manage indexers](https://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-index.html)
- [Learn more about Index Management](https://docs.magento.com/user-guide/system/index-management.html)
61 changes: 52 additions & 9 deletions app/code/Magento/InstantPurchase/README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,56 @@
# Magento_InstantPurchase module
## Magento_InstantPurchase module

Instant Purchase feature allows the Customer to place the order in seconds without going through full checkout. Once clicked, system places the order using default shipping and billing addresses and stored payment method. Order is placed and customer gets confirmation message in notification area.
This module allows the Customer to place the order in seconds without going through full checkout. Once clicked, system places the order using default shipping and billing addresses and stored payment method. Order is placed and customer gets confirmation message in notification area.

Prerequisites to display the Instant Purchase button:
## Installation

1. Instant purchase enabled for a store at `Store / Configurations / Sales / Sales / Instant Purchase`
2. Customer is logged in
3. Customer has default shipping and billing address defined
4. Customer has valid stored payment method with instant purchase support
For information about a module installation in Magento 2, see [Enable or disable modules](https://devdocs.magento.com/guides/v2.4/install-gde/install/cli/install-cli-subcommands-enable.html).

## Structure

In addition to [a typical file structure for a Magento 2 module](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/module-file-structure.html) `PaymentMethodsIntegration` directory contains interfaces and basic implementation of integration vault payment method to the instant purchase.
`PaymentMethodsIntegration` - directory contains interfaces and basic implementation of integration vault payment method to the instant purchase.

For information about a typical file structure of a module in Magento 2, see [Module file structure](http://devdocs.magento.com/guides/v2.4/extension-dev-guide/build/module-file-structure.html#module-file-structure).

## Extensibility

Extension developers can interact with the Magento_InstantPurchase module. For more information about the Magento extension mechanism, see [Magento plugins](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/plugins.html).

[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_InstantPurchase module.

### Public APIs

- `\Magento\InstantPurchase\Model\BillingAddressChoose\BillingAddressChooserInterface`
- choose billing address for a customer if available

- `\Magento\InstantPurchase\Model\PaymentMethodChoose\PaymentTokenChooserInterface`
- choose one of the stored payment methods for a customer if available

- `\Magento\InstantPurchase\Model\ShippingAddressChoose\ShippingAddressChooserInterface`
- choose shipping address for a customer if available

- `\Magento\InstantPurchase\Model\ShippingMethodChoose\DeferredShippingMethodChooserInterface`
- choose shipping method for a quote address

- `\Magento\InstantPurchase\Model\ShippingMethodChoose\ShippingMethodChooserInterface`
- choose shipping method for customer address if available

- `\Magento\InstantPurchase\Model\InstantPurchaseInterface`
- detects instant purchase options for a customer in a store

- `\Magento\InstantPurchase\PaymentMethodIntegration\AvailabilityCheckerInterface`
- checks if payment method may be used for instant purchase

- `\Magento\InstantPurchase\PaymentMethodIntegration\PaymentAdditionalInformationProviderInterface`
- provides additional information part specific for payment method

- `\Magento\InstantPurchase\PaymentMethodIntegration\PaymentTokenFormatterInterface`
- provides mechanism to create string presentation of token for payment method

For information about a public API in Magento 2, see [Public interfaces & APIs](http://devdocs.magento.com/guides/v2.4/extension-dev-guide/api-concepts.html).

## Additional information

### Instant purchase customization
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move this section to additional information (or remove entirely as that's a bit redundant now when you created an extensive source of information for the module already)


Almost all aspects of instant purchase may be customized. See comments to classes and interfaces marked with `@api` tag.
Expand Down Expand Up @@ -47,7 +83,14 @@ Basic implementation is a good start point but it's recommended to provide own i
- `Magento\InstantPurchase\PaymentMethodIntegration\PaymentTokenFormatterInterface` - creates string that describes stored payment method. Basic implementation returns payment method name. It is highly recommended to implement own formatter.
- `Magento\InstantPurchase\PaymentMethodIntegration\PaymentAdditionalInformationProviderInterface` - allows to add some extra values to payment additional information array. Default implementation returns empty array.

## Additional information
### Prerequisites to display the Instant Purchase button

1. Instant purchase enabled for a store at `Store / Configurations / Sales / Sales / Instant Purchase`
2. Customer is logged in
3. Customer has default shipping and billing address defined
4. Customer has valid stored payment method with instant purchase support

[Learn more about Instant Purchase](https://docs.magento.com/user-guide/sales/checkout-instant-purchase.html).

### Backward incompatible changes

Expand Down
103 changes: 101 additions & 2 deletions app/code/Magento/Integration/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,105 @@
# Integration
# Magento_Integration module

**Integration** enables third-party services to call the Web API by using access tokens.
This module enables third-party services to call the Web API by using access tokens.
It provides an admin UI that enables manual creation of integrations. Extensions can also provide a configuration
file so that an integration can be automatically pre-configured. The module also contains the data
model for request and access token management.

## Installation

The Magento_Integration module is one of the base Magento 2 modules. You cannot disable or uninstall this module.

This module is dependent on the following modules:
- `Magento_Store`
- `Magento_User`
- `Magento_Security`

The Magento_Integration module creates the following tables in the database:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add some information about the schema/column not being persistent (e.g. not having to be manually removed) when the module gets disabled and setup:upgrade is run.
Also, please cover the recurring script and the data patch the module contains with info if any data introduced there has to be manually removed when the module is uninstalled/removed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should not mention any schema / data reverting as this module should not be disabled or removed, because a lot of modules depends of it. I added info about it. What do you think?

- `oauth_consumer`
- `oauth_token`
- `oauth_nonce`
- `integration`
- `oauth_token_request_log`

For information about a module installation in Magento 2, see [Enable or disable modules](https://devdocs.magento.com/guides/v2.4/install-gde/install/cli/install-cli-subcommands-enable.html).

## Extensibility

Extension developers can interact with the Magento_Integration module. For more information about the Magento extension mechanism, see [Magento plugins](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/plugins.html).

[The Magento dependency injection mechanism](https://devdocs.magento.com/guides/v2.4/extension-dev-guide/depend-inj.html) enables you to override the functionality of the Magento_Integration module.

### Events

The module dispatches the following events:

#### Model
- `customer_login` event in the `\Magento\Integration\Model\CustomerTokenService::createCustomerAccessToken` method. Parameters:
- `customer` is an object (`\Magento\Customer\Api\Data\CustomerInterface` class)

For information about an event in Magento 2, see [Events and observers](http://devdocs.magento.com/guides/v2.4/extension-dev-guide/events-and-observers.html#events).

### Layouts

This module introduces the following layout handles in the `view/adminhtml/layout` directory:
- `adminhtml_integration_edit`
- `adminhtml_integration_grid`
- `adminhtml_integration_grid_block`
- `adminhtml_integration_index`
- `adminhtml_integration_new`
- `adminhtml_integration_permissionsdialog`
- `adminhtml_integration_tokensdialog`
- `adminhtml_integration_tokensexchange`

For more information about a layout in Magento 2, see the [Layout documentation](https://devdocs.magento.com/guides/v2.4/frontend-dev-guide/layouts/layout-overview.html).

### Public APIs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

\Magento\Integration\Api\OauthServiceInterface is missing - please add it


- `\Magento\Integration\Api\AdminTokenServiceInterface`:
- create access token for admin given the admin credentials
- revoke token by admin ID

- `\Magento\Integration\Api\AuthorizationServiceInterface`:
- grant permissions to user to access the specified resources
- grant permissions to the user to access all resources available in the system
- remove role and associated permissions for the specified integration

- `\Magento\Integration\Api\CustomerTokenServiceInterface`:
- create access token for admin given the customer credentials
- revoke token by customer ID

- `\Magento\Integration\Api\IntegrationServiceInterface`:
- create a new Integration
- get the details of a specific Integration by integration ID
- find Integration by name
- get the details of an Integration by consumer_id
- get the details of an active Integration by consumer_id
- update an Integration
- delete an Integration by integration ID
- get an array of selected resources for an integration

- `\Magento\Integration\Api\OauthServiceInterface`:
- create a new consumer account
- create access token for provided consumer
- retrieve access token assigned to the consumer
- load consumer by its ID
- load consumer by its key
- execute post to integration (consumer) HTTP Post URL. Generate and return oauth_verifier
- delete the consumer data associated with the integration including its token and nonce
- remove token associated with provided consumer

For information about a public API in Magento 2, see [Public interfaces & APIs](http://devdocs.magento.com/guides/v2.4/extension-dev-guide/api-concepts.html).

## Additional information

### Cron options

Cron group configuration can be set at `etc/crontab.xml`:
- `outdated_authentication_failures_cleanup` - clearing log of outdated token request authentication failures
- `expired_tokens_cleanups` - delete expired customer and admin tokens

[Learn how to configure and run cron in Magento.](http://devdocs.magento.com/guides/v2.4/config-guide/cli/config-cli-subcommands-cron.html).

More information can get at articles:
- [Learn more about an Integration](https://docs.magento.com/user-guide/system/integrations.html)
- [Lear how to create an Integration](https://devdocs.magento.com/guides/v2.4/get-started/create-integration.html)
Loading