Re: [Radiant] So how did things go this weekend?

2008-10-28 Thread Josh French

Josh French -- please fill us in on what you and your group did on
Saturday; I missed a lot of that.




Andrew O'Brien, Mike Hale, Luke whose last name I am blanking on  
(apologies), and myself started work on extending the page class to  
accept arbitrary attributes -- booleans, integers, timestamps, c.  
This pattern shows up in numerous extensions and we saw a need for a  
generalized solution.


The primary goal was to expose a number of simple object types  
(single-dimensional data, like the existing metadata fields) and  
allow these to be managed via a mechanism similar to the page-parts  
interface. We're also aiming for a solution that can eventually be  
extended to accept complex data structures. You can follow our  
progress at http://github.com/jfrench/radiant-page-attributes.


j
___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant


Re: [Radiant] So how did things go this weekend?

2008-10-28 Thread Anton J Aylward
Sean Cribbs said the following on 10/28/2008 12:53 AM:
 [...].  Many bugs were squashed and edge cases discovered
 thanks to them, including an esoteric bug involving an extension that 
 only gets loaded in test mode.  We'll be reducing the number of 
 controller unit/functional specs and relying more on integration specs 
 going forward.

And can I just wave a magic GIT commadn and update my installation?

-- 
This isn't life in the fast lane, it's life in the oncoming traffic.
___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant


Re: [Radiant] So how did things go this weekend?

2008-10-28 Thread Adam van den Hoven
This is a brilliant idea. I know because I thought of it first ;). In  
our J2EE application we have a similar concept where any page can have  
an arbitrary collection of named attributes and we have code that can  
work with that code. We have a Tag Library that will write out a value  
of a named attribute, assume the value of the attribute is the path to  
a JSP and include it, and others that let us do conditional logic (if  
attribute Foo has a value of bar do this else do that). All of  
this, I expect, will make its way into radiant, if it hasn't already.


There is one piece of behaviour that I suspect you haven't  
implemented, but which turns out to be VERY useful. Right now, page  
parts are inheritable if the usage of the part says so, which is to  
say that the Radius tag has an attribute called inherit. In our  
application, we did it the other way. When I author a page, I get to  
say whether or not a attribute is inherited or not (and it defaults to  
inherited). This allows us to set values for a whole section easily  
(sparse population of data). It works out the same as it currently  
does with the parts in radiant with one exception. If I set a  
masthead_image attribute on page /products/widgets to widgets.gif  
then every page in /products/widgets gets that value, this is the  
same. However, I want the masthead_image attribute for /products/ 
widgets/legal to have a value of pirate.gif but it only applies to  
that one page and  /products/widgets/legal/privacy should have a value  
of widgets.gif. In our system, we simply flag the attribute on / 
products/widgets/legal as being local and it only applies to that  
one page, its descendants get their value from its parent. With the  
current logic, I would have to go in and set the attribute on each  
child page and if this is something I need for my visual design, a  
content author is not likely to know to set the attribute unless I  
tell them but on any sufficiently complex project that will be  
difficult to maintain.


Adam


On 28-Oct-08, at 7:04 AM, Josh French wrote:


Josh French -- please fill us in on what you and your group did on
Saturday; I missed a lot of that.




Andrew O'Brien, Mike Hale, Luke whose last name I am blanking on  
(apologies), and myself started work on extending the page class to  
accept arbitrary attributes -- booleans, integers, timestamps, c.  
This pattern shows up in numerous extensions and we saw a need for a  
generalized solution.


The primary goal was to expose a number of simple object types  
(single-dimensional data, like the existing metadata fields) and  
allow these to be managed via a mechanism similar to the page-parts  
interface. We're also aiming for a solution that can eventually be  
extended to accept complex data structures. You can follow our  
progress at http://github.com/jfrench/radiant-page-attributes.


j
___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant


___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant


Re: [Radiant] So how did things go this weekend?

2008-10-28 Thread Tim Gossett
On Tue, Oct 28, 2008 at 3:46 PM, Adam van den Hoven 
[EMAIL PROTECTED] wrote:


 The benefit is being able to sparsely populate data. Where the content
 author is the person doing the technical admin, its not an issue. but if you
 have many non-technical authors (a good reason for using a CMS) then
 sparsely (only where you want  things to change) is very beneficial.


I agree that sparsely populating data is a benefit of the inheritance of
page parts (and other things which may be inherited). But the current method
of specifying inherit=true in the Radius tag enjoys this benefit, and
making inheritance the default (so that local=true is used for Radius tags
which should not be inherited) doesn't add anything.

Your example of the widgets image (a page variable) being set for
/products/widgets and being inherited by /products/widgets/legal/privacy,
and then setting that same page variable to a pirate image just for
/products/widgets/legal, I think is made moot by the paperclipped and
page_attachments extensions. I'm having a hard time thinking of any other
use case where your suggestion would be easier than just r:var name=foo
inherit=true /. Page attributes like created_at, updated_at, title,
meta_description, meta_keywords, etc., all seem like things that should *not
* be inherited by default.

