public function actionInstall()
    {
       
        $extensionId = $this->options['extension']; // ID of the extension to install.
        $importLocalData = $this->options['data']; // Import local data (local.rdf) or not ?
        try{
            // Retrieve the extension's information.
            $this->outVerbose("Locating extension '${extensionId}'...");
            $extensionManager = common_ext_ExtensionsManager::singleton();
            $ext = $extensionManager->getExtensionById($extensionId);
            $this->outVerbose("Extension located.");
            
            try{
                // Install the extension.
                $this->outVerbose("Installing extension '${extensionId}'...");
                $installer = new tao_install_ExtensionInstaller($ext, $importLocalData);
                $installer->install();
                $this->outVerbose("Extension successfully installed.");
            }
            catch (common_ext_ForbiddenActionException $e){
                $this->error("A forbidden action was undertaken: " . $e->getMessage() . " .", true);
            }
            catch (common_ext_AlreadyInstalledException $e){
                $this->error("Extension '" . $e->getExtensionId() . "' is already installed.", true);
            }
            catch (common_ext_MissingExtensionException $e){
                $this->error("Extension '" . $extensionId . " is dependant on extension '" . $e->getExtensionId() . "' but is missing. Install '" . $e->getExtensionId() . "' first.", true);
            }
        }
        catch (common_ext_ExtensionException $e){
            $this->error("An unexpected error occured: " . $e->getMessage(), true);
        }
      
    }