Ra-Ajax 0.8.5 Released - Rock Steady!!

Ra-Ajax 0.8.5 is now released and can be downloaded at the Ra-Ajax Google Code project site.This is ...
Ra-Ajax 0.8.5 Released - Rock Steady!!Ra-Ajax 0.8.5 is now released and can be downloaded at the Ra-Ajax Google Code project site.



This is a big stabilizer release and can be thought of as a "mountain of Ajax" due to the many bugfixes we've done in this cycle which means that there are not that many bling features but we have fixed a lot of really annoying bugs.


The Ajax TabControl is *stuffed* with goodies


Our Ajax TabControl is now seriously rebrushed (thanx to Dave ;) and you can now change the Caption in Ajax Callbacks, you can set TabViews to IN-Visible in callbacks and there's an "Enabled" property for the TabViews which will if set to false disable the specific TabView.


MouseOver, MouseOut, MouseEnter & MouseLeave


In some very few places Internet Exploder is actually *better* than "the rest". One such area is its MouseEnter and MouseLeave events. We have now mimicked that logic in our MouseOver and our MouseOut events. This means that the MouseOut will NOT trigger when you move the mouse over some "child HTML element" of the one handling that event. It also means that the MouseOver will NOT trigger when you move the mouse back over again from a child HTML element and into the one handling that event. This should make those events *way* better for you in usage in your applications.

For the curious ones, this is roughly how we did it;

function isLeaveEnter(e, node) {
var rel = e.relatedTarget ? e.relatedTarget :
(e.type == 'mouseout' ? e.toElement : e.fromElement);
while (rel && rel != node)
rel = rel.parentNode;
return (rel != node);
}

Then the above method will return false if it's not "truly" a MouseOver or MouseOut. So if you're a JavaScript/jQuery/DojoToolkit/etc fan, feel free to steal our logic here :)


Formal development cycle


The biggest change we've done is probably though in our development cycle. Me and Kariem have now decided that we should have one release per week from now on. Or Kariem suggested it in fact, he thought (probably correct) that the sheer number of releases we've had per week now would "exhaust" our users and scare them away...

This weekly release will occur every Friday. And then every first Friday of the month we will increase the major version number. This means users can expect predictability and not have to download and install a new release every day.

We have some weeks had more releases in fact then there have been days and this have confused some of our users so we decided to have one release every Friday and (trying at least to) keep it to that.

Though occassionally some emergency bug might come into a release which we just have to fix before the next Friday, for such circumstances we will create a new release and name it "b", "c" and so on meaning if we had to do that with this release later before the next Friday it would be named "0.8.5-b".

So to recap; Every Friday you should expect a new Release of Ra-Ajax, and we will increase the third number, meaning next Friday 0.8.6 will be released. Though every 1st Friday of the month we will increase the Major number meaning the Friday two weeks from now we will release version number 0.9.0.

This means that the 1.0 release of Ra-Ajax will be released unless something goes wrong Friday the 2nd of January 2009 which is according to our current plan anyway...

PS!
My blog is a *great* resource to make sure you don't "miss out" so feel free to subscribe to it, though you may occassionally also get some political opinions, but bear with me her... I have difficulties shutting up about things I feel are important... ;)


The entire changelog for this cycle


In addition to the above changes we've also fixed about 20 minor bugs, I've copied the entire changelog in here below for you to read if you're curious;


-------------------------------------------------------------------------------

Version 0.8.5

This version have been a seriously "stabilizer" which means that we
haven't added up much features but probably all users will feel that
some parts of Ra-Ajax which had some bugs for them are now better and
far more stable in usage.

-------------------------------------------------------------------------------

* Added a more "formal process" to our development cycle. This changelog is one
example of that.
- This means we'll have (standardly) one release maximum per week, this will be
on Fridays. Hopefully every Friday. These are "maintenance releases".
- Then every first Friday of every month we will have a "major release" where
we will increase the major version number. This will make the 1.0 release hit
the download area first Friday in January 2009 if we succeed.

* Fixed a bug with setting focus which makes IE fail if DOM element is not visible
for some reasons (ancestor node might have display:none)
It still fails, but at least it fails without shutting down all future Ajax and
giving error messages.
Relevant for Calendar Starter-Kit.

