Posted by Muneer Yachb (Guest)
on 02.03.2006 21:31
The following wish list is for LiveGrid. I have broken them down into 
'Must have' and 'Nice to have'. And also I did my research before I made 
up this list. I looked at most of the Ajax-Javascript frameworks and 
most of them are heading towards the following features. I will say 
which ever framework comes out with these features pretty soon they will 
get a bigger user base because the below listed features are very 
commonly desired features for tabular data. And I WANT RICO TO BE AHEAD 
IN THE GAME BECAUSE I REALLY LIKE IT. And also I corresponded with 
Richard and Scott couple of times and they seem to be very nice people 
to work with!

'Must Have'

1. Horizantal Scrolling
2. Drag n Drop columns
3. Resizing of columns
4. Some kind of message for the users when Rico is loading data.
5. Row highliters.

'Nice to have'

1. Risizable viewport, I mean user can choose to shrink down the div to 
look at 5 rows or blow it up to see 20 rows.
2. Some kind of a way to save users prefrences. If the user arranges 
certain columns in certain way, resize the columns it will be nice if 
rico could write those prefrences to a client cookie or something and 
use them later.

Good work!
Muneer
Posted by Ross Lawley
on 02.03.2006 21:56
Hi Muneer,

All good points - drag and drop integration could be tricky as tables 
arent helpful for drag and drop.  Some sort of cloning with a div / span 
structure and css would be required.

The rest - well we'll have to see how refactoring goes in openRico2.0
Posted by Muneer Yachb (Guest)
on 02.03.2006 22:01
Ross Lawley wrote:
> Hi Muneer,
> 
> All good points - drag and drop integration could be tricky as tables 
> arent helpful for drag and drop.  Some sort of cloning with a div / span 
> structure and css would be required.
> 
> The rest - well we'll have to see how refactoring goes in openRico2.0

Hi Ross:

Do you any kind of timeline in mind for Rico 2.0. It need not be 
accurate but will be very helpful for my project planning if I am to go 
with Rico.

Please reply.

Thanks,
Muneer
Posted by Sam Neth
on 02.03.2006 22:53
Muneer Yachb wrote:
> The following wish list is for LiveGrid. I have broken them down into 
> 'Must have' and 'Nice to have'. And also I did my research before I made 
> up this list. I looked at most of the Ajax-Javascript frameworks and 
> most of them are heading towards the following features. I will say 
> which ever framework comes out with these features pretty soon they will 
> get a bigger user base because the below listed features are very 
> commonly desired features for tabular data. And I WANT RICO TO BE AHEAD 
> IN THE GAME BECAUSE I REALLY LIKE IT. And also I corresponded with 
> Richard and Scott couple of times and they seem to be very nice people 
> to work with!
> 
> 'Must Have'
> 
> 1. Horizantal Scrolling
> 2. Drag n Drop columns
> 3. Resizing of columns
> 4. Some kind of message for the users when Rico is loading data.
> 5. Row highliters.
> 
> 'Nice to have'
> 
> 1. Risizable viewport, I mean user can choose to shrink down the div to 
> look at 5 rows or blow it up to see 20 rows.
> 2. Some kind of a way to save users prefrences. If the user arranges 
> certain columns in certain way, resize the columns it will be nice if 
> rico could write those prefrences to a client cookie or something and 
> use them later.
> 
> Good work!
> Muneer


I absolutely will not make any promises, but I actually plan to 
implement every one of these items myself, with the exception of the 
resizable viewport one, but I don't mind adding that to my list. 
Obviously as evidence surfaces that the Rico team is going to implement 
any of this stuff near-term, I will reconsider my plans.

As Ross mentions, tables are a problem for reordering columns, though 
I've seen it done with massive DOM restructuring.  The problem is, you 
want the display order of the columns to be independent of the back-end. 
Some of these requirements are among the many reasons I recently 
enhanced Rico to support non-table layout in LiveGrid, and I already 
have a partial implementation of draggable column headers.