Perhaps you're just pointing out the ideal behavior already present in
extensions like the mailer extension, that makes available
extension-specific tags available which make sense to be inherited by
default. In one Radiant site, I've placed all of the configuration necessary
for a mailer form on the Home page (page parts mailer, email_plain,
email_html). Then I have the following:

email_form snippet:

r:mailer:form name=contact … /r:mailer:form

sidebar page part of Home page:

r:snippet name=email_form /

In my layout:

r:content part=sidebar inherit=true /

The mailer extension automatically inherits the configuration page parts to
the rendering page, and everything works nicely.

I think this behavior is extremely useful on a per-extension basis, but I'm
not sure it has a place in core.

--
Tim
___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Re: [Radiant] So how did things go this weekend?

2008-10-27 Thread Sean Cribbs

Thanks for the poke, Nate.  Working on a blog post...

Sean

Nate Turnage wrote:

Is everybody still asleep after the long weekend? I am dying to hear how
things went with the sprint. Sean? John? Anyone?



~Nate
___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

  


___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant


Re: [Radiant] So how did things go this weekend?

2008-10-27 Thread John W. Long

On Oct 27, 2008, at 8:59 PM, Nate Turnage wrote:
Is everybody still asleep after the long weekend? I am dying to hear  
how

things went with the sprint. Sean? John? Anyone?


It was a great weekend Nate. Sean headed up the work on the code and I  
worked with people who were interested in helping implement the new  
design. I'll let Sean tell you more about the work that was begun on  
code, but I can tell you a little of what was accomplished on the  
design side.


The most visible stuff was integrating the work Chris Parrish has done  
on the HTML for the new design. You can see some of the results in the  
prototype. (There's a README in the prototype project on GitHub for  
getting it up and running.)


Jim Gay spent some time working on rewriting the HTML for the treeview  
to use a list instead of a table. He didn't complete it, but some  
valuable things were learned along the way and we had some good  
discussions about how the real-estate can be better used on the pages  
tab.


Daniel Beach worked on the HTML for custom page attributes. When this  
is integrated it will make it easier for people to add custom  
attributes to pages for configuration and some of the other things  
that they are using page parts for. You can see some of the results in  
his fork of the radiant prototype.


Justin Blecher did some wireframes that sparked some of the treeview  
discussions and wrote up some excellent suggestions for improvements  
to the website and documentation.


I pretty much presided over the work being done and talked a lot. :-)  
To me the most valuable part of the weekend was not so much the work  
that was done, but the relationships that were formed. I am hoping  
that the groundwork was laid for some exciting contributions from  
folks in the future.


As a side note anyone interested in helping with design stuff on  
Radiant should check out the radiant-mockups and radiant-prototype  
projects on GitHub. The mockups project contains a lot of the ideas  
for the new UI. And the prototype contains the HTML for some of the  
new things that are being developed. If you are interested in helping,  
fork the prototype, implement your idea, and tell us about it on the  
mailing list. If we like it, your changes will be incorporated into  
the official prototype and will be slated for development for sometime  
in the future. Also contributions and improvements on the HTML and CSS  
are welcome!


--
John
___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant


Re: [Radiant] So how did things go this weekend?

2008-10-27 Thread Sean Cribbs
Since John passed the ball to me, it'll probably be easier to write an 
email first than a blog post.


The primary goal I had for this weekend was to make headway on a 
refactoring of the admin interface toward a conventional RESTful 
design.  These changes will be rolled into the 0.6.10 release to give 
time for developers to update their extensions before 0.7.


Clinton Nixon helped refine the design of the parent controller for all 
primary resources in the interface and converted a number of the 
controllers and their specs to the new design.


Rick DeNatale showed up midday and paired with me while I was working on 
refactoring the Page interface, which happens to be the most complicated 
one.  Like a good pairing partner, he kept me honest about writing specs.


Adam Williams started writing integration specs for the admin interface 
using his spec_integration plugin and was joined midday by Mark Imbriaco 
in a pairing session.  Many bugs were squashed and edge cases discovered 
thanks to them, including an esoteric bug involving an extension that 
only gets loaded in test mode.  We'll be reducing the number of 
controller unit/functional specs and relying more on integration specs 
going forward.


Brian Landau worked on creating an extension migration generator and 
specifications for the other generators.


Andrew O'Brien implemented a much needed and obviously missing to_slug 
method for the String class, among other things.


As I mentioned before, I worked on creation of the 
Admin::ResourceController and conversion of most of the existing 
controllers to the RESTful design.  In the course of this, I was able to 
contend with the dirty-tracking feature of Rails 2.1.  The existing 
models, including Page, should act as expected.


You can follow our work in the 'rest' branch of the core repository.  
This branch will be squash-merged once ready for the mainstream.


Josh French -- please fill us in on what you and your group did on 
Saturday; I missed a lot of that.


Cheers,

Sean
___
Radiant mailing list
Post:   Radiant@radiantcms.org
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant