The new context feature of the Summer '14 release appears to be causing bugs. If a model in a popup shares the same object as another model on the page, it seems to assume some sort of (non-existent) context and nothing appears.
I think I understand what is happening here but can you elaborate a little bit more? Is the display of data in the popup (tied to a row action on a table) coming up blank? Or is the display tied to the other model (somewhere else on the page) changing when you select a row action?
Can you post a screen shot of the before and after situation?
Thanks.
The display data of the popup is coming up blank, whether or not the popup is tied to a row action on the table, and it is always turning up blank regardless of any actions. What seems to cause it is if the model in the popup is of the same object as another model on the page.
I think you are experiencing a remaining problem with context conditions. Contexts are used to filter the data after the model is retrived, and so the model record limit determines how many records are available to filter by context. It is very hit or miss whether you will actually still get data. A tell tale sign of this is if the “load more” button appears when no data is present. If your data is minimal you can remove the Max # of records property on the model properities. This will return all the data in your org for this object, and the context will work correctly.
We are working on strategies to requery the server after the context condition is set. In the mean time we reccomend using a page include to bring in the related data in the popup.
I really don’t think the issue with the second model on the object is what is causing the problem. But if it persists, give us login rights and send us your org ID and the troubleshooting page by email (support@skuidify.com) and we’ll take a look.
Thank you for swift replies.
The issue here is that I did not put any context, yet it appears to have one anyway. I noticed in the Javascript of the popup model, model>registeredEditors>Lists>0>Conditions, that there is a single condition:
field: “Id”
operator: “=”
type: “fieldvalue”
value: “a01i000000LUg05AAD” (the id of the other model that points to the same object)
this links the popup model to the other model, although I had never put any such context (or condition).
It appears that this error is dependent on the model of the page title that the button is on.
I noticed with row actions as well, that if the table model is of a different model but of the same object as the field editor model in the popup, even if no context was entered, the field editor in the popup will be blank.
The Value you discovered in your Javascript is the record ID of particular row you have in context. Its only coincidentally related to the other model (in that the same record might also be the first row of this other model) This condition is applied automatically to components that appear in a popup. When it is on a page title it is going to be the ID of the first row of the model. When it is in a table it is going to be the particular row selected within the table. There really is no such thing as a “context free” popup.
Could you assign us login rights so we can review what you are reporting?
Menachem, you’re not imagining things, this is a bug.
Somewhere in the middle of the Summer 14 release cycle as we were working on context, we did some things to provide “default context” for Field Editors and Templates (and by extension, Page Titles) in lieu of having the Context Conditions editor, but we ended up adding in the Context Conditions editor. Some of this logic is too aggressive, and we will be removing it in the next patch release.
Menachem, this should be fixed as of version 5.12 of skuid, available from the Skuid Releases page:
www.skuidify.com/SkuidReleases
Hey Rob … I’d love to stay abreast of progress on this one, as we’ve hit a similar scenario. We have a Processes model and each Process has related Tasks. We have a Processes table with a row action popup. In that Process popup we have a related list (table) of that Process’s Tasks. There may be thousands of Processes in the org, so we limit the Processes model to return just 20. But of course, in the popup, we want to see just the related Tasks for that Process. If we set the Tasks model to return a huge number, then we might get lucky and get the right Tasks returned without having to click Load More on an empty table, but that screws page load performance. So I’d love to see the ability to set “requery dependent models based on the popup context when the popup displays” to true.
Glenn,
There are several good approaches for handling this available right now.
As of the Summer 14 release, you can use the Action Framework to set a Condition on your Tasks model to just retrieve Tasks for the context Process. Then you Query the Tasks Model. Then you show the Popup containing the Tasks table, and since you’ve emptied out the Tasks model and replaced it with just Tasks related to the context Process, it should be showing you the records you want.
Another approach that’s been available since the Spring 14 release is to put a Page Include in your Popup.
Hey Zach … we tried option 1 here and it works beautifully. Great idea.
I recently noticed that if a render condition in a popup is using the same model (or even object) as the page title of the popup button, it will not render.
Separate question from main topic. Merits escalation as independent topic. Please reference the new conversation here: Render Conditions in Popup - Is there a Bug?
Reply
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.