The State of Toscawidgets 2

90 views
Skip to first unread message

Ralph Bean

unread,
Apr 25, 2011, 2:58:26 PM4/25/11
to toscawidge...@googlegroups.com
Greetings all-

Pretty quiet on this list so I thought I'd chime in with what I've been up to.

1) tw2 speed tests::
I wrote and ran some benchmarks. The output is listed in the README
file (rendered by github) on the project page here. tw2 looks good!
http://github.com/ralphbean/tw2-benchmark

I wrote a note with a link to the above to the core developer of
EasyWidgets asking for any input on how to most effectively use his
package (so there may be updates to those tests coming soon).

Pending that, I plan to release a writeup on my blog.

2) My tw2.*::
I've been pretty busy over the past year building tw2 extras. You can
see the full list on my github account (along with a bunch of other
stuff) and you can see a WidgetBrowser list of live demos here:
http://craftsman.rc.rit.edu

Be warned, that is running on an oh-so-slow virtualmachine that doesn't
do tw2 justice.

In particular, I'd like to advertise::

- tw2.jit.SQLARadialGraph
- tw2.jqplugins.jqgrid.SQLAjqGridWidget

Both of them do some fancy stuff with sqlalchemy. They should snap-in
flawlessly with any project you have going on. I've got some tutorials
on how to use the first of the two with both Turbogears 2.1 and Pyramid
on my blog at http://threebean.wordpress.com

3) tw2.sqla
I put a bunch of work in and got from 0% to 100% test coverage on
tw2.sqla. My repo is located at::
http://bitbucket.org/ralphbean/tw2.sqla

It interoperates 100% with elixir without ever explicitly referencing
it(!)

4) The most epic merge of my life -- tw2.core (!)
I braved merge-hell. When I started working on tw2 almost one summer
ago, I stumbled into cloning paj's repo from bitbucket.org only to find
out much later that things had diverged between his and the
'toscawidgets' repos. I took it upon myself today to make a merge
happen. 100 % of tests pass and my merged repo is located on my
bitbucket account at::
http://bitbucket.org/ralphbean/tw2core

I made some executive decisions in the process that are certainly up for
review. Let's do it (review it)!

Here's why: tw2 rocks. I've built a lot of great widgets on it and
have a number of apps done/in-the-works that depend on it. In one case
especially (the fantastic `moksha` project), depending on my tw2 stuff
requires packaging tw2 as rpms for Fedora and RHEL but IMHO, we cannot
move forward with that as long as our repos aren't unified and in quite
a confusing state for new users/developers to stumble into.

I look forward to debating out which features (if any) should be
pruned/added.

5) Looking forward -- Documentation and Test Coverage
The documentation for the core packages is 'good' but needs real work
around the TG2.1 tutorial. Additionally, we should add a Pyramid
tutorial. I'm willing to take this on.

We should have a link in the documentation as well to auto-generated
reports of the `coverage` tool to 1) advetise the robustness of tw2 and
2) find out where we need to write more tests to shore ourselves up.
I'm also willing to take this on.

Cheers-
-Ralph Bean

Paul Johnston

unread,
Apr 27, 2011, 6:18:58 AM4/27/11
to toscawidge...@googlegroups.com
Hi,

Fantastic work Ralph! It's great to see more progress happening.

I think a good step from here is to create links from the tw2 docs to your work. If you update the docs in a repos somewhere and let me know, I'll publish them on toscawidgets.org.

By the way, two things that would be good to work on are client-side validation and google app engine support.

  1) tw2 speed tests::

A good start. I think it would be helpful to include Django as a reference point. And we should see if there are any easy performance wins - e.g. resources might be easy to do.
 
 2) My tw2.*::

Wow! Definitely need to link these from the main docs. We should see what we can do to make the widget browser more useful - focusing on the most important parameters, more demos, links to tutorials, etc.

           - tw2.jqplugins.jqgrid.SQLAjqGridWidget

That could save a lot of time!

  3) tw2.sqla

More tests is always good. And supporting Elixir without referencing it (except in tests) is exactly the model I was hoping for.

I am starting to question the overall approach here. There's a lot to like about SQLAlchemy, but it's not without its flaws. And NoSQL databases are rising in popularity. I'm wondering if what I really want is not a tw2-sqlalchemy bridge, but a generic way to have persistent form contents.
 
  4) The most epic merge of my life -- tw2.core (!)

A brave attempt! I tried the same merge in July 2010. I think I broke compatibility with percious' branch so they didn't adapt the merge. The key here is getting active involvement from the separate branches. Do we have active contact with the users of percious' branch?

I think there are a few fairly major changes that will affect compatibility, but we should try to make before a tw2 release:

Controller widgets - add authorization hooks, have a smarter dispatcher, avoid some of the hacks (e.g. Page._no_autoid)
Resources - need a refactor for convencience, clearer lifecycle, js libs with multiple versions and performance
Widget hierarchy - there's still something not quite right about how children are done, needs a refactor especially around things like form.submit which is sort-of a child but not quite.

  5) Looking forward -- Documentation and Test Coverage

Yes, while there are detailed design docs, what's missing is "how to" docs - there's some basics, but we need more frameworks and more advanced topics.

Great stuff Ralph, keep it up! I don't know how much (if any) time I'll have to tw2 in the coming months, but my interest remains.

Paul

Christoph Zwerschke

unread,
Apr 27, 2011, 10:27:53 AM4/27/11
to toscawidge...@googlegroups.com
Am 25.04.2011 20:58 schrieb Ralph Bean:
> Pretty quiet on this list so I thought I'd chime in with what I've been up to.

Nice, good to see some progress again.

> 5) Looking forward -- Documentation and Test Coverage The
> documentation for the core packages is 'good' but needs real work
> around the TG2.1 tutorial. Additionally, we should add a Pyramid
> tutorial. I'm willing to take this on.

Great. TG and Pyramid tutorials are important to get more people
interested in TW again.

-- Christoph

Reply all
Reply to author
Forward
0 new messages