Can anyone please explain how the all magento command work in magento2(I want to undesrstand backend process)?
Clash Royale CLAN TAG#URR8PPP
up vote
3
down vote
favorite
Can anyone please explain how the all magento command work in magento2(I want to understand backend process)
Like:
IF I am running command
php bin/magento module:status
which file will affect and how it display?
I want to know about all the commands which we mostly use by command line.
magento2 command workflow
add a comment |
up vote
3
down vote
favorite
Can anyone please explain how the all magento command work in magento2(I want to understand backend process)
Like:
IF I am running command
php bin/magento module:status
which file will affect and how it display?
I want to know about all the commands which we mostly use by command line.
magento2 command workflow
add a comment |
up vote
3
down vote
favorite
up vote
3
down vote
favorite
Can anyone please explain how the all magento command work in magento2(I want to understand backend process)
Like:
IF I am running command
php bin/magento module:status
which file will affect and how it display?
I want to know about all the commands which we mostly use by command line.
magento2 command workflow
Can anyone please explain how the all magento command work in magento2(I want to understand backend process)
Like:
IF I am running command
php bin/magento module:status
which file will affect and how it display?
I want to know about all the commands which we mostly use by command line.
magento2 command workflow
magento2 command workflow
edited Dec 3 at 10:23


Ajwad Taqvi
30314
30314
asked Dec 3 at 9:27


