This project is read-only.

Help! My Installation Exploded!

In the unexpected event that either of the two providers (data and authentication) fail -- either during initial installation or subsequent usage -- automated uninstallation may not be possible. This is because the installation package replaces one of the fundamental underlying components of the DotNetNuke framework -- data persistence.

Note that if no access-preventing failure occurs, the normal DotNetNuke extension uninstallation procedure will automatically perform the work outlined in this section. No manual intervention is necessary in this case.

Should an installation fail as a result of this enhancement, manual removal of the provider metadata in the web.config file may be necessary. This is effectuated in two places, each outlined below.

1. Manual removal of the Amazon S3 Data Provider

Removal of the data provider component of this enhancement involves restoring the fully qualified type for the configured DotNetNuke data provider. After installation, the configuration/dotnetnuke/data node of the web.config file will read:

<configuration>
  ...
  <dotnetnuke>
    ...
    <data defaultProvider="SqlDataProvider">
      <providers>
        <clear />
        <add 
          name="SqlDataProvider" 
          type="BrandonHaynes.Providers.AmazonS3.Data.AmazonS3DataProvider, 
                    BrandonHaynes.Providers.AmazonS3" 
          connectionStringName="SiteSqlServer" 
          upgradeConnectionString="" 
          providerPath="~\Providers\DataProviders\SqlDataProvider\" 
          objectQualifier="" 
          databaseOwner="dbo" />
      </providers>
    </data>
  </dotnetnuke>
</configuration>

Here, the qualified type of the SqlDataProvider will need to be restored as:

<configuration>
  ...
  <dotnetnuke>
    ...
    <data defaultProvider="SqlDataProvider">
      <providers>
        <clear />
        <add 
          name="SqlDataProvider" 
          type="DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider" 
          connectionStringName="SiteSqlServer" 
          upgradeConnectionString="" 
          providerPath="~\Providers\DataProviders\SqlDataProvider\" 
          objectQualifier="" 
          databaseOwner="dbo" />
      </providers>
    </data>
  </dotnetnuke>
</configuration>

2. Manual removal of the Amazon S3 Authorization Provider

In a similar manner, the Amazon S3 authorization provider may be restored to the default Community Edition provider by changing the default authorization provider (and optionally removing the Amazon S3 provider). Before this change, the web.config will read:

<configuration>
  ...
  <dotnetnuke>
    ...
    <permissions defaultProvider="AmazonS3AuthorizationProvider">
      <providers>
        <clear />
        <add name="CorePermissionProvider" 
            type="DotNetNuke.Security.Permissions.CorePermissionProvider, 
                      DotNetNuke.Provider.CorePermissionProvider" 
            providerPath="~\Providers\PermissionProviders\CorePermissionProvider\" />
        <add name="AmazonS3AuthorizationProvider" 
           type="BrandonHaynes.Providers.AmazonS3.Permissions.AmazonS3AuthorizationProvider, 
                      BrandonHaynes.Providers.AmazonS3" 
           keyProfileProperty="S3Key" 
           secretProfileProperty="S3Secret" 
           providerPath="~\Providers\PermissionProviders\CorePermissionProvider\" />
      </providers>
    </permissions>
  </dotnetnuke>
</configuration>

In restoring default functionality, the defaultProvider will need to be changed to read "CorePermissionProvider". The "AmazonS3AuthorizationProvider" node may also be optionally removed from the available providers. After both removals, the configuration will read:

<configuration>
  ...
  <dotnetnuke>
    ...
    <permissions defaultProvider="CorePermissionProvider">
      <providers>
        <clear />
        <add name="CorePermissionProvider" 
            type="DotNetNuke.Security.Permissions.CorePermissionProvider, 
                      DotNetNuke.Provider.CorePermissionProvider" 
            providerPath="~\Providers\PermissionProviders\CorePermissionProvider\" />
      </providers>
    </permissions>
  </dotnetnuke>
</configuration>

3. Removal of Assemblies

Although it is not expected that the presence of the relevant Amazon S3 assemblies will cause any issues after manual removal, they may nonetheless be safely removed after the configuration changes have been executed. These assemblies include:
  1. BrandonHaynes.Providers.AmazonS3.dll
  2. BrandonHaynes.DataReaderAdapter.dll
  3. LitS3.dll

Last edited Jun 22, 2009 at 1:08 PM by BrandonHaynes, version 1

Comments

No comments yet.