Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Nitro + Og 0.27.0 Client code, WebFile, Elements improved, New examples RDocs

2 views
Skip to first unread message

George Moschovitis

unread,
Jan 16, 2006, 9:32:13 AM1/16/06
to
Dear devs,

new versions of Nitro and Og where just released

homepage: http://www.nitrohq.com
install: gem install nitro
download: http://rubyforge.org/projects/nitro/
irc: irc.freenode.net #nitro
mailing list: http://rubyforge.org/pipermail/nitro-general/

Whats new:

Once again we have a great mix of cool new features, along
with bugfixes and a myriad of smaller improvements. Go and
download the most advanced Ruby Web/ORM Framework you can find.

Most notable changes:

* Added groundbreaking client side action/scripting support:

class FlickrDemo < Nitro::Controller
helper :javascript

class Client
# Actions defined here are executed as javescript in the
# browser.
def clear_me
hide :hide_me
end

def grab
ajax_upadate ...
end
end
end

in the template:

<div id="hide_me">...</div>
<a client="clear_me">clear</a>

the client element is converted to a javascript call that
executes the code in the client action. A domain specific
language is provided for the client action to implement stuff
like ajax async updates, scriptaculous visual fx and more.

* A collection of morphers to work along with client actions.
Here are some examples:

<!-- make a div draggable -->
<div id="hello" draggable="true">Drag me</div>

<!-- autocomplete a text field -->
<input type="text" name="tags" auto_complete="true" />

in the controller:

def tags_auto_complete
%{
<ul>
<li>navel</li>
<li>nitro</li>
<li>sexy</li>
</ul>
}
end

More stuff is coming in future versions.

* Greatly imporoved the Elements system. The ElementMixin module
is auto-injected if missing. Nitro automatically transforms
xhtml template files in the Element.template_root into
Element classes for even better separation of code and design.
A simple Rails style layout helper is implememnted on top of
the general and powerful Elements mechanism for people familiar
with Rails.

* New WebFile system. Uploading files and handling photos was
never easier:

class Photo
is Timestamped
is Taggable
property :title, String
property :file, WebFile, :magick => { :small => '64x64', :medium
=> '128x128' }
end

# the upload action

def upload
photo = Photo.assign(request)
photo.save
end

This saves the photo, and creates 2 thumbnails. You can easily
access the photo and thumbnails like this:

<img src="#{photo.file_medium_thumbnail}" />
<img src="#{photo.file_small_thumbnail}" />

ie obj.{propertyname}_#{thumbname}_thumbnail

* Og live collections support accumulation. Here is an example:

class Category
has_many :projects
end

class Project
has_many :clients
end

class Client
end

clients = category.projects.clients

# => returns all clients for this category!

* Improved TableHelper, better configurability, more skinnable,
sorting support and more.

* Added some intelligent auto-discovery features to minimize the
setup code. For example helpers are automatically loaded, and
the template_root is auto-discovered.

* Optimized the autoreloading system to only reload the dirty
files. In fact the new autoreloading system is so efficient
that it is enables by default even in live/production mode.

* Added Flickr, a great new example that shows off the new
javascript integration and AJAX features of Nitro.

* Added Gallery example to demonstrate the new WebFile
functionality.

* Improved the generated RDOC comments.

* Fixes in CGI adapter.

* Added evolution support to the KirbyBase adapter.

* Updated to scriptaculous 1.5.1

* Scaffolding - auto admin interface improvements.

* Added setup.rb for non-gem installation (experimental).

* Added ACGI adapter (experimental).

Nitro provides everything you need to develop professional Web
applications using Ruby and Javascript. Nitro redefines Rapid
Application Development by providing a clean, yet efficient API,
a layer of domain specific languages implemented on top of
Ruby and the most powerful and elegant object relational
mapping solution available everywhere.


have fun,
George Moschovitis


--
http://www.nitrohq.com
http://www.gmosx.com
http://www.navel.gr


John W. Long

unread,
Jan 16, 2006, 9:44:34 AM1/16/06
to
George Moschovitis wrote:
> Whats new:
>
> Once again we have a great mix of cool new features, along
> with bugfixes and a myriad of smaller improvements. Go and
> download the most advanced Ruby Web/ORM Framework you can find.
>
> Most notable changes:
>
> * Added groundbreaking client side action/scripting support:
> . . .

>
> * New WebFile system. Uploading files and handling photos was
> never easier:
> . . .
>

Amazing. Keep up the good work George!

--
John Long
http://wiseheartdesign.com


George Moschovitis

unread,
Jan 16, 2006, 10:00:39 AM1/16/06
to
> Amazing. Keep up the good work George!

Ehm, I don't deserve all the credit.
The latest Nitro/Og releases are a real community effort ;-)


-g.


--
http://www.gmosx.com
http://www.navel.gr
http://www.nitrohq.com


itsme213

unread,
Jan 16, 2006, 3:30:44 PM1/16/06
to
> clients = category.projects.clients
> # => returns all clients for this category!

But what about methods defined on Og collections e.g. #size? What would
category.projects.size
do? If size was defined as a property on Project as well?

Thanks.


Shashank Date

unread,
Jan 16, 2006, 11:57:05 PM1/16/06
to
Hi George,

I am following the progress of Nitro/Og with great interest and plan to use it on my next project. Mean while, is there any eStore kind of app out there somewhere? Are there plans to interface payment gateways in near future?

Thanks,
-- shanko

Whats new:

Most notable changes:

in the template:

...

clear

the client element is converted to a javascript call that
executes the code in the client action. A domain specific
language is provided for the client action to implement stuff
like ajax async updates, scriptaculous visual fx and more.

* A collection of morphers to work along with client actions.
Here are some examples:


Drag me

[input]

in the controller:

def tags_auto_complete
%{


navel

nitro

sexy


}
end

# the upload action

class Client
end

clients = category.projects.clients


have fun,
George Moschovitis


---------------------------------
Yahoo! Photos
Ring in the New Year with Photo Calendars. Add photos, events, holidays, whatever.

George Moschovitis

unread,
Jan 18, 2006, 6:16:58 AM1/18/06
to
>
> I am following the progress of Nitro/Og with great interest and plan to use it on my next project. Mean while, is there any eStore kind of app out there somewhere? Are there plans to interface payment gateways in near future?

Hello, I know that www.motionpath.co.uk have released a number of
e-store applications powered by Nitro/Og. Moreover, you can use some
Ruby bindings for payment gateways with Nitro. Have a look at
rubyforge.org for more details.

guest

unread,
Jan 18, 2006, 11:12:25 PM1/18/06
to
George Moschovitis wrote:
>>
>> I am following the progress of Nitro/Og with great interest and plan to use it on my next project. Mean while, is there any eStore kind of app out there somewhere? Are there plans to interface payment gateways in near future?
>
> Hello, I know that www.motionpath.co.uk have released a number of
> e-store applications powered by Nitro/Og. Moreover, you can use some
> Ruby bindings for payment gateways with Nitro. Have a look at
> rubyforge.org for more details.
>
> -g.

perhaps you could keep an eye on the site? it seems to be DEAD most of
the time?

--
Posted via http://www.ruby-forum.com/.


0 new messages