Though it's been suggested that I'm forking the project, that's not my 
intention, and I'm offering modified rico.js files that are up to date 
with the latest release.  If the Rico team wants to adopt any of my 
changes, a simple diff with these files is pretty trivial, and 
developers who have made their own changes can easily diff3 them in.  I 
may choose to submit my changes formally in the future, but for now I'm 
busy with the project I'm making them for.

If you want to check out the changes I've made so far, they're available 
here:

http://www.on-the-fly.com/pub/rico/

Note that the column header stuff isn't in there because I only want to 
release completed enhancements that are backwards compatible and can be 
used as is.  I hope to put up examples using my changes in the near 
future.

Enjoy,

Sam Neth
On The Fly, Inc.
http://www.on-the-fly.com


Posted by Mona Jain (Guest)
on 03.03.2006 15:08
Sam, Richard and Team:

I am a Program Manager for a big size Banking system. I have couple of 
questions:

1. Do you guys provide consultation work?

2. My department is really impressed with some of the Rico Behaviours. 
What more can we expect in the future?

3. Richard mentioned that they will be doing some major refactoring for 
Rico 2.0 then will it be compatible with Rico 1.1?

4. Or should we just wait for Rico 2.0 to come out before we start using 
it?

5. Last but not the least, when will we be seeing Rico 2.0 released?

Thanks in advance,
Mona

Sam Neth wrote:
> Muneer Yachb wrote:
>> The following wish list is for LiveGrid. I have broken them down into 
>> 'Must have' and 'Nice to have'. And also I did my research before I made 
>> up this list. I looked at most of the Ajax-Javascript frameworks and 
>> most of them are heading towards the following features. I will say 
>> which ever framework comes out with these features pretty soon they will 
>> get a bigger user base because the below listed features are very 
>> commonly desired features for tabular data. And I WANT RICO TO BE AHEAD 
>> IN THE GAME BECAUSE I REALLY LIKE IT. And also I corresponded with 
>> Richard and Scott couple of times and they seem to be very nice people 
>> to work with!
>> 
>> 'Must Have'
>> 
>> 1. Horizantal Scrolling
>> 2. Drag n Drop columns
>> 3. Resizing of columns
>> 4. Some kind of message for the users when Rico is loading data.
>> 5. Row highliters.
>> 
>> 'Nice to have'
>> 
>> 1. Risizable viewport, I mean user can choose to shrink down the div to 
>> look at 5 rows or blow it up to see 20 rows.
>> 2. Some kind of a way to save users prefrences. If the user arranges 
>> certain columns in certain way, resize the columns it will be nice if 
>> rico could write those prefrences to a client cookie or something and 
>> use them later.
>> 
>> Good work!
>> Muneer
> 
> 
> I absolutely will not make any promises, but I actually plan to 
> implement every one of these items myself, with the exception of the 
> resizable viewport one, but I don't mind adding that to my list. 
> Obviously as evidence surfaces that the Rico team is going to implement 
> any of this stuff near-term, I will reconsider my plans.
> 
> As Ross mentions, tables are a problem for reordering columns, though 
> I've seen it done with massive DOM restructuring.  The problem is, you 
> want the display order of the columns to be independent of the back-end. 
> Some of these requirements are among the many reasons I recently 
> enhanced Rico to support non-table layout in LiveGrid, and I already 
> have a partial implementation of draggable column headers.
> 
> Though it's been suggested that I'm forking the project, that's not my 
> intention, and I'm offering modified rico.js files that are up to date 
> with the latest release.  If the Rico team wants to adopt any of my 
> changes, a simple diff with these files is pretty trivial, and 
> developers who have made their own changes can easily diff3 them in.  I 
> may choose to submit my changes formally in the future, but for now I'm 
> busy with the project I'm making them for.
> 
> If you want to check out the changes I've made so far, they're available 
> here:
> 
> http://www.on-the-fly.com/pub/rico/
> 
> Note that the column header stuff isn't in there because I only want to 
> release completed enhancements that are backwards compatible and can be 
> used as is.  I hope to put up examples using my changes in the near 
> future.
> 
> Enjoy,
> 
> Sam Neth
> On The Fly, Inc.
> http://www.on-the-fly.com
Posted by Richard Cowin
on 03.03.2006 17:09
>2. My department is really impressed with some of the Rico Behaviours. What more can we expect in the future?

