is there a way to get more SKUID logs at runtime ?

  • 1
  • Question
  • Updated 2 years ago
  • Answered
Is it possible to see logs from SKUID in 'Browser Dev Console', to know what is going on during 'intital Page load' & 'alll Event Interactions'.

When something doesn't work, as a developer, we don't have any clue what going on under the hood with SKUID.. 

The reason i'm asking this is, Today i was playing with creating Filter for a table, like this,

I set it to 'Select Option' with manual values..

But, in the output, i got as a Button(but i expect a select option with values)



There's no log in 'Developer console' (so silent), so there's no clue about what is happening..
Photo of Nepz Solutions

Nepz Solutions

  • 442 Points 250 badge 2x thumb

Posted 2 years ago

  • 1
Photo of Stephen Sells

Stephen Sells, Official Rep

  • 16,856 Points 10k badge 2x thumb
Internally here at skuid, these are some good developing tricks we've learned along the way. I hope they help you build the filter you want and help you see what is happening to better build whatever you want.



clear() (or use Command+K or the symbol in the top left corner of the dev console

Clears your console

var $ = skuid.$;

After calling this, you have access to all jQuery functions, simply using the $.

Example: Can call $(‘#unique-id’).hide() rather than skuid.$(‘#unique-id’).hide()

skuid.page.name

Returns the Name of the Skuid page

skuid.$.blockUI()

skuid.$.blockUI({ message: '<h1><img src="http://i298.photobucket.com/albums/mm250/AnalystRealist/rotating_globe.gif"; /> Just a moment...</h1>' });

Cool experimental ‘waiting’ animation with external url

skuid.$.unblockUI()

The skuid.$.blockUI() and skuid.$.unblockUI() are equivalent to the "Show Message and Block UI" and "Unblock UI" Actions Framework actions. These functions are actually part of a jQuery plugin used by Skuid. Documentation here:http://jquery.malsup.com/block/

skuid.model.map()

skuid.model.getModelsList()

Returns a list of the current Models

skuid.model.getModel(‘ModelName’)

Same as skuid.$M(‘ModelName’)

skuid.$M(‘ModelName’)

Returns all the guts of your model. Shortcut for skuid.model.getModel(‘ModelName’)

[Returns a skuid.model.Model object]

skuid.$M(‘ModelName’).objectName

Returns the Salesforce Object name for the Model

var  myMod=skuid.$M(‘ModelName’)

Creates a variable called ‘myMod’ that can be used instead of skuid.$M(‘ModelName’)

This line will return ‘undefined’, but that’s Ok

Example:  myMod.data[0]

skuid.$M(‘ModelName’).length

Returns the number of rows in the model

skuid.$M(‘ModelName’).data



Returns all the record rows inside your model.

skuid.$M(‘ModelName’).data[0] or skuid.$M(‘ModelName’).getRows()[0] or  .getFirstRow()

Returns the first record inside your model

skuid.$M(‘ModelName’).data[0].fieldName

Returns the value of whatever field name you indicate for first record inside your model

skuid.$M(‘ModelName’).soql

Returns the whole Query along with the conditions (Where)

skuid.$M(‘ModelName’).getField(‘FieldName’)

Returns the ‘properties’ of the field for that model

skuid.$M(‘ModelName’).dataMap

Returns the Id, Id15 and other useful information about the data fields in a model

skuid.$M(‘ModelName’).fieldsMap

Returns the properties of all the fields in a model

skuid.$M(‘ModelName’).conditions



Check conditions > inactive → if it means false, then this condition is being applied, if true, then this condition is default filterable off

skuid.$M(‘ModelName’).doQuery

This only returns ‘true’ or ‘false’. It indicates if Model query should be run on page load

skuid.$M(‘ModelName’).createRow

Haven’t played with this one yet, but looks very useful

skuid.$C(‘unique-id’)

Get all kinds of helpful information about that particular component (e.g. table, field editor).

[Returns a skuid.component.Component object]

skuid.$C(‘unique-id').getPageParameters()

skuid.dataSource.map() Gives you a lot of good information about data sources available in the current context. For example from run time it will give you a list of data sources available to the page, from builder it will give you a list of all data sources in the org.

Skuid.time is helpful for doing lots of things related to date or date time. You can use salesforce formatted dateTimes or the JS new Date() command. However you may want to define variables to make your life easier.

Dev console not working?
Try toggling off Salesforce Headers for your Skuid page in the Layout Tab of the page properties panel in the Page Composer. Alternatively, try Firefox...
Photo of Nepz Solutions

Nepz Solutions

  • 442 Points 250 badge 2x thumb
Thanks Stephen. Interestingly, i use all these tricks all the time. This will be useful to browse skuid objects & DOM after initial heavy lifting(i mean skuid compiling pageXML to create a shadow DOM).

But, my concern is 'how to debug' if there's any problem during that 'compilation phase' & 'event interactions' like i described in my original post. 
Photo of Barry Schnell

Barry Schnell, Champion

  • 18,076 Points 10k badge 2x thumb
Hi Nepz -

Unfortunately, Skuid doesn't have a log level or verbose mode during runtime either in the builder itself or in pages.  I've asked for additional logging in the past but there hasn't been any progress on this front.

During "normal" execution, avoiding logging makes sense due to performance reasons but it would be ideal to have a way to increase logging levels to get some type of output to aid in troubleshooting/debugging.  

Additionally, the documentation is very limited so using Skuid properly, especially when it comes to writing javascript for it can be a challenge.  Improving the docs is something Skuid has said they are focused and committed to in the near term.

For now, your only option to troubleshoot/isolate is to spin up the developer tools, open up the debug console and start putting breakpoints in.  That, or posting to the community and hoping someone can help :)