*sigh* every time I think I understand FC, I don't. I should learn.

I was so focused on the dmHTML cacheByVars that I forgot that usually the
page gets loaded through the dmNavigation node, and since my rules use a
default of the furl for the actionURL tag, it was calling
"<navigationNodeFURL>/?&page=2" which, of course, was checking against cache
of the dmNavigation, not the dmHTML. Having realized this, and adding
@@cacheByVars: url.page to displayPageStandard of dmNavigation (extended in
my own directory) caused the problems to go away completely.

Tomek

On Mon, Jun 1, 2009 at 7:47 AM, Tomek Kott <[email protected]> wrote:

> url.page is in my @@cacheByVars list, that is why I'm confused. I am using
> /types/displayPageStandard, which has <!--- @@cacheByVars:
> url.page,url.month,url.year ---> (I've even set displayBody on dmHTML with
> the same settings)
>
> I check the application.stCoapi['dmHTML'].stWebskins['displayPageStandard']
> structure and it has, under cacheByVars, the value url.page. So by that
> understanding, every single HTML page should be cached using url.page as a
> hash.
>
> Everything is the same for the rule ruleEventsCalendar and the webskin
> displayTeaserCalendar (<!--- @@cacheByVars: url.page,url.month,url.year
> --->). Neither setup works, whether I go directly to the url for the dmhtml
> (such as /dmhtml/myhtmlpage) or to the navigation that has the proper dmhtml
> as the first child.
>
> Neither setup actually caches the page separately. It does so once, on the
> first load, and I can see in webskinCacheID page:2 as expected, but then
> every subsequent call goes to that webskin no matter the value of page. So
> something along the line is going wrong, and I have no idea where that might
> be.
>
> Tomek
>
>
> On Mon, Jun 1, 2009 at 4:24 AM, Mat Bryant <[email protected]> wrote:
>
>> It sounds like you need to add url.page to the @@cacheByVar list
>>
>> Basically, any variable referenced in the webskin which will change the
>> html rendered by the webskin needs to be added to the list. You state that
>> clicking page=1 is no different to page=2. That is correct, because as far
>> as the caching is concerned, url.page has no impact on the webskin.
>>
>> You need to tell the webskin that url.page has an effect on the webskin.
>>
>> --
>> -- Matthew Bryant
>> Product Development Manager
>> Daemon Internet Consultants
>> Adobe Solutions Partner
>> http://www.daemon.com.au/
>> p. 02 8302 4600
>> f. 02 9380 4204
>>
>>
>>
>> On Mon, Jun 1, 2009 at 1:19 PM, Tomek Kott <[email protected]> wrote:
>>
>>> to expand, basically, the first call to the page creates the base view.
>>> If i click on the page=2 button, things load up correctly. Clicking on
>>> page=1 does nothing, simply loads up cached page=2. This is consistent after
>>> resetting application.
>>>
>>> Should I just try cacheByURL instead?
>>>
>>> Tomek
>>>
>>>
>>> On Sun, May 31, 2009 at 11:03 PM, Tomek Kott <[email protected]>wrote:
>>>
>>>> hmm, I should rephrase that. It appears that those variables two are now
>>>> getting picked up in the metadata, as they should. Additionally, in the
>>>> application.objectbroker['ruleEventsCalendar'].stWebskins['displayTeaserCalendar']
>>>> , I can see two objects, one with nothing in the webskincacheid, and the
>>>> other with:
>>>> stParam[AEVENTS]:{complex},stParam[BALLOWTRACE]:true,stParam[QEVENTS]:{complex},url.month:06,url.year:2009,
>>>>
>>>> which seems to imply that its picking up the caching variables (along
>>>> with some I did not set), but it is not caching it correctly. This is after
>>>> resetting the application.
>>>>
>>>> I know that the url parameters are getting picked up by the webskin (i
>>>> have <cfparam name="url.month"> with a default value within the webskin of
>>>> the 'displayTeaserCalendar', since it's getting dumped with a var="#url#"
>>>> call. However, if caching happens before the webskin is called, then it
>>>> wouldn't catch the url values.
>>>>
>>>> In either case, I've noticed that the rules I have which output a page
>>>> reference (<ft:pagination>) are also not getting cached correctly, even
>>>> though these are explicitly set to cacheByVars using fapi.setCacheByVar 
>>>> etc.
>>>>
>>>>
>>>> I guess all of that is to say I'm now even more confused as to what's
>>>> going wrong than before.
>>>>
>>>> Any further ideas would be great on how to trace this down.
>>>>
>>>> Tomek
>>>>
>>>>
>>>> On Sun, May 31, 2009 at 8:55 AM, Tomek Kott <[email protected]>wrote:
>>>>
>>>>> the problem is tha it should be cacheByVars, plural vars!
>>>>>
>>>>> I'll update the wiki when i get the chance.
>>>>>
>>>>>
>>>>> On Thu, May 28, 2009 at 7:18 PM, Blair McKenzie <[email protected]>wrote:
>>>>>
>>>>>> As far as I know that should work. I'll pass the question along to the
>>>>>> guy who wrote it.
>>>>>>
>>>>>>
>>>>>> On Fri, May 29, 2009 at 2:13 AM, Tomek Kott <[email protected]>wrote:
>>>>>>
>>>>>>> So I tried putting
>>>>>>>
>>>>>>> <!--- @@cacheStatus: 1 --->
>>>>>>> <!--- @@cacheTimeout: 1400 --->
>>>>>>> <!--- @@cacheByVar: url.year,url.month --->
>>>>>>>
>>>>>>> and updating the app, but the caching still doesn't work. Do I need
>>>>>>>
>>>>>>> <!--- @@cacheStatus: 1 --->
>>>>>>> <!--- @@cacheTimeout: 1400 --->
>>>>>>> <!--- @@cacheByVar: "url.year","url.month" --->
>>>>>>>
>>>>>>> or something? Or is there another way to add to the cacheByVar scope?
>>>>>>>
>>>>>>> Thanks,
>>>>>>>
>>>>>>> Tomek
>>>>>>>
>>>>>>> On Wed, May 27, 2009 at 7:42 PM, Blair McKenzie <[email protected]>wrote:
>>>>>>>
>>>>>>>> You would need to specify url.year, etc.
>>>>>>>>
>>>>>>>> The caching stuff can only use variables in a scope (e.g.
>>>>>>>> application, form). These variables are used to check the cache before 
>>>>>>>> the
>>>>>>>> webskin. There is no way around that, as the goal is to avoid running 
>>>>>>>> the
>>>>>>>> webskin unnecessarily.
>>>>>>>>
>>>>>>>> Blair
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, May 27, 2009 at 12:43 PM, Tomek Kott 
>>>>>>>> <[email protected]>wrote:
>>>>>>>>
>>>>>>>>> Hi All,
>>>>>>>>>
>>>>>>>>> I'm a little confused by the cacheByVar implementation. I am trying
>>>>>>>>> to use it on the displayEventsCalendar rule page, and the two 
>>>>>>>>> variables that
>>>>>>>>> I want to hash on are the 'month' and 'year' url variables. so I just 
>>>>>>>>> did
>>>>>>>>> the naive thing
>>>>>>>>>
>>>>>>>>> <!--- @@cacheByVar: year,month --->
>>>>>>>>>
>>>>>>>>> That didn't seem to work by putting in the displayEventsCalendar.
>>>>>>>>> At which level of the caching mechanism do I need to put that code 
>>>>>>>>> in? Does
>>>>>>>>> it go in that file (which is a rule display page) or does it go in the
>>>>>>>>> dmHTML page that holds it, or the container, or do I need to do 
>>>>>>>>> url.year and
>>>>>>>>> url.month as the variables, for example?
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>>
>>>>>>>>> Tomek
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>
>> >>
>>
>

--~--~---------~--~----~------------~-------~--~----~
You received this message cos you are subscribed to "farcry-dev" Google group.
To post, email: [email protected]
To unsubscribe, email: [email protected]
For more options: http://groups.google.com/group/farcry-dev
--------------------------------
Follow us on Twitter: http://twitter.com/farcry
-~----------~----~----~----~------~----~------~--~---

Reply via email to