Hi, I will try to complete that in the next days and
attach the quickstart as an answer.

Thank you for the help,
Andre

On Mon, 16 Apr 2012 22:57:11 +0200
Bas Gooren <[email protected]> wrote:

> Hi,
> 
> Can you build a small quickstart so I can have a look at things when 
> they are not working?
> So just the bare minimum where it's not working: your page that is not 
> working with a dummy model (e.g. with hardcoded results).
> 
> Bas
> 
> Op 16-4-2012 20:50, schreef Andre Schütz:
> > Hi,
> >
> > I tried with super.renderHead..., but the result is the
> > same. The PageableListView is empty after clicking on
> > one of links in the PagingNavigator.
> >
> > Additinally, I fodun out that the elements (listItem) are
> > empty when I click on one of the links in the PagingNavigator.
> > They are filled, when the PageableListView is build.
> > Any idea why how that could happen?
> >
> > Andre
> >
> > On Fri, 13 Apr 2012 10:29:41 +0200
> > Bas Gooren<[email protected]>  wrote:
> >
> >> Hi,
> >>
> >> What happens if you change that to:
> >>
> >> @Override
> >> public void renderHead(HeaderResponse response) {
> >>     super.renderHead(response);
> >>     String script = "var _gaq = _gaq || ...";
> >>     response.renderJavaScript(script, null);
> >> }
> >>
> >> ? (note that I added a call to super.renderHead());
> >>
> >> Bas
> >>
> >> Op 11-4-2012 23:08, schreef Andre Schütz:
> >>> Hi,
> >>>
> >>> I implemented your version but still I get the same error, if
> >>> I have the Google Analytics Code in the head.
> >>>
> >>> Could it be an error with the way I insert the Google
> >>> Analytics Code? I do it in the following way.
> >>>
> >>> In my WebPage class I overwrite the following method:
> >>>
> >>> @Override
> >>> public void renderHead(HeaderResponse response) {
> >>>     String script = "var _gaq = _gaq || ...";
> >>>     response.renderJavaScript(script, null);
> >>> }
> >>>
> >>> Andre
> >>>
> >>> On Wed, 11 Apr 2012 11:38:52 +0200
> >>> Bas Gooren<[email protected]>   wrote:
> >>>
> >>>> Well, for starters I wonder why you are using multiple
> >>>> LoadableDetachableModels in a Vector?
> >>>>
> >>>> What we do 99% of the time is this:
> >>>> - Wrap the entire resultset in a LDM
> >>>> - Feed that LDM to a ListView or a variant (we have a custom
> >>>> RepeatingView for paged database listings)
> >>>> - Use PropertyModels inside the repeater item(s) (or not, since the
> >>>> ListView will refresh itself anyway)
> >>>>
> >>>> I'm pretty sure you don't need setReuseItems(true) in this case; The
> >>>> only reason I've seen where it's required on a ListView is when you use
> >>>> it inside a form and need form validation to work. Since I don't see any
> >>>> form fields inside your listview I guess this is not the case.
> >>>>
> >>>> I also wonder why you had "datacontainer.setVersioned(false)"?
> >>>>
> >>>> E.g.:
> >>>>
> >>>> private void displayResults(IModel<List<DefaultSearchResult>>    
> >>>> results, int entriesPerPage) {
> >>>>        WebMarkupContainer datacontainer = new 
> >>>> WebMarkupContainer("listviewContainer");
> >>>>        datacontainer.setOutputMarkupId(true);
> >>>>        add(datacontainer);
> >>>>
> >>>>        PageableListView<DefaultSearchResult>    listview = new 
> >>>> PageableListView<DefaultSearchResult>("listview", results, 
> >>>> entriesPerPage) {
> >>>>            StringBuilder sb;
> >>>>
> >>>>            @Override
> >>>>            protected void populateItem(ListItem<DefaultSearchResult>    
> >>>> item) {
> >>>>                DefaultSearchResult s = item.getModelObject();
> >>>>
> >>>>                // Either (A)
> >>>>      item.add(new ExternalLink("title", new 
> >>>> PropertyModel(item.getModel(), "title"));
> >>>>      // Or (B)
> >>>>      item.add(new ExternalLink("title", s.getTitle());
> >>>>
> >>>>                item.add(new Label("description", new 
> >>>> PropertyModel(item.getModel(), "description")));
> >>>>                item.add(new Label("time", 
> >>>> s.getTime()).setEscapeModelStrings(false));
> >>>>            }
> >>>>        };
> >>>>
> >>>>        datacontainer.add(listview);
> >>>>             AjaxPagingNavigator apn = new 
> >>>> AjaxPagingNavigator("navigator", listview){
> >>>>                 @Override
> >>>>                 protected void onAjaxEvent(AjaxRequestTarget target) {
> >>>>                     super.onAjaxEvent(target);
> >>>>                     target.appendJavaScript("scrollTo(0,0)");
> >>>>                 }
> >>>>             };
> >>>>        datacontainer.add(apn);
> >>>> }
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> Op 11-4-2012 11:22, schreef [email protected]:
> >>>>> Hi,
> >>>>>
> >>>>> thank you for the answer.
> >>>>>
> >>>>> The "they are not completely empty" means the following. My results 
> >>>>> variable
> >>>>> is a Vector that contains LoadableDetachableModel's in the form of the
> >>>>> LoaableListingEntryModel. This model contains a class that has two 
> >>>>> variables
> >>>>> that I access with getResults() and getTime().
> >>>>> The content of the getResults() variable is a class that implements the 
> >>>>> Serializable
> >>>>> interface. The getTime() variable just has a Vector with time strings.
> >>>>>
> >>>>> Now comes the interesting part. When I click on one of the links from 
> >>>>> the
> >>>>> PagingNavigator, the content of the getTime() variable is displayed in 
> >>>>> each
> >>>>> single ListItem. The getResults() class is empty. The content of the 
> >>>>> getResults()
> >>>>> class is only shown after a page reload and once again empty after 
> >>>>> clicking
> >>>>> on one of the links from the PagingNavigator.
> >>>>> That's the reason why I said it is "not completely empty".
> >>>>>
> >>>>> I know that there are 60 results to display. The PagingNavigator shows 6
> >>>>> links for 10 entries per page. But after clicking on one of the links, 
> >>>>> the objects
> >>>>> from the getResults() class are empty.
> >>>>>
> >>>>> Any idea?
> >>>>> Andre
> >>>>>
> >>>>> ----- Original Message -----
> >>>>> From: [email protected]
> >>>>> To: [email protected]
> >>>>> Date: 11.04.2012 00:51:38
> >>>>> Subject: Re: Page Expired with Google Analytics Tracking Code
> >>>>>
> >>>>>
> >>>>>> Hi,
> >>>>>>
> >>>>>> It sounds a lot like you are not using models properly. E.g. your
> >>>>>> "results" method parameter has a length which overflows the page size
> >>>>>> (and thus the pagingnavigator renders page links), but on a second
> >>>>>> request the contents of "results" are null/empty?
> >>>>>>
> >>>>>> Try debugging PageableListView#populateItem() and check what its model
> >>>>>> points to.
> >>>>>>
> >>>>>> Can you be more specific with regard to "they are not completely 
> >>>>>> empty"?
> >>>>>> What exactly do you see, and what do you expect?
> >>>>>>
> >>>>>> Kind regards,
> >>>>>>
> >>>>>> Bas
> >>>>>>
> >>>>>> Op 10-4-2012 22:19, schreef Andre Schütz:
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> nobody an idea why the PageableListView is empty after clicking
> >>>>>>> on one of the links from the PagingNavigator?
> >>>>>>> After reloading of the page, the PageableListView is filled and
> >>>>>>> once again empty when I click on oe of the links from the
> >>>>>>> PagingNavigator.
> >>>>>>>
> >>>>>>> It seems, that the Listitem's are empty when I click on one of
> >>>>>>> the links in the PagingNavigator. But there are definitely more
> >>>>>>> items than just for one page and the PagingNavigator shows 6
> >>>>>>> possible pages.
> >>>>>>>
> >>>>>>> Thanks,
> >>>>>>> Andre
> >>>>>>>
> >>>>>>> On Mon, 9 Apr 2012 19:44:34 +0200
> >>>>>>> Andre Schütz<[email protected]>     wrote:
> >>>>>>>
> >>>>>>>> Hello,
> >>>>>>>>
> >>>>>>>> I tried your approach and could find one mistake in my code.
> >>>>>>>> After the stepwise adding of the components to my results page,
> >>>>>>>> I found an error in two of my classes that are used on that page.
> >>>>>>>> These two classes did not implement the Serializable interface.
> >>>>>>>> I added the interface to these two classes and the PageExpired
> >>>>>>>> error was gone.
> >>>>>>>>
> >>>>>>>> But there is still another error. My PageableListView does not
> >>>>>>>> display the results when I click on one of the links in the
> >>>>>>>> AjaxPagingNavigator. The first page is displayed but the other
> >>>>>>>> pages in the list are nearly empty.
> >>>>>>>> They are not completely empty. I have 3 elements in an item of
> >>>>>>>> the PageableListView populateItem Method that must be filled
> >>>>>>>> in the html page.
> >>>>>>>> The elements are title, description and time.
> >>>>>>>>
> >>>>>>>> My code looks as follows:
> >>>>>>>>
> >>>>>>>> /***************
> >>>>>>>>      * Code
> >>>>>>>>      */
> >>>>>>>>
> >>>>>>>> private void displayResults(Vector<LoadableListingEntryModel>     
> >>>>>>>> results, int entriesPerPage) {
> >>>>>>>>        WebMarkupContainer datacontainer = new 
> >>>>>>>> WebMarkupContainer("listviewContainer");
> >>>>>>>>        datacontainer.setOutputMarkupId(true);
> >>>>>>>>        add(datacontainer);
> >>>>>>>>
> >>>>>>>>        PageableListView listview = new PageableListView("listview", 
> >>>>>>>> results, entriesPerPage) {
> >>>>>>>>            StringBuilder sb;
> >>>>>>>>
> >>>>>>>>            @Override
> >>>>>>>>            protected void populateItem(ListItem item) {
> >>>>>>>>                if (item != null) {
> >>>>>>>>                    LoadableListingEntryModel model = 
> >>>>>>>> (LoadableListingEntryModel)item.getModelObject();
> >>>>>>>>                    DefaultSearchResult s = 
> >>>>>>>> model.getObject().getResult();
> >>>>>>>>                    String description = s.getDescription();
> >>>>>>>>                    String title = s.getTitle();
> >>>>>>>>
> >>>>>>>>                    item.add(new ExternalLink("title", title));
> >>>>>>>>                    item.add(new Label("description", description));
> >>>>>>>>                    item.add(new Label("time", 
> >>>>>>>> s.getTime()).setEscapeModelStrings(false));
> >>>>>>>>                }
> >>>>>>>>            }
> >>>>>>>>        };
> >>>>>>>>
> >>>>>>>>             listview.setReuseItems(true);
> >>>>>>>>        datacontainer.add(listview);
> >>>>>>>>             AjaxPagingNavigator apn = new 
> >>>>>>>> AjaxPagingNavigator("navigator", listview){
> >>>>>>>>                 @Override
> >>>>>>>>                 protected void onAjaxEvent(AjaxRequestTarget target) 
> >>>>>>>> {
> >>>>>>>>                     super.onAjaxEvent(target);
> >>>>>>>>                     target.appendJavaScript("scrollTo(0,0)");
> >>>>>>>>                 }
> >>>>>>>>             };
> >>>>>>>>        datacontainer.add(apn);
> >>>>>>>>        datacontainer.setVersioned(false);
> >>>>>>>> }
> >>>>>>>>
> >>>>>>>> /***************
> >>>>>>>>      * Code
> >>>>>>>>      */
> >>>>>>>>
> >>>>>>>> The LoadableListingEntryModel was one of the two classes
> >>>>>>>> that got the Serializable interface.
> >>>>>>>> When I click on one of the links of the AjaxPagingNavigator,
> >>>>>>>> the title and the description fields are emtpy. The time
> >>>>>>>> field is filled.
> >>>>>>>>
> >>>>>>>> I checked the items and have e.g. 60 items with title,
> >>>>>>>> description and time content. But only the time content
> >>>>>>>> is displayed, when I click on one of the
> >>>>>>>> AjaxPagingNavigator links.
> >>>>>>>>
> >>>>>>>> This error only occurs, if the Google Adsense Code is
> >>>>>>>> in the site. Could it be possible, that the Ajax call of
> >>>>>>>> the PageableListView has a problem?
> >>>>>>>>
> >>>>>>>> Thanks,
> >>>>>>>> Andre
> >>>>>>>>
> >>>>>>>> On Sat, 07 Apr 2012 21:46:53 +0200
> >>>>>>>> Bas Gooren<[email protected]>     wrote:
> >>>>>>>>
> >>>>>>>>> Yes.
> >>>>>>>>>
> >>>>>>>>> Op 7-4-2012 20:37, schreef Andre Schütz:
> >>>>>>>>>> Thank you for the answer, I will try your 4 steps.
> >>>>>>>>>>
> >>>>>>>>>> Just as information. When you say, that I can make the form
> >>>>>>>>>> stateless, do you talk about the StatelessForm class?
> >>>>>>>>>>
> >>>>>>>>>> Andre
> >>>>>>>>>>
> >>>>>>>>>> On Sat, 07 Apr 2012 16:06:15 +0200
> >>>>>>>>>> Bas Gooren<[email protected]>      wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Hi,
> >>>>>>>>>>>
> >>>>>>>>>>> I would suggest the following:
> >>>>>>>>>>> 1) add a very simple test page: TestPage extends WebPage, which 
> >>>>>>>>>>> only has
> >>>>>>>>>>> the search form on it (nothing else!)
> >>>>>>>>>>> 2) see if that works multiple times in a row
> >>>>>>>>>>> 3) if that works, add your google analytics code
> >>>>>>>>>>> 4) repeat steps 1-2
> >>>>>>>>>>>
> >>>>>>>>>>> In other words: eliminitate all other dependencies, so you can 
> >>>>>>>>>>> test (in
> >>>>>>>>>>> isolation) if the google analytics code (or the component you've 
> >>>>>>>>>>> wrapped
> >>>>>>>>>>> it in) is really the issue you are facing.
> >>>>>>>>>>>
> >>>>>>>>>>> You say that everything works ok when you add the query parameter 
> >>>>>>>>>>> for
> >>>>>>>>>>> the search. Having that parameter means you have a form with
> >>>>>>>>>>> method="get"? That, to me, would indicate you can make the form
> >>>>>>>>>>> stateless, which should prevent your search from redirecting to a
> >>>>>>>>>>> stateful url. (The /wicket/page start of the url indicates a 
> >>>>>>>>>>> stateful page).
> >>>>>>>>>>>
> >>>>>>>>>>> But please start with steps 1-4 above to make sure you are 
> >>>>>>>>>>> looking in
> >>>>>>>>>>> the right place for the cause of your PageExpiredException.
> >>>>>>>>>>>
> >>>>>>>>>>> Bas
> >>>>>>>>>>>
> >>>>>>>>>>> Op 7-4-2012 14:04, schreef Andre Schütz:
> >>>>>>>>>>>> Hi,
> >>>>>>>>>>>>
> >>>>>>>>>>>> I tested the page and could localize the following error:
> >>>>>>>>>>>>
> >>>>>>>>>>>> page expired:
> >>>>>>>>>>>>
> >>>>>>>>>>>> http://localhost:8080/wicket/page?7-1.IFormSubmitListener-resultsContent-searchPanel-searchForm
> >>>>>>>>>>>>
> >>>>>>>>>>>> This means. The error occurs, when I make another search via my
> >>>>>>>>>>>> search form which is a normal Form with a textfield and a submit
> >>>>>>>>>>>> button. But, when I change the keyword in the URL (represented as
> >>>>>>>>>>>> q=KEYWORD parameter), the search works without the error.
> >>>>>>>>>>>> It seems, that the Form throws the error when the Google 
> >>>>>>>>>>>> Analytics
> >>>>>>>>>>>> Code is in the header.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Any idea how I can solve that problem?
> >>>>>>>>>>>>
> >>>>>>>>>>>> Andre
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Fri, 06 Apr 2012 19:36:28 +0200
> >>>>>>>>>>>> Bas Gooren<[email protected]>       wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>> Hi Andre,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> No, we have been using the tracking code for years with wicket 
> >>>>>>>>>>>>> (1.3, 1.4
> >>>>>>>>>>>>> and 1.5) with 0 issues.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> I'm certain your Page expired error is caused by something else.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>        From your description it sounds like your "search 
> >>>>>>>>>>>>> results" page is
> >>>>>>>>>>>>> stateful, but no longer available when you perform a new 
> >>>>>>>>>>>>> search. That
> >>>>>>>>>>>>> can happen for a variety of reasons.
> >>>>>>>>>>>>> What usually happens to narrow the problem down is to strip the 
> >>>>>>>>>>>>> page as
> >>>>>>>>>>>>> far as possible, and see if it works. Incrementally add 
> >>>>>>>>>>>>> components until
> >>>>>>>>>>>>> it breaks again and you will have found the culprit.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Another possibility is that you have non-standard settings for 
> >>>>>>>>>>>>> wicket
> >>>>>>>>>>>>> session (page) management. But my guess is that this is not the 
> >>>>>>>>>>>>> case.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Kind regards,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Bas
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Op 6-4-2012 19:25, schreef Andre Schütz:
> >>>>>>>>>>>>>> Hello,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> did nobody have the same problem with the new Google Analytics 
> >>>>>>>>>>>>>> code?
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> I added the code directly into the .html file of my WebPage 
> >>>>>>>>>>>>>> class.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Andre
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On Thu, 5 Apr 2012 14:54:50 +0200
> >>>>>>>>>>>>>> Andre Schütz<[email protected]>        wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Hello,
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> we added the actual Google Analytics Tracking Code into our
> >>>>>>>>>>>>>>> Wicket application. The code is rendered on every single
> >>>>>>>>>>>>>>> page directly before the closing</head>        tag.
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Our problem is the following:
> >>>>>>>>>>>>>>> Page 1 with search box ->        search for something
> >>>>>>>>>>>>>>> Page 2 is a search site where the search request is done
> >>>>>>>>>>>>>>> Page 3 is the result page, where the search result is 
> >>>>>>>>>>>>>>> presented
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> We do:
> >>>>>>>>>>>>>>> Page 1 ->        search for something
> >>>>>>>>>>>>>>> Page 2 appears and shows search progress
> >>>>>>>>>>>>>>> Page 3 appears and displays the results
> >>>>>>>>>>>>>>> Page 3 has a search box and we start another search
> >>>>>>>>>>>>>>> -->        Page expired error
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Any ideas why this happens and how we can stop that?
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>>>> Andre
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> -- 
> >>>>>>>>>>>>>>> Andre Schütz<[email protected]>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> ---------------------------------------------------------------------
> >>>>>>>>>>>>>>> To unsubscribe, e-mail: [email protected]
> >>>>>>>>>>>>>>> For additional commands, e-mail: [email protected]
> >>>>>>>>> ---------------------------------------------------------------------
> >>>>>>>>> To unsubscribe, e-mail: [email protected]
> >>>>>>>>> For additional commands, e-mail: [email protected]
> >>>>>>>> -- 
> >>>>>>>> Andre Schütz<[email protected]>
> >>>>>>>>
> >>>>>>>> ---------------------------------------------------------------------
> >>>>>>>> To unsubscribe, e-mail: [email protected]
> >>>>>>>> For additional commands, e-mail: [email protected]
> >>>>>> ---------------------------------------------------------------------
> >>>>>> To unsubscribe, e-mail: [email protected]
> >>>>>> For additional commands, e-mail: [email protected]
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: [email protected]
> >>>>> For additional commands, e-mail: [email protected]
> >>>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [email protected]
> >>>> For additional commands, e-mail: [email protected]
> >


-- 
Andre Schütz <[email protected]>

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to