You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by nhhockeyplayer nashua <nh...@hotmail.com> on 2015/01/08 18:38:47 UTC

this code doesnt scale... advise thanks

Hi Folks,

This blip of code doesnt scale. I was hoping for someone to offer a solution. 

Its a gallery widget in T5.4...no js

It gathers all relevent images from hibernate/mysql and renders them < 50 images and these can get bulky large ones I sized down with width height.

My code wont scale though... I receive the FORM SIZE Exceeded error which presses me to set
set JAVA_OPTS=-Dorg.mortbay.jetty.Request.maxFormContentSize=-1

within jetty or tomcat

and I eventually hit the same high water mark resulting in crashed widget controls that fail to operate.

Here is the core image handling code for the widget code.

Can anyone see something wrong ? Images are displayed everywhere. I dont see why this shouldnt work its within a form. Is my only solution to display links instead of images  because that doesnt jive with a gallery widget.

<t:pagelink t:page="Edit" context="editPageContext">     
    <t:Any t:id="imageComponentId" id="imageComponentId">

        <img
            id="ImageWidget" src="${photoLink}" alt="${currentObject}" width="200" height="160" 
            title="${currentObject.photo.fileName}"
            model="currentObject"
            image="${photoLink}"
            style="-moz-border-radius: 5px;border-radius: 5px;-moz-box-shadow: 5px 5px 5px black;-webkit-box-shadow: 5px 5px 5px black;box-shadow: 5px 5px 5px black;"
        />
        
    </t:Any>
</t:pagelink>

Thanks for any tips 		 	   		  

Re: this code doesnt scale... advise thanks

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Thu, 08 Jan 2015 16:54:30 -0200, nhhockeyplayer nashua  
<nh...@hotmail.com> wrote:

> You commented on this in the past for me but I havent gotten it yet as  
> to whether t-5 is capable of rendering images or not.

Yes it is. :)

>                    <t:Loop id="foreachitem" source="currentObject">

If this Loop is inside a Form and don't have any fields inside it, add  
formState="NONE". As Howard mentioned, Loop, when inside a From, by  
default stores the iterated collection in order to be able to correctly  
set the field values when the form is submitted.

<t:Loop id="foreachitem" source="currentObject" formState="NONE">

By the way:

<t:OutputRaw value="${newTableRow}"/>

Never, never, never use ${} expansions when passing parameters to Tapestry  
components. In 100% of the case, it's either wrong or useless.  
<t:OutputRaw value="newTableRow"/> is right recommended way.

I'd also suggest you to not use tables for layout, just for tabular data,  
and avoiding inline CSS, but that's off-topic. :D

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: this code doesnt scale... advise thanks

Posted by Thiago H de Paula Figueiredo <th...@gmail.com>.
On Thu, 08 Jan 2015 17:15:56 -0200, nhhockeyplayer nashua  
<nh...@hotmail.com> wrote:

> Render queue error in SetupRender[psi/Home:gallery.itemsperpageselect]:  
> Component psi/Home:gallery.itemsperpageselect must be enclosed by a Form  
> component.

All form field components must be surrounded by a Form, so this change  
you've done resulted in an expected error. Have you seen my  
formState="none" suggestion to your Loop?

-- 
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


RE: this code doesnt scale... advise thanks

Posted by nhhockeyplayer nashua <nh...@hotmail.com>.
Upon trying to change the Form 
            <t:form t:id="galleryForm" t:context="collectionType">
                <t:gallery collectionType="collectionType"
                    itemsPerPage="itemsPerPage"
                    tableColumns="tableColumns"
                    cursor="cursor"/>
              </t:form>
to 

Any

            <t:Any t:id="galleryForm" t:context="collectionType">
                <t:gallery collectionType="collectionType"
                    itemsPerPage="itemsPerPage"
                    tableColumns="tableColumns"
                    cursor="cursor"/>
              </t:Any>

 I receive this

Render queue error in SetupRender[psi/Home:gallery.itemsperpageselect]: Component psi/Home:gallery.itemsperpageselect must be enclosed by a Form component.                 
activeComponentspsi/Home (class org.tynamo.psi.psi.pages.Home)psi/Home:layout (class org.tynamo.psi.psi.components.Layout)
 		 	   		  

RE: this code doesnt scale... advise thanks

Posted by nhhockeyplayer nashua <nh...@hotmail.com>.
it actually blows apart when a user attempts to change ITEMS_PER_PAGE select control

It pages nicely but any attempts to alter the anatomy of the structure after its rendered result in untraceable crash

if I remove the -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 
or set it to some high value

then I actually get the actual crash stating that the form size has been violated

Maybe there is a way around this by omitting use of the form cause I really dont edit the thing or use it for anything but view... and I can snake by using just event handlers instead of form? Not sure if that will fly.
 		 	   		  

RE: this code doesnt scale... advise thanks

Posted by nhhockeyplayer nashua <nh...@hotmail.com>.
feel free to take it for a ride

http://psinh.ddns.net:9011/psi/home

its running on a pavilion intel quad core with 8gigs dram

i hope to increase performance somehow.
 		 	   		  

RE: this code doesnt scale... advise thanks

Posted by nhhockeyplayer nashua <nh...@hotmail.com>.
Thank you Howard I really appreciate the help.

You commented on this in the past for me but I havent gotten it yet as to whether t-5 is capable of rendering images or not.

I can render an ID or a link easily.

If I resort to rendering an ID... how does the image make it into the form ?

It hasnt hit me yet whether it is feasible or not with the framework and whats available to render the images without having to suck them all into the form in order to render each one.

Below is a cut of my t-5.4 gallery if you can comment further on what to do.

I have integrated angular and other node.js modules into you rframework using the javascript stack interface and its showing some nice markup with regard to handling JavaScript.

Thanks for any additional gracious info I really appreciate the privilige.
KEN

------------- cut here ----------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<div xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" xmlns:p="tapestry:parameter">

    <t:block t:id="autoPagingContent" id="autoPagingContent">
        <table width="100%" border="3" >
            <tr>
                <td width="10%" align="center" nowrap="NOWRAP">
                    <t:Label for="itemsPerPageSelect">Items Per Page</t:Label>
                    <select t:type="Select" t:id="itemsPerPageSelect" t:clientId="itemsPerPageSelect" id="itemsPerPageSelect"
                        t:model="literal:5,10,15,25,50,100,250,500,1000,5000,10000"
                        t:value="itemsPerPage"
                        onchange="galleryForm.submit()"
                        />
                </td>
                <td width="10%" align="center" nowrap="NOWRAP">
                    <t:Label for="tableColumnsSelect">Table Columns</t:Label>
                    <select t:type="Select" t:id="tableColumnsSelect" t:clientId="tableColumnsSelect" id="tableColumnsSelect"
                        t:model="literal:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,25,50,100"
                        t:value="tableColumns"
                        onchange="galleryForm.submit()"
                        />
                </td>            
                <td colspan="0" align="right">
                    <div style="font-weight:bold; text-align: right; font-size: 26px">
                        <span class="label">ITEM </span>
                        <t:outputRaw value="${fromValue}"/>
                        <span class="label"> to </span>
                        <t:outputRaw value="${toValue}"/>
                        <span class="label"> of </span>
                        <span class="label">${count}</span>
                    </div>
                </td>
            </tr>
            <tr>
                <td nowrap="NOWRAP" colspan="3">
                    <div style="font-size:10pt; text-align: center;">
                        <a> <t:eventLink t:id="FirstPage"> <img src="${startPageImage}" height="26" width="42"/>   </t:eventLink>  </a>
                        <a> <t:eventLink t:id="PrevPage">  <img src="${prevPageImage}"  height="26" width="42" alt="page to previous"/>   </t:eventLink> </a>
                        
                        <t:if test="pages">
                            <t:Loop id="foreachpage" source="pages" value="currentPage" index="pageIndex">
                                <a>
                                    <!-- <t:eventLink  t:id="IndividualPage" t:parameters="prop:{'pageNum':'indexValue'}" > -->
                                    <t:eventLink  t:id="IndividualPage" t:context="${pageValue}" >
                                    <!-- <t:eventLink  t:id="IndividualPage" parameters="pageValue" > -->

                                        <t:outputRaw value="       ${individualPageIndex}       "  />             

                                    </t:eventLink>
                                </a>
                            </t:Loop>
                        </t:if>
                                            
                        <a> <t:eventLink t:id="NextPage">     <img src="${nextPageImage}" height="26" width="42"/> </t:eventLink>  </a>
                        <a> <t:eventLink t:id="LastPage">     <img src="${endPageImage}" height="26" width="42"/>  </t:eventLink>  </a>
                    </div>
                </td>            
            </tr>
        </table>
    </t:block>

    <t:block t:id="collectionContent" id="collectionContent">
        
        <t:If test="collection">    <!-- begin test collection -->
        <table width="100%" cellspacing="0" border="0" >
                
            <t:OutputRaw value="${startRow}"/>
            
            <t:Loop id="foreachrow" source="collection" value="currentObject" index="index"> <!-- begin loop collection -->
                 
                <t:If test="okToRenderItem">
                    
                    <t:Loop id="foreachitem" source="currentObject"> <!-- begin loop object -->
                        <td  style="border:25px; padding: 10px;">
                            <a href="#" model="currentObject">
                                
<t:pagelink t:page="Edit" context="editPageContext">     
    <t:Any t:id="imageComponentId" id="imageComponentId">
                                        
<!-- 
http://www.cssnewbie.com/sizing-images-responsively
set MAVEN_OPTS=-Dorg.mortbay.jetty.Request.maxFormContentSize=-1 -Xms512m -Xmx1024m -Xss256k -->                                        
        
        <img
            id="ImageWidget" src="${photoLink}" alt="${currentObject}" width="200" height="160" 
            title="${currentObject.photo.fileName}"
            model="currentObject"
            image="${photoLink}"
            style="-moz-border-radius: 5px;border-radius: 5px;-moz-box-shadow: 5px 5px 5px black;-webkit-box-shadow: 5px 5px 5px black;box-shadow: 5px 5px 5px black;"
        />
        
    </t:Any>
</t:pagelink>
                            </a>
                            
                        </td> 
                        
                    </t:Loop>    <!-- end for loop object-->
                    
                <t:If test="atNewRow" negate="false">                    
                    <t:OutputRaw value="${newTableRow}"/> 
                </t:If>
                
                </t:If>
                    
            </t:Loop>    <!-- end for loop collection-->
                    
            <t:If test="atNewRow" negate="true">                    
                <t:OutputRaw value="${endTableRow}"/>
            </t:If>                        
            
        </table>        
        
        <p:else>
            <B><CENTER><H3>No objects to render</H3></CENTER></B>
        </p:else>        
        </t:If>            <!-- end test collection -->
        
    </t:block>    

    <!-- OK here is the definition. It is all referral declaration within <td> -->
    <table width="100%" border="3" align="center">
        <tr>
            <td>
                <t:Any id="headerSelect">
                    <t:delegate to="autoPagingContent"/>
                </t:Any>
                <t:Any id="galleryContent">
                    <t:delegate to="collectionContent"/>
                </t:Any>                
                <t:Any id="headerSelect">
                    <t:delegate to="autoPagingContent"/>
                </t:Any>                
            </td>
        </tr>
    </table>

</div>
 		 	   		  

RE: this code doesnt scale... advise thanks

Posted by nhhockeyplayer nashua <nh...@hotmail.com>.
this is whats landing in my form just for telling a page link to render an <img> tag

need I paste more ?

Any tips on how to work around this are highly appreciated


            <form data-validate="submit" action="/psi/home.galleryform/player" method="post" id="galleryForm"><input value="jIYrV4OkgwGvGcEmZ+I6WHedji8=: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
 		 	   		  

Re: this code doesnt scale... advise thanks

Posted by Howard Lewis Ship <hl...@gmail.com>.
This is usually because of how a Loop inside the Form (and around your
snippet) is configured. You are probably forcing the currentObject itself
to be serialized, and if that has references to other serializable objects,
it can get large. Generally, you should just be serializing an object's id.
See the examples on Loops in the docs and elsewhere.

On Thu, Jan 8, 2015 at 9:38 AM, nhhockeyplayer nashua <
nhhockeyplayer@hotmail.com> wrote:

> Hi Folks,
>
> This blip of code doesnt scale. I was hoping for someone to offer a
> solution.
>
> Its a gallery widget in T5.4...no js
>
> It gathers all relevent images from hibernate/mysql and renders them < 50
> images and these can get bulky large ones I sized down with width height.
>
> My code wont scale though... I receive the FORM SIZE Exceeded error which
> presses me to set
> set JAVA_OPTS=-Dorg.mortbay.jetty.Request.maxFormContentSize=-1
>
> within jetty or tomcat
>
> and I eventually hit the same high water mark resulting in crashed widget
> controls that fail to operate.
>
> Here is the core image handling code for the widget code.
>
> Can anyone see something wrong ? Images are displayed everywhere. I dont
> see why this shouldnt work its within a form. Is my only solution to
> display links instead of images  because that doesnt jive with a gallery
> widget.
>
> <t:pagelink t:page="Edit" context="editPageContext">
>     <t:Any t:id="imageComponentId" id="imageComponentId">
>
>         <img
>             id="ImageWidget" src="${photoLink}" alt="${currentObject}"
> width="200" height="160"
>             title="${currentObject.photo.fileName}"
>             model="currentObject"
>             image="${photoLink}"
>             style="-moz-border-radius: 5px;border-radius:
> 5px;-moz-box-shadow: 5px 5px 5px black;-webkit-box-shadow: 5px 5px 5px
> black;box-shadow: 5px 5px 5px black;"
>         />
>
>     </t:Any>
> </t:pagelink>
>
> Thanks for any tips




-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com
@hlship