Sorry for the late reply - vacation.
Have we cut the 2.0.1 beta yet? If not, we should wait until then
before this update. My preference would also be to have the dojo 0.4
update, together with all the existing tags working with 0.4 available,
but to commit them separately. This way we only need to fix bugs,
rather than convert failing UI widgets that the user community may be
relying on.
/Ian
--
From Down & Around, Inc.
Innovative IT Solutions
Software Architecture * Design * Development
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
web: www.fdar.com
email [EMAIL PROTECTED]
phone: 617.821.5430
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
tm jee wrote:
Hi guys,
If its ok with everyone, I'd like to upgrade Struts2 dojo js to 0.4, sometime
today or tomorrow. (WW-1845). This will most likely breaks some existing
struts2 components. We will patch them up individually (WW-1844)
Cheers
tm jee <[EMAIL PROTECTED]> wrote: Done, 2 jira ticket created
http://issues.apache.org/struts/browse/WW-1484
- upgrading Struts2 dojo widget that might failed due to upgrading dojo to 0.4
http://issues.apache.org/struts/browse/WW-1485
- upgrading Struts2 dojo to 0.4
Musachy Barroso wrote: yes, I overwrote those bindXs with defineWidget. We are going to need
another bug for the actual upgrade from dojo 0.3 to 0.4(0.4 was released
today I think).
musachy
tm jee wrote:
I'm using defineWidget, and it is cool.
Yup. Is it that the bind, binddiv, bindanchor etc have been written with dojo.widget.defineWidget? If so, this would be great. :-) I've converter the bind component using defineWidget... but looks like it could be deleted now.... :-)
I will be looking into hostedqa
You could get a free account from Pat at [ plightbo at friendly gmail dot com ]
Cheers.
Musachy Barroso wrote: I'm using defineWidget, and it is cool. I will be looking into hostedqa
given that it is being used in struts already, as per Don's comment
somewhere on this thread.
musachy
tm jee wrote:
Hi guys,
sorry for jumping into this late. I think we should do the followings for
struts2 dojo widgets.
- use dojo.widget.defineWidget instead of the old-way of using dojo.provide,
dojo.extends etc. Dojo got most of its widget rewritten using this way.
- have struts2 widgets/utils as a separate module and add them in using
dojo.setModulePrefix(...) (0.3) I think the method is renamed in 0.4 and the
concept of module is namespace in 0.4
- have javadoc comments in our widget, hopefully it would be easier to follow
and maybe if possible able to generate docs like http://dojotoolkit.org/api But
I am not sure about how to do this yet. Definitely interested in finding out
more.
- have a test folder, like dojo's where we could have pages that test the
widget, we could use Pat's product to do test the pages (something like
HostedQA or Selenium)
What you guys think? :-)
Rainer Hermanns wrote: I'll wait for your patch against 0.4 then.
As soon as I get it, I'll update Dojo first and commit your patches for
the tags separately.
just let me know, when you are done :)
tia,
Rainer
:) I know. What I meant is that it shouldn't be applied yet 'cause I
made it using 0.3 and I haven't tried it on 0.4 yet.
musachy
Martin Cooper wrote:
On 10/30/06, Musachy Barroso wrote:
Oh, ok. Then just don't apply the patch.
No, no - I'm not saying that it shouldn't be applied, only that it
should be
a separate commit.
By the way, do we have a Jira
issue for the dojo upgrade?
Not that I can see. Feel free to add one, and one with your patch, if
there
isn't one already.
--
Martin.
musachy
Martin Cooper wrote:
On 10/30/06, Musachy Barroso wrote:
Hi Rainer
Give me a couple of days so I can test it against 0.4 (I made the
patch
using 0.3) and finish some changes(for BindButton) that I have for a
new
patch. I will give you a new patch soon with the changes for Bind,
BindDiv, BindAnchor, BindButton and TabbedPanel tested on dojo
0.4. If
you want to go ahead and upgrade to 0.4 and apply the patch later,
that's fine. (I will just be bothering with another patch soon :) )
Well, the upgrade and the patch should certainly be separate
commits, so
that we can track the changes separately, and so that we can revert
one or
the other if that ever becomes necessary. Beyond that, it's up to the
prospective committer to determine timing. ;-)
--
Martin Cooper
musachy
Rainer Hermanns wrote:
Musachy,
I could upgrade the embedded Dojo files to the 0.4 release
during the
week.
If your patches for the s2 ajax tags already are against the
0.4release,
I could apply those as well.
What do you (and others of course) think?
regards,
Rainer
Any idea on when is Dojo going to be bumped up to 0.4?
musachy
Don Brown wrote:
Yes, let's start with bumping up Dojo to 0.4, then apply
patches to
update the tags. How much work do you think it'll be to upgrade
Dojo?
Don
Musachy Barroso wrote:
I attached a new patch to WW-205, this one includes the new
TabbedPanel, BindDiv and BindAnchor. It needs Dojo 0.3.1.Do
you
want
me to create a patch to update to Dojo 0.3.1?(We just need to
replace
dojo distribution under static/dojo.)
I modified the examples in showcase and the test cases. Let me
know
if something is missing or wrong (bear with me on my first
patch
:)
).
musachy
Don Brown wrote:
Ok, then put those two under one ticket. You know best :)
Don
Musachy Barroso wrote:
That's ok, the only problem is that this one by itself would
break
anchor and tabbed panel.
musachy
Don Brown wrote:
I'd prefer separate issues, with attached patches. As for
testing, we started to use Patrick's hostedqa stuff, but we
need
to use it more.
Don
Musachy Barroso wrote:
I have everything (I think :)) for the ajax Div Tag, do you
want
me to create a patch for it, or wait and create a big one
when
I'm done with the other widgets (anchor, tree...dojo 0.2 ->
0.3)?
musachy
//Have you guys consider anything to test this ajax stuff?
(Selenium maybe?)
Musachy Barroso wrote:
This was with 0.3.1 which is the current release. I
posted a
message on their mailing list.
musachy
Don Brown wrote:
Have you tried this with the Dojo 0.4 release? Any
reason
we
shouldn't upgrade to it?
Don
Musachy Barroso wrote:
Would something like this include all the current
functionality in BindDiv? (events for stop/start timer,
refresh, start after a delay, advisor via dojo's
"handler"
property). This way BindDiv will be easier to maintain
(dojo's
ContentPane + timer) and the Tab widget can be deleted
(doesn't add anything to this one). By the way this
doesn't
work on AMD 64/firefox/linux due to a dojo's bug.
dojo.provide("struts.widgets.BindDiv");
dojo.require("dojo.widget.*");
dojo.require("dojo.io.*");
dojo.require("dojo.widget.Container");
dojo.require("dojo.widget.ContentPane");
dojo.require("dojo.animation.Timer");
struts.widgets.BindDiv = function() {
dojo.widget.html.ContentPane.call(this);
var self = this;
this.widgetType = "BindDiv";
this.href = "";
this.extractContent = false;
this.parseContent = false;
this.cacheContent = false;
this.frequency = 0;
this.delay = 0;
this.startTimer = false;
this.timer = null;
//pub/sub events
this.refreshListenTopics = "";
this.stopTimerListenTopics = "";
this.startTimerListenTopics = "";
this.postCreate = function() {
if(self.frequency > 0) {
self.timer = new
dojo.animation.Timer(self.frequency);
self.timer.onTick = self.reloadContents;
//start the timer
if(self.startTimer) {
//start after delay
dojo.debug("starting timer after " + self.delay);
dojo.lang.setTimeout(self.delay,
self.startTimer);
}
}
//attach listeners
if(!dojo.string.isBlank(self.refreshListenTopics)) {
dojo.debug("Listening to " +
self.refreshListenTopics
);
dojo.event.topic.subscribe(self.refreshListenTopics,
self, "reloadContents");
}
if(!dojo.string.isBlank(self.stopTimerListenTopics))
{
dojo.debug("Listening to " +
self.stopTimerListenTopics);
dojo.event.topic.subscribe(self.stopTimerListenTopics,
self, "stopTimer");
}
if(!dojo.string.isBlank(self.startTimerListenTopics)) {
dojo.debug("Listening to " +
self.startTimerListenTopics
);
dojo.event.topic.subscribe(self.startTimerListenTopics
,
self, "startTimer");
}
};
this.reloadContents = function() {
//refresh is not visible in ContentPane
self.isLoaded = false;
self.loadContents();
};
this.stopTimer = function() {
dojo.debug("stopping timer");
self.timer.stop();
};
this.startTimer = function() {
dojo.debug("starting timer with frequency " +
self.frequency);
self.timer.start();
};
};
dojo.inherits(struts.widgets.BindDiv,
dojo.widget.html.ContentPane);
dojo.widget.tags.addParseTreeHandler("dojo:BindDiv");
Musachy Barroso wrote:
I was looking at the Div/Panel classes and I think we
need to
do some changes, right now Panel extends Div and
PanelTag
exteds DivTag. The problem is that the new PanelTag
wraps
dojo's ContentPane, while DivTag wraps HTMLBindDiv(from
struts), and they are quite different. I think we
should
replace HTMLBindDiv with an implementation that extends
dojo's ContentPane and add a timer to it for the auto
refresh.
what do you guys think?
musachy
Ian Roughley wrote:
Yes - this was the direction that we wanted to go
in. Try
to do as much as possible in dojo and provide light
wrappers
in Struts. When we first implemented the tabs, there
was no
such dojo implementation. The one feature that we had
that
you should check that has been implemented in dojo
is the
pub/sub events - so there should be events that each
tabs
listens to to refresh itself.
I think as Don pointed out, we want to keep a very
lightweight wrapper in struts and have all the work
being
done in dojo.
The other big thing that would be a great help is
converting
the code from dojo 0.2 to 0.3 :)
Ian
---------------------------------------------------------------------
=== message truncated ===
Send instant messages to your online friends http://uk.messenger.yahoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]