Rutvee Sojitra
1,2921121
1,2921121
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
2
down vote
accepted
ObjectManagerProvider.php is the starting point of initializing all commands with application run
setup/src/Magento/Setup/Model/ObjectManagerProvider.php
Here createCliCommands()
function creates cli commands and initialize them with application instance
createCliCommands()
function gets list of command instances from getCommands()
function which returns all command classes
You can check all command classes from getCommandsClasses()
setup/src/Magento/Setup/Console/CommandList.php
Here is the list of all command classes
MagentoSetupConsoleCommandAdminUserCreateCommand::class,
MagentoSetupConsoleCommandBackupCommand::class,
MagentoSetupConsoleCommandConfigSetCommand::class,
MagentoSetupConsoleCommandCronRunCommand::class,
MagentoSetupConsoleCommandDbDataUpgradeCommand::class,
MagentoSetupConsoleCommandDbSchemaUpgradeCommand::class,
MagentoSetupConsoleCommandDbStatusCommand::class,
MagentoSetupConsoleCommandDependenciesShowFrameworkCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCircularCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCommand::class,
MagentoSetupConsoleCommandDiCompileCommand::class,
MagentoSetupConsoleCommandGenerateFixturesCommand::class,
MagentoSetupConsoleCommandI18nCollectPhrasesCommand::class,
MagentoSetupConsoleCommandI18nPackCommand::class,
MagentoSetupConsoleCommandInfoAdminUriCommand::class,
MagentoSetupConsoleCommandInfoBackupsListCommand::class,
MagentoSetupConsoleCommandInfoCurrencyListCommand::class,
MagentoSetupConsoleCommandInfoLanguageListCommand::class,
MagentoSetupConsoleCommandInfoTimezoneListCommand::class,
MagentoSetupConsoleCommandInstallCommand::class,
MagentoSetupConsoleCommandInstallStoreConfigurationCommand::class,
MagentoSetupConsoleCommandModuleEnableCommand::class,
MagentoSetupConsoleCommandModuleDisableCommand::class,
MagentoSetupConsoleCommandModuleStatusCommand::class,
MagentoSetupConsoleCommandModuleUninstallCommand::class,
MagentoSetupConsoleCommandMaintenanceAllowIpsCommand::class,
MagentoSetupConsoleCommandMaintenanceDisableCommand::class,
MagentoSetupConsoleCommandMaintenanceEnableCommand::class,
MagentoSetupConsoleCommandMaintenanceStatusCommand::class,
MagentoSetupConsoleCommandRollbackCommand::class,
MagentoSetupConsoleCommandUpgradeCommand::class,
MagentoSetupConsoleCommandUninstallCommand::class,
MagentoSetupConsoleCommandDeployStaticContentCommand::class
Command module:status
has been declare ModuleStatusCommand.php
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
protected function execute(InputInterface $input, OutputInterface $output)
$moduleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleModuleList::class);
$output->writeln('<info>List of enabled modules:</info>');
$enabledModules = $moduleList->getNames();
if (count($enabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $enabledModules));
$output->writeln('');
$fullModuleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleFullModuleList::class);
$output->writeln("<info>List of disabled modules:</info>");
$disabledModules = array_diff($fullModuleList->getNames(), $enabledModules);
if (count($disabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $disabledModules));
Thank you so much Prince
– Rutvee Sojitra
Dec 3 at 11:02
add a comment |
up vote
1
down vote
The command 'module:status' has been declared in
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
Use a grep command to find out in which module the Console Command is declared:
grep -r 'module:status' vendor/magento/
and then in this case it is in magento2-base setup which will be placed in the setup folder during installation.
Thank you so much Mr. Lewis
– Rutvee Sojitra
Dec 3 at 10:54
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
ObjectManagerProvider.php is the starting point of initializing all commands with application run
setup/src/Magento/Setup/Model/ObjectManagerProvider.php
Here createCliCommands()
function creates cli commands and initialize them with application instance
createCliCommands()
function gets list of command instances from getCommands()
function which returns all command classes
You can check all command classes from getCommandsClasses()
setup/src/Magento/Setup/Console/CommandList.php
Here is the list of all command classes
MagentoSetupConsoleCommandAdminUserCreateCommand::class,
MagentoSetupConsoleCommandBackupCommand::class,
MagentoSetupConsoleCommandConfigSetCommand::class,
MagentoSetupConsoleCommandCronRunCommand::class,
MagentoSetupConsoleCommandDbDataUpgradeCommand::class,
MagentoSetupConsoleCommandDbSchemaUpgradeCommand::class,
MagentoSetupConsoleCommandDbStatusCommand::class,
MagentoSetupConsoleCommandDependenciesShowFrameworkCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCircularCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCommand::class,
MagentoSetupConsoleCommandDiCompileCommand::class,
MagentoSetupConsoleCommandGenerateFixturesCommand::class,
MagentoSetupConsoleCommandI18nCollectPhrasesCommand::class,
MagentoSetupConsoleCommandI18nPackCommand::class,
MagentoSetupConsoleCommandInfoAdminUriCommand::class,
MagentoSetupConsoleCommandInfoBackupsListCommand::class,
MagentoSetupConsoleCommandInfoCurrencyListCommand::class,
MagentoSetupConsoleCommandInfoLanguageListCommand::class,
MagentoSetupConsoleCommandInfoTimezoneListCommand::class,
MagentoSetupConsoleCommandInstallCommand::class,
MagentoSetupConsoleCommandInstallStoreConfigurationCommand::class,
MagentoSetupConsoleCommandModuleEnableCommand::class,
MagentoSetupConsoleCommandModuleDisableCommand::class,
MagentoSetupConsoleCommandModuleStatusCommand::class,
MagentoSetupConsoleCommandModuleUninstallCommand::class,
MagentoSetupConsoleCommandMaintenanceAllowIpsCommand::class,
MagentoSetupConsoleCommandMaintenanceDisableCommand::class,
MagentoSetupConsoleCommandMaintenanceEnableCommand::class,
MagentoSetupConsoleCommandMaintenanceStatusCommand::class,
MagentoSetupConsoleCommandRollbackCommand::class,
MagentoSetupConsoleCommandUpgradeCommand::class,
MagentoSetupConsoleCommandUninstallCommand::class,
MagentoSetupConsoleCommandDeployStaticContentCommand::class
Command module:status
has been declare ModuleStatusCommand.php
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
protected function execute(InputInterface $input, OutputInterface $output)
$moduleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleModuleList::class);
$output->writeln('<info>List of enabled modules:</info>');
$enabledModules = $moduleList->getNames();
if (count($enabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $enabledModules));
$output->writeln('');
$fullModuleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleFullModuleList::class);
$output->writeln("<info>List of disabled modules:</info>");
$disabledModules = array_diff($fullModuleList->getNames(), $enabledModules);
if (count($disabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $disabledModules));
Thank you so much Prince
– Rutvee Sojitra
Dec 3 at 11:02
add a comment |
up vote
2
down vote
accepted
ObjectManagerProvider.php is the starting point of initializing all commands with application run
setup/src/Magento/Setup/Model/ObjectManagerProvider.php
Here createCliCommands()
function creates cli commands and initialize them with application instance
createCliCommands()
function gets list of command instances from getCommands()
function which returns all command classes
You can check all command classes from getCommandsClasses()
setup/src/Magento/Setup/Console/CommandList.php
Here is the list of all command classes
MagentoSetupConsoleCommandAdminUserCreateCommand::class,
MagentoSetupConsoleCommandBackupCommand::class,
MagentoSetupConsoleCommandConfigSetCommand::class,
MagentoSetupConsoleCommandCronRunCommand::class,
MagentoSetupConsoleCommandDbDataUpgradeCommand::class,
MagentoSetupConsoleCommandDbSchemaUpgradeCommand::class,
MagentoSetupConsoleCommandDbStatusCommand::class,
MagentoSetupConsoleCommandDependenciesShowFrameworkCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCircularCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCommand::class,
MagentoSetupConsoleCommandDiCompileCommand::class,
MagentoSetupConsoleCommandGenerateFixturesCommand::class,
MagentoSetupConsoleCommandI18nCollectPhrasesCommand::class,
MagentoSetupConsoleCommandI18nPackCommand::class,
MagentoSetupConsoleCommandInfoAdminUriCommand::class,
MagentoSetupConsoleCommandInfoBackupsListCommand::class,
MagentoSetupConsoleCommandInfoCurrencyListCommand::class,
MagentoSetupConsoleCommandInfoLanguageListCommand::class,
MagentoSetupConsoleCommandInfoTimezoneListCommand::class,
MagentoSetupConsoleCommandInstallCommand::class,
MagentoSetupConsoleCommandInstallStoreConfigurationCommand::class,
MagentoSetupConsoleCommandModuleEnableCommand::class,
MagentoSetupConsoleCommandModuleDisableCommand::class,
MagentoSetupConsoleCommandModuleStatusCommand::class,
MagentoSetupConsoleCommandModuleUninstallCommand::class,
MagentoSetupConsoleCommandMaintenanceAllowIpsCommand::class,
MagentoSetupConsoleCommandMaintenanceDisableCommand::class,
MagentoSetupConsoleCommandMaintenanceEnableCommand::class,
MagentoSetupConsoleCommandMaintenanceStatusCommand::class,
MagentoSetupConsoleCommandRollbackCommand::class,
MagentoSetupConsoleCommandUpgradeCommand::class,
MagentoSetupConsoleCommandUninstallCommand::class,
MagentoSetupConsoleCommandDeployStaticContentCommand::class
Command module:status
has been declare ModuleStatusCommand.php
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
protected function execute(InputInterface $input, OutputInterface $output)
$moduleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleModuleList::class);
$output->writeln('<info>List of enabled modules:</info>');
$enabledModules = $moduleList->getNames();
if (count($enabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $enabledModules));
$output->writeln('');
$fullModuleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleFullModuleList::class);
$output->writeln("<info>List of disabled modules:</info>");
$disabledModules = array_diff($fullModuleList->getNames(), $enabledModules);
if (count($disabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $disabledModules));
Thank you so much Prince
– Rutvee Sojitra
Dec 3 at 11:02
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
ObjectManagerProvider.php is the starting point of initializing all commands with application run
setup/src/Magento/Setup/Model/ObjectManagerProvider.php
Here createCliCommands()
function creates cli commands and initialize them with application instance
createCliCommands()
function gets list of command instances from getCommands()
function which returns all command classes
You can check all command classes from getCommandsClasses()
setup/src/Magento/Setup/Console/CommandList.php
Here is the list of all command classes
MagentoSetupConsoleCommandAdminUserCreateCommand::class,
MagentoSetupConsoleCommandBackupCommand::class,
MagentoSetupConsoleCommandConfigSetCommand::class,
MagentoSetupConsoleCommandCronRunCommand::class,
MagentoSetupConsoleCommandDbDataUpgradeCommand::class,
MagentoSetupConsoleCommandDbSchemaUpgradeCommand::class,
MagentoSetupConsoleCommandDbStatusCommand::class,
MagentoSetupConsoleCommandDependenciesShowFrameworkCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCircularCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCommand::class,
MagentoSetupConsoleCommandDiCompileCommand::class,
MagentoSetupConsoleCommandGenerateFixturesCommand::class,
MagentoSetupConsoleCommandI18nCollectPhrasesCommand::class,
MagentoSetupConsoleCommandI18nPackCommand::class,
MagentoSetupConsoleCommandInfoAdminUriCommand::class,
MagentoSetupConsoleCommandInfoBackupsListCommand::class,
MagentoSetupConsoleCommandInfoCurrencyListCommand::class,
MagentoSetupConsoleCommandInfoLanguageListCommand::class,
MagentoSetupConsoleCommandInfoTimezoneListCommand::class,
MagentoSetupConsoleCommandInstallCommand::class,
MagentoSetupConsoleCommandInstallStoreConfigurationCommand::class,
MagentoSetupConsoleCommandModuleEnableCommand::class,
MagentoSetupConsoleCommandModuleDisableCommand::class,
MagentoSetupConsoleCommandModuleStatusCommand::class,
MagentoSetupConsoleCommandModuleUninstallCommand::class,
MagentoSetupConsoleCommandMaintenanceAllowIpsCommand::class,
MagentoSetupConsoleCommandMaintenanceDisableCommand::class,
MagentoSetupConsoleCommandMaintenanceEnableCommand::class,
MagentoSetupConsoleCommandMaintenanceStatusCommand::class,
MagentoSetupConsoleCommandRollbackCommand::class,
MagentoSetupConsoleCommandUpgradeCommand::class,
MagentoSetupConsoleCommandUninstallCommand::class,
MagentoSetupConsoleCommandDeployStaticContentCommand::class
Command module:status
has been declare ModuleStatusCommand.php
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
protected function execute(InputInterface $input, OutputInterface $output)
$moduleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleModuleList::class);
$output->writeln('<info>List of enabled modules:</info>');
$enabledModules = $moduleList->getNames();
if (count($enabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $enabledModules));
$output->writeln('');
$fullModuleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleFullModuleList::class);
$output->writeln("<info>List of disabled modules:</info>");
$disabledModules = array_diff($fullModuleList->getNames(), $enabledModules);
if (count($disabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $disabledModules));
ObjectManagerProvider.php is the starting point of initializing all commands with application run
setup/src/Magento/Setup/Model/ObjectManagerProvider.php
Here createCliCommands()
function creates cli commands and initialize them with application instance
createCliCommands()
function gets list of command instances from getCommands()
function which returns all command classes
You can check all command classes from getCommandsClasses()
setup/src/Magento/Setup/Console/CommandList.php
Here is the list of all command classes
MagentoSetupConsoleCommandAdminUserCreateCommand::class,
MagentoSetupConsoleCommandBackupCommand::class,
MagentoSetupConsoleCommandConfigSetCommand::class,
MagentoSetupConsoleCommandCronRunCommand::class,
MagentoSetupConsoleCommandDbDataUpgradeCommand::class,
MagentoSetupConsoleCommandDbSchemaUpgradeCommand::class,
MagentoSetupConsoleCommandDbStatusCommand::class,
MagentoSetupConsoleCommandDependenciesShowFrameworkCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCircularCommand::class,
MagentoSetupConsoleCommandDependenciesShowModulesCommand::class,
MagentoSetupConsoleCommandDiCompileCommand::class,
MagentoSetupConsoleCommandGenerateFixturesCommand::class,
MagentoSetupConsoleCommandI18nCollectPhrasesCommand::class,
MagentoSetupConsoleCommandI18nPackCommand::class,
MagentoSetupConsoleCommandInfoAdminUriCommand::class,
MagentoSetupConsoleCommandInfoBackupsListCommand::class,
MagentoSetupConsoleCommandInfoCurrencyListCommand::class,
MagentoSetupConsoleCommandInfoLanguageListCommand::class,
MagentoSetupConsoleCommandInfoTimezoneListCommand::class,
MagentoSetupConsoleCommandInstallCommand::class,
MagentoSetupConsoleCommandInstallStoreConfigurationCommand::class,
MagentoSetupConsoleCommandModuleEnableCommand::class,
MagentoSetupConsoleCommandModuleDisableCommand::class,
MagentoSetupConsoleCommandModuleStatusCommand::class,
MagentoSetupConsoleCommandModuleUninstallCommand::class,
MagentoSetupConsoleCommandMaintenanceAllowIpsCommand::class,
MagentoSetupConsoleCommandMaintenanceDisableCommand::class,
MagentoSetupConsoleCommandMaintenanceEnableCommand::class,
MagentoSetupConsoleCommandMaintenanceStatusCommand::class,
MagentoSetupConsoleCommandRollbackCommand::class,
MagentoSetupConsoleCommandUpgradeCommand::class,
MagentoSetupConsoleCommandUninstallCommand::class,
MagentoSetupConsoleCommandDeployStaticContentCommand::class
Command module:status
has been declare ModuleStatusCommand.php
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
protected function execute(InputInterface $input, OutputInterface $output)
$moduleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleModuleList::class);
$output->writeln('<info>List of enabled modules:</info>');
$enabledModules = $moduleList->getNames();
if (count($enabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $enabledModules));
$output->writeln('');
$fullModuleList = $this->objectManagerProvider->get()->create(MagentoFrameworkModuleFullModuleList::class);
$output->writeln("<info>List of disabled modules:</info>");
$disabledModules = array_diff($fullModuleList->getNames(), $enabledModules);
if (count($disabledModules) === 0)
$output->writeln('None');
else
$output->writeln(join("n", $disabledModules));
edited Dec 3 at 11:25