* Fixed a display bug with IE in Calendar Starter-Kit which made the "Create new
Activity" window show up "skewed"...

* Changed the number of nodes in our "Huge Nodes Collection" TreeView - TreeNode
in the TreeView sample from 500 to 200 nodes since 500 has a bad tendency of
crashing IE...

* Brushed up some of the styles for the sample website. Blue borders around thumbs
etc...

* Fixed styling bug with Calendar in Combining Controls sample.

* Fixed a severe bug in InPlaceEdit which made the Text property being rendered
twice. This happened due to inheriting the InPlaceEdit from Label. It is now
inheriting from Panel.

* Added support for overriding the Tag property of the Panel - just as we've had
for a long time for the Label property. This means you can have a Panel render
as e.g.

etc...

* Fixed a bug in Window which makes all declaratively created Behaviors (including
BehaviorObscurer) attach to the Content control collection instead of the Window
itself. This creates "skewed visuals" for Obscurers on Window. This means BTW
that there is probably few if any reasons for giving the Obscurer an explicit
ZIndex property...

* Fixed a bug in BehaviorObscurer which made it obscure also the Control it was
ment to make modal if there's an HTML element in the page below the Form element
with absolute or relative position. Applies only for IE.

* Fixed a bug in BehaviorObscurer which made it not obscure the entire document
viewport in FireFox (and possibly other browsers too)

* Fixed a bug in BehaviorObscurer which made the obscurer NOT cover the entire
browser Viewport (always)
The Obscurer now should cover the Browser Viewport for ALL browser in ALL
scenarios!

* Fixed a bug in EffectMove which made IE fail if element did not have an
explicit top or left style before effect was initiated.

* Fixed hovering bugs in IE in Accordion skins "Sapphire" and "Steel". When
hovering in IE the skin changed to a color background which was not
intentionally.

* BehaviorObscurer will resize itself when browser is being resized.
Previously the Obscurer would never resize itself when browser was being
resized. This would previously make it possible to get to controls actually
behind the obscurer. The only part left to figure out is when scrolling
vertically...!

* Fixed height of "Create new activity" on Calendar Starter-Kit since some Safari
doesn't respect height style of input form elements...!

* You can now change the Visible property of TabViews inside of TabControls
in Ajax Callbacks

* You can now change the Caption property of TabViews in Ajax Callbacks

* The TabView now have an "Enabled" property which defaults to true. If
it is false then the TabView *cannot* bet set to the ActiveTab by
clicking it. You will also get visual clues in the skins of the TabControl
if you set this property to false...

* Added DefaultWidget property for Ra Panel (and therefore also Window etc)
which if defined will target the widget with the given ID for being clicked
when Enter key is pressed when something inside that Panel has focus.
Very useful for having default buttons being triggered when user clicks
enter inside a Panel. Kind of the same as DefaultButton from normal ASP.NET
Controls. Though DefaultWidget can target ANY type of Widget, including
CheckBoxes, DropDownLists etc in addition to Buttons. This ie because in
Ra-Ajax also non-button controls can observe the Click event...
When DefaultWidget is being triggered that Widget will also gain Focus.

* Fixed a bug in the internals of Ra-Ajax which made stopping events on both
Safari and Chrome not work. This means that everything in Ra-Ajax which
relied on being able to stop a DOM event from bubbling now works in both
Safari and Chrome (it wasn't really that much that relied on being abl to
stop events though)
Note that this only happens if you return "double false" from your JS event
handlers as in; [false, false]...!

* Fixed so that MouseOut does NOT trigger when mouse enters a child element
of the one handling the MouseOut event.

* Fixed so that MouseOver does NOT trigger when mouse re-enters from a child
element and back into the main surface of the control.



Have fun, we have all the time... :)

Thomas & Kariem...

Published Fri 21.Nov 08 - viewed 117 times - bookmarked 0 times

/.~ polterguy.blogspot.com


Header of Comment
Comment

Commenting as...


    0 comments in article...





    @ra_ajax_thomas
    There are 174 articles, 163 comments and 7 registered users around here