There will be some familiar as well as some fairly innovative behaviors 
added to Rico 2.0 - we will be discussing these in more detail in the 
near future. There are also some interested parties that have talked 
about a more complete desktop like set of components. Rest assured, it 
is out goal to make sure any behaviors in future versions of Rico will 
be easy to add to existing HTML.

>3. Richard mentioned that they will be doing some major refactoring for Rico 2.0 then will it be compatible with Rico 1.1?

The basic way you use the behaviors in Rico will not change. However, we 
will be cleaning up some of the APIs with the intent in making them 
simpler and easier to adapt to specific application needs. Another goal 
for Rico 2.0 is to support growth from multiple perspectives.

Since our main goal for Rico is to maintain the ability to easily add 
rich behaviors with minimal impact to existing html pages, I expect we 
will make migration pretty straight forward.

>4. Or should we just wait for Rico 2.0 to come out before we start using it?

If there are behaviors that satisfy some of you current needs, then I 
encourage you to use the Rico 1.1 version.

Bear in mind though, that you will need to move to Rico 2.0 for any new 
behaviors or features. I do not anticipate adding any of these to the 
1.1 version.

>5. Last but not the least, when will we be seeing Rico 2.0 released?

I expect we will be getting portions of Rico 2.0 into the current_build 
soon - it will likely evolve more drastically than in the past. We will 
be discussing the Rico 2.0 release time frame as we zero in on the 
scope. The key intent is to prepare it for future growth.
Posted by Dave Tarbox
on 03.03.2006 23:34
How can the Wish List be complete without mention of the Accordion 
object ? :-)

I'm using only the accordion object so far.
It would be nice if panelHeight:'auto' would work in mozilla/firefox.
It would be nice if there were a per-panel automatic height adjustment.
It would be nice if there were a panelWidth:'auto' and/or automatic
scrollbars.

It would be nice if there were documentation :-)

It's all a very nice effort.  Thanks a lot for it.

dt

Posted by Matt Brown (Guest)
on 26.05.2006 07:08
I have merged the awesome LiveGrid with the client-side portion of 
movTable. The result is a high-performance, sortable grid that also has:

1) RESIZABLE COLUMNS
2) HIDE/SHOW COLUMNS
3) CONTEXT MENUS
4) COLUMN FILTERS
5) DYNAMIC END-OF-DATA DETECTION
6) KEYBOARD SUPPORT (arrow up/down, page up/down)

I started with the Rico code on Sam Neth's web site. To get it to mesh 
with movTable required changes to both Rico and movTable. The coupling 
is "loose" -- javascript object hierarchies are still maintained by both 
the Rico code and the movTable code (e.g. there are two column objects). 
I lot more work could be spent doing "real" code integration. Where 
possible, I changed movTable and kept Rico the same.

A demo and a zip file containing the code is available at:

   http://dowdybrown.com/dbprod/rico-test1/default.php

The zip file also contains working LiveGrid xml data providers in both 
PHP/mysql and ASP/ADO flavors, for those who are interested. 
Constructive criticism is always welcomed. Enjoy!
Posted by Jérôme
on 26.05.2006 13:08
excellent...
maybe it should be better to post that in the "examples" section
also...
Posted by Ken Gregg
on 26.05.2006 14:34
Matt,

Great stuff. Throw MS Access out the window ;)