Jaimin
1,021428
1,021428
answered Dec 3 at 10:59


Prince Patel
12.8k44373
12.8k44373
Thank you so much Prince
– Rutvee Sojitra
Dec 3 at 11:02
add a comment |
Thank you so much Prince
– Rutvee Sojitra
Dec 3 at 11:02
Thank you so much Prince
– Rutvee Sojitra
Dec 3 at 11:02
Thank you so much Prince
– Rutvee Sojitra
Dec 3 at 11:02
add a comment |
up vote
1
down vote
The command 'module:status' has been declared in
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
Use a grep command to find out in which module the Console Command is declared:
grep -r 'module:status' vendor/magento/
and then in this case it is in magento2-base setup which will be placed in the setup folder during installation.
Thank you so much Mr. Lewis
– Rutvee Sojitra
Dec 3 at 10:54
add a comment |
up vote
1
down vote
The command 'module:status' has been declared in
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
Use a grep command to find out in which module the Console Command is declared:
grep -r 'module:status' vendor/magento/
and then in this case it is in magento2-base setup which will be placed in the setup folder during installation.
Thank you so much Mr. Lewis
– Rutvee Sojitra
Dec 3 at 10:54
add a comment |
up vote
1
down vote
up vote
1
down vote
The command 'module:status' has been declared in
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
Use a grep command to find out in which module the Console Command is declared:
grep -r 'module:status' vendor/magento/
and then in this case it is in magento2-base setup which will be placed in the setup folder during installation.
The command 'module:status' has been declared in
setup/src/Magento/Setup/Console/Command/ModuleStatusCommand.php
Use a grep command to find out in which module the Console Command is declared:
grep -r 'module:status' vendor/magento/
and then in this case it is in magento2-base setup which will be placed in the setup folder during installation.
answered Dec 3 at 10:43
Mr. Lewis
1,12168
1,12168
Thank you so much Mr. Lewis
– Rutvee Sojitra
Dec 3 at 10:54
add a comment |
Thank you so much Mr. Lewis
– Rutvee Sojitra
Dec 3 at 10:54
Thank you so much Mr. Lewis
– Rutvee Sojitra
Dec 3 at 10:54
Thank you so much Mr. Lewis
– Rutvee Sojitra
Dec 3 at 10:54
add a comment |
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f252194%2fcan-anyone-please-explain-how-the-all-magento-command-work-in-magento2i-want-to%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown