RIA Development - TechHui2024-03-29T01:24:58Zhttp://www.techhui.com/forum/categories/ria-development/listForCategory?categoryId=1702911%3ACategory%3A242&feed=yes&xn_auth=noAll things Drupal -- questions, modules, installation, themeing --- Introduce yourselftag:www.techhui.com,2010-03-04:1702911:Topic:576512010-03-04T22:45:47.970ZMonica S Floreshttp://www.techhui.com/profile/MonicaSFlores
Greetings everyone. I have been a web developer since 1999 and I absolutely love the power of the web to connect all of us. I have recently taken my company, 10K Webdesign, towards a Drupal approach for most of our new projects.<br />
<br />
I like the Drupal "Acquia" distribution-- it's very powerful for the types of communities we serve (public agencies, nonprofits, small business, membership directories).<br />
<br />
I am interested in connecting with others and listing out resources, references, and people who…
Greetings everyone. I have been a web developer since 1999 and I absolutely love the power of the web to connect all of us. I have recently taken my company, 10K Webdesign, towards a Drupal approach for most of our new projects.<br />
<br />
I like the Drupal "Acquia" distribution-- it's very powerful for the types of communities we serve (public agencies, nonprofits, small business, membership directories).<br />
<br />
I am interested in connecting with others and listing out resources, references, and people who can work together on new Drupal projects.<br />
<br />
Please take a moment to introduce yourself, ask a question, or post a response.<br />
<br />
Thank you! Handle table with a lot of columns in GWTtag:www.techhui.com,2010-01-02:1702911:Topic:548242010-01-02T07:26:55.970ZWatchSoundhttp://www.techhui.com/profile/WatchSound
In a real world project I have worked with, I had a serious performance problem with GWT table.<br />
Basically we need to handle tables with hundreds columns, and performance issue of GWT table make the page unusable.<br />
<br />
Sure, at the first place, we should not show that big table even for the sake of XUI :). Anyway.. Live Grid of Smart GWT solves this issue by dynamically creating a small table. but we can not use Smart GWT for some reasons..<br />
<br />
<br />
I had explored several approaches in my spare time.. and…
In a real world project I have worked with, I had a serious performance problem with GWT table.<br />
Basically we need to handle tables with hundreds columns, and performance issue of GWT table make the page unusable.<br />
<br />
Sure, at the first place, we should not show that big table even for the sake of XUI :). Anyway.. Live Grid of Smart GWT solves this issue by dynamically creating a small table. but we can not use Smart GWT for some reasons..<br />
<br />
<br />
I had explored several approaches in my spare time.. and try to get some feedbacks from here..<br />
<br />
The approach i used here is to introducing horizential paging concept for columns, and hide columns not in the current view. The solution is not perfect.. but at least bring the frozen pages back to life :)<br />
<br />
1. Create a wrapper for PagingScrollTable<br />
<br />
import java.util.List;<br />
<br />
import com.google.gwt.event.dom.client.ClickEvent;<br />
import com.google.gwt.event.dom.client.ClickHandler;<br />
import com.google.gwt.gen2.table.client.ColumnDefinition;<br />
import com.google.gwt.gen2.table.client.DefaultTableDefinition;<br />
import com.google.gwt.gen2.table.client.PagingScrollTable;<br />
import com.google.gwt.gen2.table.client.TableModel;<br />
import com.google.gwt.user.client.ui.DockPanel;<br />
import com.google.gwt.user.client.ui.HorizontalPanel;<br />
import com.google.gwt.user.client.ui.Label;<br />
import com.google.gwt.user.client.ui.SimplePanel;<br />
<br />
public class ColumnPageableTable extends SimplePanel{<br />
private TableModel tableModel;<br />
private DefaultTableDefinition tableDefinition;<br />
private List> visibleColumns;<br />
<br />
private int numColumnInOnePage;<br />
private PagingScrollTable curTableInView;<br />
private DockPanel contentPanel = new DockPanel();<br />
private Label next = new Label("next>>");<br />
private Label previous = new Label("previous<<");<br />
private int curColumnPage = 0 ;<br />
<br />
public ColumnPageableTable(TableModel tableModel,<br />
DefaultTableDefinition tableDefinition,<br />
int numColumnInOnePage<br />
) {<br />
this.tableDefinition = tableDefinition;<br />
this.tableModel = tableModel;<br />
this.numColumnInOnePage = numColumnInOnePage;<br />
visibleColumns = tableDefinition.getVisibleColumnDefinitions();<br />
HorizontalPanel navigationPanel = new HorizontalPanel();<br />
navigationPanel.add( previous );<br />
navigationPanel.add( next );<br />
contentPanel.setSize("100%", "100%");<br />
contentPanel.add( navigationPanel, DockPanel.NORTH);<br />
setWidget(contentPanel);<br />
next.addClickHandler(new ClickHandler() {<br />
@Override<br />
public void onClick(ClickEvent event) {<br />
nextPageColumn();<br />
}<br />
});<br />
previous.addClickHandler(new ClickHandler() {<br />
@Override<br />
public void onClick(ClickEvent event) {<br />
previousPageColumn();<br />
}<br />
});<br />
gotoPageOfColumn(curColumnPage);<br />
}<br />
<br />
public void nextPageColumn(){<br />
if( curColumnPage < getNumOfPagesForColumn() ){<br />
curColumnPage++;<br />
gotoPageOfColumn(curColumnPage);<br />
}<br />
}<br />
public void previousPageColumn(){<br />
if( curColumnPage >= 0 ){<br />
curColumnPage -- ;<br />
gotoPageOfColumn(curColumnPage);<br />
}<br />
}<br />
private int getNumOfPagesForColumn(){<br />
return visibleColumns.size() / numColumnInOnePage +<br />
(visibleColumns.size() % numColumnInOnePage == 0 ? 0 : 1 );<br />
}<br />
<br />
public void gotoPageOfColumn( int page ){<br />
int start = page * numColumnInOnePage;<br />
int end = start + numColumnInOnePage -1;<br />
for(int i = 0; i < visibleColumns.size(); i++){<br />
ColumnDefinition colDef = visibleColumns.get(i);<br />
if( i >= start && i <= end ){<br />
tableDefinition.setColumnVisible(colDef, true);<br />
}<br />
else {<br />
tableDefinition.setColumnVisible(colDef, false);<br />
}<br />
}<br />
if( curTableInView == null ){<br />
curTableInView = new PagingScrollTable(tableModel,<br />
tableDefinition);<br />
curTableInView.setSize("100%", "100%");<br />
curTableInView.setPageSize(50);<br />
curTableInView.setCellPadding(3);<br />
curTableInView.setCellSpacing(0);<br />
curTableInView.gotoPage(0, true);<br />
contentPanel.add(curTableInView, DockPanel.CENTER);<br />
contentPanel.setCellHeight(curTableInView, "100%");<br />
contentPanel.setCellWidth(curTableInView, "100%");<br />
}<br />
else {<br />
//TODO:: should not reload from server<br />
curTableInView.reloadPage();<br />
}<br />
}<br />
}<br />
<br />
2. Add a test driver<br />
import java.util.ArrayList;<br />
import java.util.Iterator;<br />
import java.util.List;<br />
<br />
import com.google.gwt.core.client.EntryPoint;<br />
import com.google.gwt.gen2.table.client.DefaultTableDefinition;<br />
import com.google.gwt.gen2.table.client.ListColumnDefinition;<br />
import com.google.gwt.gen2.table.client.MutableTableModel;<br />
import com.google.gwt.gen2.table.client.TableModel;<br />
import com.google.gwt.gen2.table.client.TableModelHelper.Request;<br />
import com.google.gwt.gen2.table.client.TableModelHelper.Response;<br />
import com.google.gwt.user.client.ui.HTML;<br />
import com.google.gwt.user.client.ui.RootPanel;<br />
import com.watch.sound.gwt.bigtable.client.table.ColumnPageableTable;<br />
<br />
/**<br />
* Entry point classes define <code>onModuleLoad()</code>.<br />
*/<br />
public class BigTable implements EntryPoint {<br />
<br />
/**<br />
* This is the entry point method.<br />
*/<br />
public void onModuleLoad() {<br />
final int numColumn = 20;<br />
TableModel tm = new MutableTableModel() {<br />
@Override<br />
protected boolean onRowInserted(int beforeRow) {<br />
return false;<br />
}<br />
@Override<br />
protected boolean onRowRemoved(int row) {<br />
return false;<br />
}<br />
@Override<br />
protected boolean onSetRowValue(int row, List rowValue) {<br />
return false;<br />
}<br />
@Override<br />
public void requestRows(<br />
Request request,<br />
com.google.gwt.gen2.table.client.TableModel.Callback callback) {<br />
callback.onRowsReady(request, new Response (){<br />
@Override<br />
public Iterator getRowValues() {<br />
List result = new ArrayList();<br />
for( int i = 0 ; i < 100 ; i++ ){<br />
List row = new ArrayList();<br />
for ( int j = 0; j < numColumn ; j++ ){<br />
row.add( "value" + j );<br />
}<br />
result.add(row);<br />
}<br />
return result.iterator();<br />
}});<br />
}<br />
};<br />
DefaultTableDefinition tableDefinition = new DefaultTableDefinition ();<br />
for( int i = 0; i < numColumn ; i++ ){<br />
ListColumnDefinition colDef = new ListColumnDefinition(i);<br />
colDef.setHeader(0, new HTML("id"+ i));<br />
tableDefinition.addColumnDefinition(colDef);<br />
}<br />
ColumnPageableTable table = new ColumnPageableTable(tm, tableDefinition, 3);<br />
table.setSize("300px","300px");<br />
RootPanel.get().add( table );<br />
}<br />
}<br />
<br />
That's it.<br />
<br />
-watchsound Seesmic duplicates their Adobe Air interface on the web with GWTtag:www.techhui.com,2009-08-31:1702911:Topic:487332009-08-31T21:39:53.823ZKonstantin A Lukinhttp://www.techhui.com/profile/KonstantinLukin
Hi GWT fans, here is an interesting article, talking about real-world GWT implementation of an Adobe Air app.. What is really good to hear is that developer feedback is very positive, and of course, live app is on the web.<br />
<br />
<a href="http://googlewebtoolkit.blogspot.com/2009/08/seesmic-duplicates-their-adobe-air.html">http://googlewebtoolkit.blogspot.com/2009/08/seesmic-duplicates-their-adobe-air.html</a><br />
<br />
<a href="http://seesmic.com/">http://seesmic.com/</a><br />
<br />
Very fast and pretty cool!…
Hi GWT fans, here is an interesting article, talking about real-world GWT implementation of an Adobe Air app.. What is really good to hear is that developer feedback is very positive, and of course, live app is on the web.<br />
<br />
<a href="http://googlewebtoolkit.blogspot.com/2009/08/seesmic-duplicates-their-adobe-air.html">http://googlewebtoolkit.blogspot.com/2009/08/seesmic-duplicates-their-adobe-air.html</a><br />
<br />
<a href="http://seesmic.com/">http://seesmic.com/</a><br />
<br />
Very fast and pretty cool!<br />
<br />
<a href="http://ikayzo.com"><b>Ikayzo</b></a> - Design • Build • Localize | Web • Desktop • Mobile Web Hooks User-defined HTTP callbacks for push, pipes and pluginstag:www.techhui.com,2009-08-31:1702911:Topic:487262009-08-31T19:51:21.223ZKonstantin A Lukinhttp://www.techhui.com/profile/KonstantinLukin
<img alt="" height="112" src="http://storage.ning.com/topology/rest/1.0/file/get/1044528385?profile=RESIZE_180x180" style="float: right;" width="150"></img> This looks interesting for anyone looking for HTTP push callbacks.<br />
<br />
<a href="http://webhooks.pbworks.com/">http://webhooks.pbworks.com/</a><br />
<br />
<a href="http://blog.webhooks.org/">http://blog.webhooks.org/</a><br />
<br />
<a href="http://www.youtube.com/watch?v=Fw8EPrIjCOc">http://www.youtube.com/watch?v=Fw8EPrIjCOc</a><br />
<br />
Anyone familiar with it? What's your opinion?<br />
<br />
Thank you for any feedback.<br />
<br />
<a href="http://ikayzo.com"><b>Ikayzo</b></a> - Design • Build • Localize | Web • Desktop •…
<img width="150" src="http://storage.ning.com/topology/rest/1.0/file/get/1044528385?profile=RESIZE_180x180" alt="" width="150" height="112" style="float: right;"/>This looks interesting for anyone looking for HTTP push callbacks.<br />
<br />
<a href="http://webhooks.pbworks.com/">http://webhooks.pbworks.com/</a><br />
<br />
<a href="http://blog.webhooks.org/">http://blog.webhooks.org/</a><br />
<br />
<a href="http://www.youtube.com/watch?v=Fw8EPrIjCOc">http://www.youtube.com/watch?v=Fw8EPrIjCOc</a><br />
<br />
Anyone familiar with it? What's your opinion?<br />
<br />
Thank you for any feedback.<br />
<br />
<a href="http://ikayzo.com"><b>Ikayzo</b></a> - Design • Build • Localize | Web • Desktop • Mobile GWT + jQuery = GQuerytag:www.techhui.com,2009-08-16:1702911:Topic:480262009-08-16T19:18:34.744ZKonstantin A Lukinhttp://www.techhui.com/profile/KonstantinLukin
Just came across a GWT project that tries to package jQuery capabilities into GWT.<br />
<br />
More information can be found here:<br />
<a href="http://code.google.com/p/gwtquery/">http://code.google.com/p/gwtquery/</a><br />
<br />
Here is a video explaining how it works:<br />
<a href="http://code.google.com/events/io/sessions/ProgressivelyEnhanceAjaxApps.html">http://code.google.com/events/io/sessions/ProgressivelyEnhanceAjaxApps.html</a><br />
<br />
Here is a GWT code snippet to demonstrate:<br />
<pre>$("h1").css("background-color",…</pre>
Just came across a GWT project that tries to package jQuery capabilities into GWT.<br />
<br />
More information can be found here:<br />
<a href="http://code.google.com/p/gwtquery/">http://code.google.com/p/gwtquery/</a><br />
<br />
Here is a video explaining how it works:<br />
<a href="http://code.google.com/events/io/sessions/ProgressivelyEnhanceAjaxApps.html">http://code.google.com/events/io/sessions/ProgressivelyEnhanceAjaxApps.html</a><br />
<br />
Here is a GWT code snippet to demonstrate:<br />
<pre>$("h1").css("background-color", "red").attr("align", "left").text("GQuery Rocks!");</pre>
<br />
It looks promising. Has anyone tried this? Has anyone tried PureMVC implementation?tag:www.techhui.com,2009-08-15:1702911:Topic:479062009-08-15T05:45:22.753ZKonstantin A Lukinhttp://www.techhui.com/profile/KonstantinLukin
Has anyone tried PureMVC implementation? if so, in which language? What was your scenario? What are your recommendations?<br />
<br />
<a href="http://puremvc.org">http://puremvc.org</a><br />
<br />
Any feedback is appreciated.<br />
<br />
Thank you.
Has anyone tried PureMVC implementation? if so, in which language? What was your scenario? What are your recommendations?<br />
<br />
<a href="http://puremvc.org">http://puremvc.org</a><br />
<br />
Any feedback is appreciated.<br />
<br />
Thank you. Silverlight + Financetag:www.techhui.com,2009-07-10:1702911:Topic:460952009-07-10T17:48:57.834ZCorey Lynchhttp://www.techhui.com/profile/CoreyLynch
Hi,<br />
I'm responding to a comment you made <a href="http://quantechfinancial.ning.com/profiles/blogs/silverlight-3" target="_blank">here</a> Dan. I thought the <a href="http://72.32.149.120/work.html" target="_blank">platform that Eikos built in Silverlight</a> was a pretty compelling example of how Silverlight could be used to develop financial software.<br />
<br />
I'd like to hear your thoughts, and the thoughts of anyone on Tech Hui, regarding Silverlight and finance.<br />
<br />
What applications have you seen…
Hi,<br />
I'm responding to a comment you made <a href="http://quantechfinancial.ning.com/profiles/blogs/silverlight-3" target="_blank">here</a> Dan. I thought the <a href="http://72.32.149.120/work.html" target="_blank">platform that Eikos built in Silverlight</a> was a pretty compelling example of how Silverlight could be used to develop financial software.<br />
<br />
I'd like to hear your thoughts, and the thoughts of anyone on Tech Hui, regarding Silverlight and finance.<br />
<br />
What applications have you seen already?<br />
What is driving the interest? O3Dtag:www.techhui.com,2009-07-02:1702911:Topic:456112009-07-02T20:48:46.971ZKonstantin A Lukinhttp://www.techhui.com/profile/KonstantinLukin
Google never stops to amaze me. I just came across an article which talks about 3D rendering in the browser, Google code named O3D. Here is the link<br />
<br />
<a href="http://code.google.com/apis/o3d/">http://code.google.com/apis/o3d/</a><br />
<br />
Could this potentially be the beginning of 3D browsing?<br />
<br />
There is a number of neat 3D samples, check it out!
Google never stops to amaze me. I just came across an article which talks about 3D rendering in the browser, Google code named O3D. Here is the link<br />
<br />
<a href="http://code.google.com/apis/o3d/">http://code.google.com/apis/o3d/</a><br />
<br />
Could this potentially be the beginning of 3D browsing?<br />
<br />
There is a number of neat 3D samples, check it out! Open Laszlo?tag:www.techhui.com,2008-10-27:1702911:Topic:243012008-10-27T19:38:39.858ZScott Murphyhttp://www.techhui.com/profile/ScottMurphy
I'm looking at different RIA solutions and was wondering if anyone has tried out <a href="http://www.openlaszlo.org/">open laszlo</a> and what you thought of it in comparison to other solutions like flex. Would you recommend it? What are the key differences?<br />
<br />
Thank you in advance!
I'm looking at different RIA solutions and was wondering if anyone has tried out <a href="http://www.openlaszlo.org/">open laszlo</a> and what you thought of it in comparison to other solutions like flex. Would you recommend it? What are the key differences?<br />
<br />
Thank you in advance! JavaFX SDK Preview releasedtag:www.techhui.com,2008-08-06:1702911:Topic:187302008-08-06T16:38:15.525ZBrooke Fujitahttp://www.techhui.com/profile/BrookeFujita
... and given the discussions in the threads <a href="http://www.techhui.com/forum/topic/show?id=1702911%3ATopic%3A8760">Silverlight on the Desktop</a> and <a href="http://www.techhui.com/forum/topic/show?id=1702911%3ATopic%3A243">Flex vs. Silverlight</a>, it looks like Sun is diving deep(er) into the rich Internet application fray. Talk about confusing!<br />
<br />
This preview release of the JavaFX SDK piqued my interest, as a present project I am working on may use Java Web Start for deploying a small…
... and given the discussions in the threads <a href="http://www.techhui.com/forum/topic/show?id=1702911%3ATopic%3A8760">Silverlight on the Desktop</a> and <a href="http://www.techhui.com/forum/topic/show?id=1702911%3ATopic%3A243">Flex vs. Silverlight</a>, it looks like Sun is diving deep(er) into the rich Internet application fray. Talk about confusing!<br />
<br />
This preview release of the JavaFX SDK piqued my interest, as a present project I am working on may use Java Web Start for deploying a small application that will live on the end-user's computers. After deployment, this application needs to run irrespective of Internet connection, and needs to run in a secure sandbox. I would like to be able to deploy updates with ease, and so Java Web Start sounded good.<br />
<br />
But I read somewhere that with JavaFX, it will become possible to drag an Applet off of a web page and right on to the desktop.<br />
<br />
Kinda makes you go, "Hmm..."<br />
<br />
But given the penetration of Flex? Don't think I could ever go with Silverlight? Hmm...