Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik GA: Multivariate Time Series in Qlik Predict: Get Details
cancel
Showing results for 
Search instead for 
Did you mean: 
sanekagr2
Partner - Contributor III
Partner - Contributor III

Custom Properties Not Working in Nebula Extension

Hi All,

I’m trying to migrate a visualization extension from the Capability API to Nebula, using this guide:
https://qlik.dev/extend/extend-quickstarts/migrate-vis-extension-nebula/ 

In the Capability API version, custom properties work as expected.

But in the Nebula version:

  • If I add a definition section in ext.js, the extension won’t load.
  • If I move the custom property into properties, the extension loads, but the property doesn’t show up.

I tested this a few times and got the same results. Has anyone run into this before?
Any advice would be great.

Labels (3)
5 Replies
eyalnir_qlik
Partner - Creator II
Partner - Creator II

@Damien_V @Benoit_C  We’d appreciate your assistance on this

Thanks

Eyal 

@rotmangadi Qlik Sense Enterprise on Windows 

alex_colombo
Employee
Employee

Hey @sanekagr2 , where are you testing the modifications? If you are testing locally on nebula webserver, property panel modifications will not work there, you have to deploy the extension into your Qlik Server / Qlik SaaS.

About where and how to add new properties, you should add them into ext.js. Remember, after your deploy, to replace your extension from Qlik sheet, in order to see your new modifications.

sanekagr2
Partner - Contributor III
Partner - Contributor III
Author

Hi, thanks for the reply.

I'm testing the extension on Qlik Server (November 2024), after exporting it using the Nebula CLI.
The extension works, but I can't see the custom properties.

Do you perhaps have an example of a Nebula extension with custom properties?
I tried adding them to both ext.js and object-properties, but it didn't work.

Here's an example of my ext.js:

export default function ext(galaxy) {
  return {
     definition: {
      type: "items",
      component: "accordion",
      items: {
        dimensions: {
          uses: "dimensions",
          min: 1,
          max: 6,
        },
        measures: {
          uses: "measures",
          min: 2,
          max: 2,
        },
        sorting: {
          uses: "sorting",
        },
        settings: {
          uses: "settings",
        },
		MyParameter: {
          ref: "MyParameter",
          type: "string",
          label: "My Parameter",
          defaultValue: "Value",
        },
      },
    },
    support: {
      snapshot: false,
      export: true,
      sharing: false,
      exportData: true,
      viewData: true,
    },
  };
}

 

alex_colombo
Employee
Employee

Following an example of ext.js which is working for me:

export default function ext(/* galaxy */) {
 return {
   definition: {
     type: "items",
     component: "accordion",
     items: {
       exportConfig: {
         type: "items",
         label: "Export Configuration",
         grouped: true,
         items: {
           buttonLabel: {
             ref: "buttonLabel",
             label: "Button Label",
             type: "string",
             expression: "optional",
             defaultValue: "Export Button"
           },
           fileName: {
               ref: "fileName",
               label: "Exported file name",
               type: "string",
               expression: "optional",
               defaultValue: "exportedData"
           },
           cellsLimitMenu: {
             items: {
               cellsLimit: {
                   ref: "cellsLimit",
                   label: "Export data cells limit (rows * cols). 10.000 is the maximum",
                   type: "string",
                   expression: "optional",
                   defaultValue: 10000
               },
             }
           },
           userUniqueId: {
             component: "expandable-items",
             label: "User Unique Id Configuration",
             items: {
               userUniqueIdConfiguration: {
                 type: "items",  
                 label: "User Unique Id Configuration",
                 items: {
                   userUniqueIdMenu: {
                     items: {
                       userUniqueIdExpression: {
                         ref: "userUniqueIdExp",
                         label: "User Unique Id Expression",
                         type: "string",
                         expression: "optional"
                       }
                     }
                   }
                 }
               }
             }
           }
         }
       },
       settings: {
         uses: "settings"
       }
     }
   },
   support: {
     snapshot: false,
     export: true,
     sharing: false,
     exportData: true,
     viewData: true,
   },
 };
}

sanekagr2
Partner - Contributor III
Partner - Contributor III
Author

Hi, thanks for the reply.
I tried your code, but it still didn’t work on Qlik Sense. Maybe there’s an issue with the environment.