How difficult would it be to add support for a record count (total 
records) attribute or tag in each server respopnse? That would allow 
scrolling directly to the bottom without the multiple scrolls.

Ken


Posted by Matt Brown
on 12.06.2006 18:13
I have posted a much improved version at:

http://dowdybrown.com

It is no longer dependent on movTable or jsDOMenu. Here are some of its 
features:

* Resizable columns
* Horiontal scrolling
  o If the grid is wider than a user's browser window, a horizontal 
scollbar is created automatically, allowing the user to scroll left or 
right
* Sorting
* Column hiding and restoring
* Column filtering
  o Filter by: =, <>, >=, <=, or by user-entered keyword
  o The user can set filters on as many columns as desired at the same 
time
* Row highlighting
* Context menus
  o Invoked by left-clicking on a header or data cell
  o Menus can be customized
* Multi-language support
  o The built-in menus can be localized to any language
  o French and Italian localizations are supplied
  o The demo detects if either of these is the user's preferred language 
and creates menus in the appropriate language automatically
* Date and number formatting
  o Formatting routines have been added to the Rico library
  o The multi-language support sets up default formats for a given 
language. The default formats can, of course, be overridden by the 
programmer.
* Improved communication with the server
  o The server can send an updated row-count back to the client in any 
response
  o If the server encounters an error, an error message can be sent back 
to the client, which will be presented to the user as an alert message
* Data providers for both PHP and ASP are included
  o The PHP provider works with a mySQL database
  o The ASP provider works with both SQL Server and Access databases
Posted by Tianyan (Guest)
on 16.06.2006 13:47
nice job! Thanks.
Posted by Matt Brown
on 26.07.2006 23:19
My latest release (26 July) is now available at http://dowdybrown.com

Improvements include:

* ability to freeze one or more left-hand columns

* support for multi-row headings

* support for pre-filled tables -- no AJAX, LiveGrid provides scrolling, 
column resizing, and sorting services

* row striping

* Chinese language support

* Preliminary Safari support. Opera 9 fully supported.

* 7 examples!
Posted by Ross Lawley
on 27.07.2006 07:25
Hi Matt,

Excellent work!
Posted by Jeremy Perrin
on 28.07.2006 05:03
So does this mean Rico 2.0 will no longer be created?

(serious question)

JP
Posted by Xinjun Liu (Guest)
on 30.07.2006 12:12
Impressive job
Posted by Doug Meharry (Guest)
on 11.08.2006 16:31
Greetings all!

I've been really kicking the tires hard on the version of LiveGrid
that Matt Brown (DowdyBrown.com) has assembled and released as of
this August 1, 2006.

Very Impressive Work!  I particularly like the "context" menu that 
allows one to select and right click on a field and then specify various 
options for sorting and filtering records -- very cool stuff.

Now for the main issue (and a Must Have) which I've not seen anyone 
mention here.

One needs to be able to configure the LiveGrid so that it will present 
data either reverse or forward order.

The example show here on this website presents a list of available 
inventory items (movies) sorted in the same direction that they have 
been added to the underlying database table.  For the most part, this is 
fine for semi-static data like one finds in inventories.

However, it is not fine for transactional data like error log records, 
email message records, customer orders, invoices, cash receipts, 
shippments, and next week's flight schedules.  In these cases, as 
always, the records are added sequentially as they occur to the end of a 
database table.  When you present them to an end-user, you want(or 
should want) the user to immediately see the most recent records which 
are the ones located at the very end of the table.  Furthermore, in some 
cases, you will want to present the records so that the most recent 
record is displayed at the bottom of the list -- while at other times 
you will want to display the records so that the most recent record 
(last one in the underlying table) is displayed at the very top of the 
list.  Then as the user moves the scroll bar, older records from nearer 
the beginning of the database table are retreived and displayed.

In my view, this is a MUST HAVE -- especially if one is going to use the 
LiveGrid in any kind of financial application.  After all, who wants to 
always have to scroll through hundreds or perhaps thousands of lines of 
old error log messages or payment records to get to the most recent ones 
that matter most?

