Page include records will not load.

Thanks Rob - that all makes sense and I’ll try it soon.

However, after implementing this I wasn’t aware of an issue that had come up that is somewhat unrelated to this - we just have too much going on in our Skuid page now, and some Opportunities won’t load.

Not sure if this deserves another thread, but I think it’s related enough that hopefully it can be answered here.

What I want to do is make our “Documents” tab a page include (more specifically all the sub-tabs will be another Skuid page).

I’ve started by doing regular attachments in a new page. I have them to work on their own when previewing a specific opportunity, however when using them as a Page Include it either shows no attachments or all attachments in SFDC.

What I have in my new page (called Opp_Document_Tab) is:

  • Tab for Regular Attachments (eventually will do Feed, Google Docs, Notes)
  • Models for Opportunity and Attachment
  • A table in the tab using the Attachment model
  • Condition on the Attachment model that the ParentId = (param) id; this is the same as in my original table for my main Opportunity page. It worked there and it works in this page on previews
  • A Page Include of Opp_Document_Tab on my “Attachments” tab in my main Opportunity Skuid page
  • I’ve messed around with the Query String but that doesn’t seem to affect anything - it’s either always nothing or all attachments (it changes if I remove the condition mentioned above from my new page)
I imagine this has to do with the Query String, but I’m not exactly what to do other than &id={{Param.Id}}

Any ideas (I feel like it’s a really simple fix that I’m missing)? Apologies for completely changing direction on this issue!

Note: This conversation was created from a reply on: Displaying Feed Attachments in Attachments Model.

Here are a few ideas. 

1. Make sure the model ID’s in your page include are different than what is in your parent page.   (This is the first thing to check with any page include problem). 
2. I think you need to rename the param id in your page include query string. I’m suspicious that the condition inside your include is confused when it is trying to look for the param ID when there are two params named “id”.    Make your query string somthing like  includeId={{Param.Id}}  and then change the condition on the attachments model to look for the “includeId” parameter.

Hopefully this will get you rocking.  Everything else you laid out looks perfect. 

So I actually figured it out, and it now all seems relatively silly to me considering all of the other things I tried. I was using this tutorial and made one minor adjustment:

As I mentioned I was using ?id=={{Param.Id}}, however all I did was change Param.Id to, which worked!

Would this mean that the above link is incorrect in regards to the capitalization of “id”? I’m a bit unclear on the usage of Id vs. id. I changed the above to ?Id=={{ and my condition in the page used on the Page Include from id to Id, and neither of those changes seemed to affect anything.

When does “id” need to be “Id” or “id”, and why do they sometimes not (appear) to matter? 

I’ve always been curious about this and since such a subtle change can have a big impact I feel like this would be good for the community to have a strong understanding of.

Case sensitivity… It is usually one of the items that trips me up…

  • For sure you need to make sure your Field Names are using the correct case in your merge statements.
  • In addition, if you pass a url parameter “foo” into a page and then look for that parameter with the merge syntax {{$Param.Foo}} - nothing will be returned. The parameter is case sensitive on that side.

What is a little confusing is that Skuid forces parameters to be lower case. If you create a model condition looking for Parameter FOO and then preview the page. You will see that in the preview it will be looking for Parameter “foo” and in the resulting page the URL parameter will be lowercase too.

So you may have set up a query string on one side that you expect to pass a parameter like this: FOO={{Id}}
But when you create a condition in the page include to look for parameter - FOO it will fail, because the parameter passed was “foo”

The best rule I can think of is to just be careful of your capitalization…