Friday, October 06, 2006

Radiant "Corex" Branch

If you are a core Radiant developer or you have been following the mailing list you have noticed the new "corex" branch. The goal of this branch is to improve the design of the software and to address certain shortcomings identified in Sepember. All the improvements are driven by unit tests. Here is the list of changes I have made to the software so far till revision 144:

1) Eliminate nested tag blocks, simplify internal architecture of the tag system.

class MyPage < Page

define_tag 'my_tag' do |tag|
...
end

define_tag 'your_tag' do |tag|
...
end

end

2) Move basic tags from PageContext to the Page class using the new tag system.

class Page

define_tag 'children:each' do |tag|
...
end
...

end

3) Exclude extraneous software components as plugins and develop more cohesive software core. As of revision 139 the following features have been excluded from the core and replaced by generic core unit tests:

* Archiver pages
* Test filters

4) Build Setup::Base class to intergrate setup scripts and database migrations

5) Ensure unit tests are generic as opposed to tailored to specific page types.

6) With revision 142 tags are inheritable.

class YourPage < Page

define_tag 'hello' do

'Hello world'
end

end

class MyPage < YourPage

define_tag 'hello' do

super + '!!!'
end


end