I hope this is a little clearer than mud.  If anyone would like some 
clarification I welcome all such correspondence and you can reach me at 
-- doug dot meharry at gmail dot com.

Thanks for reading and keep up the good work!

Doug



Posted by Ken Gregg
on 12.08.2006 00:06
Doug,

Hate to do this to you but all you have to do is specify the default 
sort order in the query in the back end data script. In other words if 
no sort field is specified in data requests, you use a default order by.

Ken
Posted by Doug Meharry (Guest)
on 13.08.2006 18:31
Ken,

Thanks.  I think perhaps I did not make my point very well.  I do know 
that one can show the oldest records first by simply doing as you say. 
All one has to do is add "DESC" to the default order_by parameter.

What I was really trying to convey is a feature where the list is sorted 
in ascending(ASC) order -- except the most recent records are 
automatically shown without the user having to scroll down to them.  In 
other words, initial presentation starts with the last few rows (sorted 
in ascending order) and the scroll bar slider located at the bottom of 
the scroll bar.  Then, if the user wants to see older records, he moves 
the slider in an upward direction.

Does the LiveGrid currently support this behavior?  If it does, please 
explain what configuration options should be used.  I tried this with 
Matt Brown's version of LiveGrid(released 8-1-06) and did not have any 
luck.  Of course, I am assuming his code reflects(and doesn't break) all 
of the core capabilities of the standard Rico LiveGrid codebase.

I did however, get part way to the goal by playing around with the 
initial offset value, but this did not move the scroll bar slider down 
and thus things did not work as desired.

Anyhow, just my two cents.

Cheers,

Doug








Posted by Ken Gregg
on 14.08.2006 14:58
ok, I understand now.

I have not played with Matt's new version yet but assuming he did not 
break the bookmark capability you should be able to use the same 
approach, create the equivalent of a bookmark to 
totalNumberofRows-visibleRows. Your grid should come up on the last page 
of records.

Ken
Posted by Rodrigo (Guest)
on 28.08.2006 18:51
Hi I have a simple question about the Rico Live Grid Plus. I was using
Rico
Live Grid and I want to use your grid now. With Rico live grid I
recieved a
parameter named sort_col through the query string showing me wich column
I
had to sort...
I dont see any parameter in the live grid plus that does the same...
Posted by Ken Gregg
on 28.08.2006 23:20
Rodrigo,

I have just started porting my stuff to Matt's grid. Looking at the 
requests in Firebug, it looks like sort and filter parameters are passed 
as s{COLNUM} and f{COLNUM}. So if you get an s2=DESC you would sort by 
column 2 DESC.

Ken
Posted by Matt Brown
on 29.08.2006 01:41
Regarding Doug's question...

One approach would be to determine the total number of rows before the
grid is displayed, then use Ken's formula to populate the options.offset
parameter:

{... offset:totalNumberofRows-visibleRows, ...}

This should cause the grid to initially display the rows at the end of
the data set. This also assumes that the visibleRows parameter is
fixed ahead of time. Example 7 in the 23 August release of LiveGrid Plus
demonstrates the use of the offset parameter.

Matt
http://dowdybrown.com
Posted by Ryan Peterson
on 08.09.2006 13:45
Matt-

Fantastic work, you've managed to actually make the grid "usable" for 
all of us that have a large community of Mac/Safari users. I wanted to 
add another item to the "wish list" if I could. One thing that would be 
great is the ability to select rows, or multiple rows (ctrl/shift), and 
the retrieve those selections through some kind of array. Then we could 
execute code or logic based on the context menu selection and selected 
rows. For a commercial example of a grid that is doing this (no Safari 
support) please check out this link.

http://www.java2s.com/Code/JavaScriptDemo/GridTablewithmultipleselection.htm

Thanks for your time!

-Ryan