SPFx Extensions not showing at customer tenant

MVP

Hi all,

We are having some problems with 2 SPFx Extensions we have deployed to a customer tenant. Both of them are properly deployed to the App Catalog (Site Collection Catalog), but they are not showing and when we try to debug them, the Extensions code is not being reached. We have also created a dummy extension and it’s not shown at customer tenant once we deploy there.

Those 2 extensions are properly deployed in two other different tenants so we don’t have a clue of what the problem could be in the customer tenant.

I would appreciate any tip aimed to know what could be happening here.

cc @Vesa Juvonen

11 Replies

Would double check things

 

  • Check that extension is deployed successfully in app catalog
  • Check that the UserAction is created for the site / site collection level for rendering the extension
  • If you are using Office 365 Public CDN - disable that - as it has been having recent issues - if you are using 1.4.1 this will automatically redirect download of the files from the app catalog URLs without any need to update sppkg file

Share the exception details from the browser console (F12) after above steps.

Hi Vesa,

Some more details about those extensions:

  1. Extensions are successfully deployed to the App Catalog (Site Collection App Catalog)
  2. User Actions Features appear in the Site Scope and also in the Site Collection Scope. We have also verified that the Extensions are there, but as I said, they are not being shown. This has also happened with the default extension you get with Yeoman.
  3. We don't see any exception when the document library where the extensions are located is loaded and we monitor the console output in the browser developer tools.
  4. When you say Disable Public CDN: Do you mean disabling it using PowerShell ? In that case, we cannot disable the public CDN being used since it's being used in other SPFx solutions (WebParts that are working as expected).
  5. The package-solution.json file we have for our extension is the following one:
{
  "$schema": "https://dev.office.com/json-schemas/spfx-build/package-solution.schema.json",
  "solution": {
    "name": "process-extensions",
    "id": "4951855a-f6ae-443f-9936-41a5cbb2cd2e",
    "version": "1.0.0.1",
    "includeClientSideAssets": true,
    "features": [
      {
        "title": "Application Extension - Deployment of custom action.",
        "description": "Deploys a custom action with ClientSideComponentId association",
        "id": "37ea889e-3bcc-464b-a297-8f20f6410c3e",
        "version": "1.0.0.1",
        "assets": {
          "elementManifests": [
            "elements.xml"
          ]
        }
      }
    ]
  },
  "paths": {
    "zippedPackage": "solution/process-extensions.sppkg"
  }
}

Also for your reference, the elements.xml file is the following one:

 

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
        Title="AddFlat"
        RegistrationId="101"
        RegistrationType="List"
        Location="ClientSideExtension.ListViewCommandSet.CommandBar"
        ClientSideComponentId="8bfb46e3-dff8-4b50-a107-9ccb9a4c964b"
        ClientSideComponentProperties="{&quot;sampleTextOne&quot;:&quot;One item is selected in the list.&quot;, &quot;sampleTextTwo&quot;:&quot;This command is always visible.&quot;}">
   </CustomAction>
</Elements>

What we are going to do is create another public CDN for the extensions so we can apply the troubleshooting steps.

 

If you see something wrong in the points above, please let me know.

 

Thanks!

If web parts are working properly in the same tenant using Office 365 Public CDN, then the issue is not on the CDN side... If you also do NOT see any exceptions in the console of the browser, then that means that the extension is not even loaded, which seems to reference then to a misconfiguration of the registration.

 

Based on your message, you have double checked the user custom action on the site level but would double check that as well. You should not have this registration in the site collection level, if you register the entry to the site using elements.xml file as that's executed in the site scope... which seem to indicate that something is wrong in your site collection. 

Hi Vesa,
I would update you with some screenshots showing:
- Extensions are properly deployed in the site (I think I explained wrong what I meant in my previous post in regards of the custom action).
- CustomAction is properly enabled in the site.
- Extensions are loaded, but not shown in the document library where they should appear.
- F12 console does not show relevant errors that could be causing Extensions to fail.
As I said in the first post those extensions are working fine in two other tenants, but not in the customer one

Thanks - Problem here is that even though you'd share me the pics, there's nothing we could start even investigating as if there are no exceptions, there's nothing we can analyze on the farm level, which is far from optimal as we are absolutely curious on understanding what goes wrong and why.

 

If possible - would test the tenant also with other extension types to see if they work and if this only for list view command sets, hoping that we would get an exception - as with exceptions - there's correlation ID and with that, we can investigate what's causing issues. 

The screenshots:

  • Extensions deployed in the Site Contents Page (Classic experience):SPFx Extensions - Site Contents Page Classic Experience.jpg

     

 

 

  • Custom Actions deployed at the site level:SPFx Extensions - Custom Actions Features Enabled.png

     

 

 

  • F12 Console Output:SPFx Extensions - F12 Conole OutPut.png

     

 

 

Hi Vesa,
Even with a Dummy Extension, we are seeing the same problem. We'll share more updated information if we find something relevant
Thanks!

Why is there two features in the package? - Have you checked the configuration of the action in the API level?


We have two different extensions: one for document libraries and one for lists. Could you please provide what you mean by checking the configuration of the action in the API level?

Suggesting on checking the UserCustomAction information from Web object, for example, using PnP PowerShell to 100% confirm what you have as a definition created in the object layer after the feature has been activated. This will rule out any issues on the feature xml association.

@Juan Carlos González Martín 

Hello! 

Please Follow below two steps to do that:

Step 1: make sure skipFeatureDeployment is set to false in config/package-solution.json file
Step 2 : remove clientsideinstance.xml from elementMenifest in features section in package-solution because we do not need do deploy automatically.
{
  "$schema": "https://developer.microsoft.com/json-schemas/spfx-build/package-solution.schema.json",
  "solution": {
    "name": "helloword-app-customizer-client-side-solution",
    "id": "c60ebbe7-9313-4200-b9fb-a1198e6e0d20",
    "version": "1.0.0.0",
    "includeClientSideAssets": true,
    "skipFeatureDeployment": true,
    "isDomainIsolated": false,
    "features": [
      {
        "title": "Application Extension - Deployment of custom action.",
        "description": "Deploys a custom action with ClientSideComponentId association",
        "id": "ca10eae0-ed55-400b-8ead-9d5940ed91a7",
        "version": "1.0.0.0",
        "assets": {
          "elementManifests": [

            "element.xml"
          ]
        }
      }
    ]
  },
  "paths": {
    "zippedPackage": "solution/helloword-app-customizer.sppkg"
  }
}
You can edit sharepoint/assets/element.xml and pass your properties.
Bundle, Package and deploy solution in tenant.
 
Now go to the site where to you want to add extension.
Click new >> App and add your newly created app. Once app is added your extension will be available in the site.