Discussion:
TDD for web applications
Syver Enstad
2005-08-03 14:16:52 UTC
Permalink
Are there any good resources on TDD for web applications?






To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Bil Kleb
2005-08-03 14:53:51 UTC
Permalink
Post by Syver Enstad
Are there any good resources on TDD for web applications?
Mike Clark's testing chapter in the new Ruby on Rails (RoR) book,

http://www.pragmaticprogrammer.com/titles/rails/

and the RoR testing Howtos,

http://wiki.rubyonrails.com/rails/show/HowtosTesting

Regards,
--
Bil
http://fun3d.larc.nasa.gov

P.S. It's nice to see a web app developed by an XP practitioner
get some limelight: http://osdir.com/Article6677.phtml


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Cory Foy
2005-08-03 15:14:02 UTC
Permalink
Post by Syver Enstad
Are there any good resources on TDD for web applications?
It depends on what language and what you are looking to do.

If you need to test legacy web apps, you can use something like Selenium
[1], or if you are using ASP.NET, NUnitASP [2].

For test driving apps, your best approach is to follow the Model-View
Presenter [3] pattern and make your GUI layer as thin as possible. Check
out the Test-First User Interfaces [4] group. If you are using .NET, I
did a presentation a couple of months back at an MSDN Code Camp that
might help [5].

For test-driving things like HTML and Javascript, you have HtmlUnit [6]
and JsUnit [7]

For J2EE apps, it is recommended to make your GUI layer as thin as
possible, and use JUnit [8] to test drive your business and presentation
logic.

In fact, overall, your best bet is to move as much business and
presentation logic out of the pages themselves into business objects you
can test (and mock).

Finally, there is a book out there called Extreme Programming for Web
Projects [9]. It is worth looking at if you do a lot of static,
brochureware sites, but I don't think it's worth it if you do any kind
of dynamic elements to your site.

[1] - http://selenium.thoughtworks.com/
[2] - http://nunitasp.sourceforge.net/
[3] - http://www.martinfowler.com/eaaDev/ModelViewPresenter.html
[4] - http://groups.yahoo.com/group/TestFirstUserInterfaces/
[5] - http://www.cornetdesign.com/2005/04/msdn-code-camp-success.html
[6] - http://htmlunit.sourceforge.net/
[7] - http://www.edwardh.com/jsunit/
[8] - http://www.junit.org
[9] - http://www.amazon.com/exec/obidos/ASIN/0201794276

Cory



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-03 15:27:02 UTC
Permalink
Post by Cory Foy
Finally, there is a book out there called Extreme Programming for Web
Projects [9]. It is worth looking at if you do a lot of static,
brochureware sites, but I don't think it's worth it if you do any kind
of dynamic elements to your site.
[9] - http://www.amazon.com/exec/obidos/ASIN/0201794276
To be fair to this book, it is more about how to involve the "creative
process", i.e. artists, designer, etc., into the XP team. Up until
this point, all the other books in the XP library did not explain how
to fit these people into a team of mostly programmers. It does
provide some advice on one way to develop a web application using XP
that isolates the UI from the buisness - XML\XSLT. It is not entirely
too specific, but there are a few nuggets in there.

Carlton





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Thomas Eyde
2005-08-04 00:45:08 UTC
Permalink
In danger of going off-topic:

How does XML/XSLT separate UI from business? And how would you design
an app like that?

I think, after my one and only attempt and failure, that with XML/XSLT
we have done nothing but moved from one technology to another. We have
still to create the UI artifacts, but now we have to create two
artifacts for the earlier one.

Besides, XML/XSLT is way harder to create than HTML, even XHTML/CSS.
So why will anyone want to do that?

--
Thomas
Post by banshee858
It does
provide some advice on one way to develop a web application using XP
that isolates the UI from the buisness - XML\XSLT. It is not entirely
too specific, but there are a few nuggets in there.
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Cory Foy
2005-08-04 03:43:22 UTC
Permalink
Post by Thomas Eyde
How does XML/XSLT separate UI from business? And how would you design
an app like that?
Well, the book seems to provide it as an abstraction layer. So the
designers never have to worry about what the "programmers" are building
- as long as it outputs XML
Post by Thomas Eyde
I think, after my one and only attempt and failure, that with XML/XSLT
we have done nothing but moved from one technology to another. We have
still to create the UI artifacts, but now we have to create two
artifacts for the earlier one.
Besides, XML/XSLT is way harder to create than HTML, even XHTML/CSS.
So why will anyone want to do that?
Well, one section talks about XsltUnit. Again, if you are faced with the
challenge of trying to implement some of the XP practices, but getting
push back from the programmers, then having the output raw data you can
do the tests yourself.

They also continue on to have ways of testing the site as a whole
through a site map using the XML and XSLT.

In my case, the "programmer" and the "designer" are a tightly knit team
of one. Me. And besides, I like NUnit and JUnit a whole lot more. :)

I do have to say that I think my initial impression of the book might
have been off. I bought it as a technical guide because I was facing a
specific problem, and it didn't help at all. But flipping through it
again tonight made me realize I might have missed some other information
and will be giving it another read through.

Cory


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
William Pietri
2005-08-04 05:52:10 UTC
Permalink
Post by Cory Foy
Post by Thomas Eyde
How does XML/XSLT separate UI from business? And how would you design
an app like that?
Well, the book seems to provide it as an abstraction layer. So the
designers never have to worry about what the "programmers" are building
- as long as it outputs XML
It's an appealing theory, but I regret to say I've never seen this work
particularly well in practice. I think it's akin to saying the
programmers never have to worry about what those database guys are up to
because there's this neat language, SQL, in between.

Doing all that transforming is pretty resource-intensive; one large site
I know of spends 30-40% of their CPU budget on XSLT. And as languages
go, XSLT is hard for most programmers, let alone most visual designers.
I saw a lot of complicated hacks on both sides because somebody was
afraid to touch code in the other language.

These days the approach I'm most happy with for the programmer/designer
division of labor is the "CSS with Minimal Tables" approach described
here:

http://developer.apple.com/internet/webcontent/bestwebdev.html

Developers and designers collaborate on a pretty spare HTML page, and
then most of the magic (and most of the design tinkering) happens in
CSS.

Done like this, I've even done sites that eliminate HTML templates
altogether: because the markup is so minimal, it fits tidily in your
code. With the markup in the code, it's easy to unit test. Even better,
it's easy to refactor, so that you end up with a library of HTML display
widgets.


William
--
William Pietri <***@scissor.com>



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Cory Foy
2005-08-04 07:47:23 UTC
Permalink
Post by William Pietri
It's an appealing theory, but I regret to say I've never seen this work
particularly well in practice. I think it's akin to saying the
programmers never have to worry about what those database guys are up to
because there's this neat language, SQL, in between.
Doing all that transforming is pretty resource-intensive; one large site
I know of spends 30-40% of their CPU budget on XSLT. And as languages
go, XSLT is hard for most programmers, let alone most visual designers.
I saw a lot of complicated hacks on both sides because somebody was
afraid to touch code in the other language.
Oh, I completely agree. I've tried it once before myself and it didn't
work well either.

But, they aren't necessarly targetting doing this on the fly. Their
process is more about generating the files using XSLT. So you'd have a
processor hit, but it would be offline.

Cory


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-04 16:17:36 UTC
Permalink
Post by Thomas Eyde
How does XML/XSLT separate UI from business? And how would you
design an app like that?
All your business objects write XML. The XML can be validated using
any unit testing strategy. Then you use XSLT to transform the the XML
to HTML. You still have the issues of the UI not being tested. Also,
let your "creative" types work on the XSLT.

Carlton




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Thomas Eyde
2005-08-05 08:35:14 UTC
Permalink
Post by banshee858
Post by Thomas Eyde
How does XML/XSLT separate UI from business? And how would you
design an app like that?
All your business objects write XML. The XML can be validated using
any unit testing strategy. Then you use XSLT to transform the the XML
to HTML. You still have the issues of the UI not being tested. Also,
let your "creative" types work on the XSLT.
That doesn't really answer my question. I don't need XML to unit test my code.

But I am looking for the practical approach. I don't see how XML/XSLT
is even remotely practical. And my creative types fire up their Dream
Weaver and spit out some really nice looking HTML. So their artifacts
are HTML. Why should we complicate that with something none of us can
maintain with our regular tools?

--
Thomas


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Syver Enstad
2005-08-05 08:44:57 UTC
Permalink
Post by Thomas Eyde
Post by banshee858
Post by Thomas Eyde
How does XML/XSLT separate UI from business? And how would you
design an app like that?
All your business objects write XML. The XML can be validated using
any unit testing strategy. Then you use XSLT to transform the the XML
to HTML. You still have the issues of the UI not being tested. Also,
let your "creative" types work on the XSLT.
That doesn't really answer my question. I don't need XML to unit test my code.
But I am looking for the practical approach. I don't see how XML/XSLT
is even remotely practical. And my creative types fire up their Dream
Weaver and spit out some really nice looking HTML. So their artifacts
are HTML. Why should we complicate that with something none of us can
maintain with our regular tools?
To be buzzword compliant of course.

On a more serious note. You could take advantage of this if you
consider the XML as a kind of abstract user interface. If you needed
to vary you user interface for different audiences you could just have
different transformations to generate the different pages. This is
called the Two Step View pattern and is described Fowler's book on
Enterprise Application Architecture.




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Cory Foy
2005-08-05 11:34:14 UTC
Permalink
Post by Thomas Eyde
But I am looking for the practical approach. I don't see how XML/XSLT
is even remotely practical. And my creative types fire up their Dream
Weaver and spit out some really nice looking HTML. So their artifacts
are HTML. Why should we complicate that with something none of us can
maintain with our regular tools?
Of course it isn't going to seem practical /to you/ because you have
code and have tools that do it already. But I've worked before on
brochureware sites that have no code or tools - they are just HTML. And
yes, there is HttpUnit and HtmlUnit, but I couldn't have imagined giving
*that* to the marketing folks.

Cory


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Thomas Eyde
2005-08-05 19:13:39 UTC
Permalink
Post by Cory Foy
Of course it isn't going to seem practical /to you/ because you have
code and have tools that do it already. But I've worked before on
brochureware sites that have no code or tools - they are just HTML. And
yes, there is HttpUnit and HtmlUnit, but I couldn't have imagined giving
*that* to the marketing folks.
Please excuse me for being a little dense here, but I don't
understand: If everything is just HTML, aren't you done when the HTML
is ready?

--
Thomas


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Cory Foy
2005-08-05 19:26:38 UTC
Permalink
Post by Thomas Eyde
Post by Cory Foy
Of course it isn't going to seem practical /to you/ because you have
code and have tools that do it already. But I've worked before on
brochureware sites that have no code or tools - they are just HTML. And
yes, there is HttpUnit and HtmlUnit, but I couldn't have imagined giving
*that* to the marketing folks.
Please excuse me for being a little dense here, but I don't
understand: If everything is just HTML, aren't you done when the HTML
is ready?
You aren't being dense at all.

(Disclaimer - I also have not used this approach, and can't actually
imagine doing it like this. YMMV - unless you are off the road :))

The site I keep thinking back to was the web site of a credit union I
worked for. When I first came on board it was a brochureware site that
had been created by a marketing company. No dynamic anything. And let's
say that we wanted to be able to do things like change credit card
rates, and know that the change propegated through the whole site. I had
to do this, and it was a very manual process, and I still missed a page.

Now, let's pretend that instead of HTML on all the pages, I had things
like Credit Card rates, etc, in an XML document, and we just ran an XSL
converter to output the HTML. So, I set it up to do the transformations.
Now, if the marketing people ever need to change the rates, they can
just modify the XML document, regen the HTML, and republish it. Also, if
they need to make tweaks to the layout, they can do that as well. And
they can be sure that any changes they make gets propegated to the whole
site.

But, now they have such good content management systems out there that
doing something like this doesn't really make a lot of sense. But for a
bare bones implementation where they don't have any server side
technology, and no technical staff, it could work. But, since I can
spend $200 bucks, install Linux, MySQL, PHP and an open-source CMS, I
would rather spend the money out of my own pocket then try to manage an
XML/XSLT based solution.

Cory



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Sean Gilbertson
2005-08-05 19:49:51 UTC
Permalink
What CMS would you use to do this? I'm not that familiar with CMS projects I suppose; I don't know how many features they provide and how generic they are.
Post by Cory Foy
Post by Thomas Eyde
Post by Cory Foy
Of course it isn't going to seem practical /to you/ because you have
code and have tools that do it already. But I've worked before on
brochureware sites that have no code or tools - they are just HTML. And
yes, there is HttpUnit and HtmlUnit, but I couldn't have imagined giving
*that* to the marketing folks.
Please excuse me for being a little dense here, but I don't
understand: If everything is just HTML, aren't you done when the HTML
is ready?
You aren't being dense at all.
(Disclaimer - I also have not used this approach, and can't actually
imagine doing it like this. YMMV - unless you are off the road :))
The site I keep thinking back to was the web site of a credit union I
worked for. When I first came on board it was a brochureware site that
had been created by a marketing company. No dynamic anything. And let's
say that we wanted to be able to do things like change credit card
rates, and know that the change propegated through the whole site. I had
to do this, and it was a very manual process, and I still missed a page.
Now, let's pretend that instead of HTML on all the pages, I had things
like Credit Card rates, etc, in an XML document, and we just ran an XSL
converter to output the HTML. So, I set it up to do the transformations.
Now, if the marketing people ever need to change the rates, they can
just modify the XML document, regen the HTML, and republish it. Also, if
they need to make tweaks to the layout, they can do that as well. And
they can be sure that any changes they make gets propegated to the whole
site.
But, now they have such good content management systems out there that
doing something like this doesn't really make a lot of sense. But for a
bare bones implementation where they don't have any server side
technology, and no technical staff, it could work. But, since I can
spend $200 bucks, install Linux, MySQL, PHP and an open-source CMS, I
would rather spend the money out of my own pocket then try to manage an
XML/XSLT based solution.
Cory
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
--
Sean Gilbertson
IT Systems/Software Developer


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Cory Foy
2005-08-05 20:00:28 UTC
Permalink
Post by Sean Gilbertson
What CMS would you use to do this? I'm not that familiar with CMS
projects I suppose; I don't know how many features they provide and how
generic they are.
I don't know - it depends on the situation on how much money they are
wanting to spend. :)

When I worked for Hillsborough County we evaluated several CMS systems,
and they all worked nicely - we just didn't want to give that level of
control to the departments, so we ended up not going with any.

I've used a couple of open source ones (Mambo and CWIAB) and both seem
to work well for their intended purpose.

Cory



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-05 15:33:17 UTC
Permalink
Post by Thomas Eyde
That doesn't really answer my question. I don't need XML to unit test my code.
But I am looking for the practical approach. I don't see how XML/XSLT
is even remotely practical. And my creative types fire up their Dream
Weaver and spit out some really nice looking HTML. So their artifacts
are HTML. Why should we complicate that with something none of us can
maintain with our regular tools?
I am not doing the suggested solution any justice since I am working
off of two-year-old and I don't have that book in my office. I
believe the the XML is the interface in which the programmers
communicate with the "creative" people. If an entire webpage is
"simply" XML, then "all you need to do" is use XSLT to make HTML from it.

I would suggest anyone somewhat interested in this one solution check
out the book in the library. Best to read it yourself and see if it
makes any sense to what you are trying to accomplish.

Carlton





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
William Pietri
2005-08-05 15:51:28 UTC
Permalink
Hi, Carlton! I'm no picking on you here; this is a sincere question for
Post by banshee858
I am not doing the suggested solution any justice since I am working
off of two-year-old and I don't have that book in my office. I
believe the the XML is the interface in which the programmers
communicate with the "creative" people. If an entire webpage is
"simply" XML, then "all you need to do" is use XSLT to make HTML from it.
Has anybody seen this work well in practice?

William
--
William Pietri <***@scissor.com>



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
David H.
2005-08-05 15:57:31 UTC
Permalink
Post by William Pietri
Hi, Carlton! I'm no picking on you here; this is a sincere question for
Post by banshee858
I am not doing the suggested solution any justice since I am working
off of two-year-old and I don't have that book in my office. I
believe the the XML is the interface in which the programmers
communicate with the "creative" people. If an entire webpage is
"simply" XML, then "all you need to do" is use XSLT to make HTML from it.
Has anybody seen this work well in practice?
What exactly the " If an entire webpage is "simply" XML, then "all you
need to do" is use XSLT to make HTML from it." part?
If so, yes. Just look at any axkit enabled web-site. I have also seen
numerous static implementations that work very well.
--
Sent from gmail so do not trust this communication.
Do not send me sensitive information here, ask for my none-gmail accounts.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Sean Gilbertson
2005-08-05 16:03:50 UTC
Permalink
I'd never heard of axkit, so I looked it up.

From the site: " Apache AxKit is an XML Application Server for Apache. It provides on-the-fly conversion from XML to any format, such as HTML, WAP or text using either W3C standard techniques, or flexible custom code. [..] AxKit makes the separation of content and presentation a practical reality. The pipelining technique that AxKit uses allows content to be converted to a presentable format in stages, allowing certain platforms to see data differently to others."

Now that does sound neat. I checked out some of the "Live Sites," and (using the "Web Developer" Firefox extension) I was able to see how some of the sites actually did have different presentations for screen and "handheld," for example.

It's alluring to think that I can actually separate data from presentation whilst keeping both flexible. Does anyone have any comments?
Post by David H.
Post by William Pietri
Hi, Carlton! I'm no picking on you here; this is a sincere question for
Post by banshee858
I am not doing the suggested solution any justice since I am working
off of two-year-old and I don't have that book in my office. I
believe the the XML is the interface in which the programmers
communicate with the "creative" people. If an entire webpage is
"simply" XML, then "all you need to do" is use XSLT to make HTML from it.
Has anybody seen this work well in practice?
What exactly the " If an entire webpage is "simply" XML, then "all you
need to do" is use XSLT to make HTML from it." part?
If so, yes. Just look at any axkit enabled web-site. I have also seen
numerous static implementations that work very well.
--
Sent from gmail so do not trust this communication.
Do not send me sensitive information here, ask for my none-gmail accounts.
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
--
Sean Gilbertson
IT Systems/Software Developer


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Ken Boucher
2005-08-05 17:22:26 UTC
Permalink
Post by Sean Gilbertson
It's alluring to think that I can actually separate data from
presentation whilst keeping both flexible. Does anyone have any
comments?
http://www.csszengarden.com/

A long time ago two different sites were created for the purpose of
showing how to use CSS to keep content and presentation completely
separate. Oddly enough both sites decided to use Zen as a central
theme. By far, the better of these two sites is csszengarden. I've
learned a lot from that site.

Sometimes, to the loser, also goes the spoils.





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Thomas Eyde
2005-08-05 18:56:09 UTC
Permalink
Now we're talking HTML/XHTML + CSS. That's different. It works. And
http://www.csszengarden.com/ it's a great site.

--
Thomas
Post by Ken Boucher
Post by Sean Gilbertson
It's alluring to think that I can actually separate data from
presentation whilst keeping both flexible. Does anyone have any
comments?
http://www.csszengarden.com/
A long time ago two different sites were created for the purpose of
showing how to use CSS to keep content and presentation completely
separate. Oddly enough both sites decided to use Zen as a central
theme. By far, the better of these two sites is csszengarden. I've
learned a lot from that site.
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
William Pietri
2005-08-05 16:10:33 UTC
Permalink
Post by David H.
Post by William Pietri
Post by banshee858
I
believe the the XML is the interface in which the programmers
communicate with the "creative" people. If an entire webpage is
"simply" XML, then "all you need to do" is use XSLT to make HTML from it.
Has anybody seen this work well in practice?
What exactly the " If an entire webpage is "simply" XML, then "all you
need to do" is use XSLT to make HTML from it." part?
If so, yes. Just look at any axkit enabled web-site.
Sorry, I mean XML as an interface for a team of programmers to
communicate with the creative people, who then use XSLT. I believe the
technologies work as advertised. I'm skeptical about the team
organization and working relationships that it implies.

I initially found the idea pretty appealing. But while advising a couple
of teams working in a context like that, the practical realities seemed
pretty awful, especially for teams trying to be agile.

William
--
William Pietri <***@scissor.com>



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-05 17:10:09 UTC
Permalink
Post by William Pietri
Hi, Carlton! I'm no picking on you here; this is a sincere question
Has anybody seen this work well in practice?
That is probably a good question for the authors of the book - Doug
Wallace, Isobel Raggett and Joel Aufgang.

Personal disclaimer: I have NOT used this method for creating
webpages, so I cannot comment as to how effective it is for Agile
teams. I believe I understand the concept they were trying to impart.
I was simply reporting that "Extreme Programming for Web Projects"
had a few diamonds in the rough worth hunting for.

Carlton




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Ron Jeffries
2005-08-05 16:20:12 UTC
Permalink
I believe the the XML is the interface in which the programmers
communicate with the "creative" people.
I was struck by this phrase. It made me reflect on what an
incredibly poor language XML is for communicating between people.

Ron Jeffries
www.XProgramming.com
How do I know what I think until I hear what I say? -- E M Forster



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
William Pietri
2005-08-05 16:33:09 UTC
Permalink
Post by Ron Jeffries
I believe the the XML is the interface in which the programmers
communicate with the "creative" people.
I was struck by this phrase. It made me reflect on what an
incredibly poor language XML is for communicating between people.
Heh. Well, at least XSLT is a language that's really easy for graphic
designers to use. ;-)

William
--
William Pietri <***@scissor.com>



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Ron Jeffries
2005-08-05 17:05:57 UTC
Permalink
Post by William Pietri
Post by Ron Jeffries
I believe the the XML is the interface in which the programmers
communicate with the "creative" people.
I was struck by this phrase. It made me reflect on what an
incredibly poor language XML is for communicating between people.
Heh. Well, at least XSLT is a language that's really easy for graphic
designers to use. ;-)
Good point, I had forgotten that key fact ...

Ron Jeffries
www.XProgramming.com
The opinions expressed here /are/ necessarily those of XProgramming.com.
But I might change my mind.



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-05 17:21:02 UTC
Permalink
Post by Ron Jeffries
I believe the the XML is the interface in which the programmers
communicate with the "creative" people.
I was struck by this phrase. It made me reflect on what an
incredibly poor language XML is for communicating between people.
Hmmm...that was a bad sentence on my part since I was not suggesting
that all you do is toss some XML over the wall and say "Now you work
on it".

Let me be more precise: the XML file generated is the semi-stable
artifact which the graphic designers and UI people use to work their
magic. From my understanding, once you define what the XML DOM will
look like, you can give the designers an XML file to work on and the
programmers can then code to the XML interface.

Carlton







To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Thomas Eyde
2005-08-05 18:57:57 UTC
Permalink
How many designers understand or know how to work with XML, or have
tools to do so?

--
Thomas
Post by banshee858
Let me be more precise: the XML file generated is the semi-stable
artifact which the graphic designers and UI people use to work their
magic. From my understanding, once you define what the XML DOM will
look like, you can give the designers an XML file to work on and the
programmers can then code to the XML interface.
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-05 19:13:53 UTC
Permalink
Post by Thomas Eyde
How many designers understand or know how to work with XML, or have
tools to do so?
There is a lot of handwaving in there.

Personal disclaimer: I have NOT used this method for creating
webpages, so I cannot comment as to how effective it is for Agile
teams. I believe I understand the concept they were trying to impart.
I was simply reporting that "Extreme Programming for Web Projects"
had a few diamonds in the rough worth hunting for.

Carlton





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Thomas Eyde
2005-08-05 18:59:58 UTC
Permalink
And XSLT is worse by magnitudes.

--
Thomas
Post by Ron Jeffries
I was struck by this phrase. It made me reflect on what an
incredibly poor language XML is for communicating between people.
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Syver Enstad
2005-08-04 07:54:06 UTC
Permalink
Post by Cory Foy
Post by Syver Enstad
Are there any good resources on TDD for web applications?
It depends on what language and what you are looking to do.
In fact, overall, your best bet is to move as much business and
presentation logic out of the pages themselves into business objects you
can test (and mock).
I already test my web applications by mocking out the web server. The
thing I find difficult is to actually test drive the development of
application logic, like I do with the domain logic. I have to keep all
this HTTP state management in my head (not in the tests), on a less
than perfect day it is a pain to work with.
Post by Cory Foy
Finally, there is a book out there called Extreme Programming for Web
Projects [9]. It is worth looking at if you do a lot of static,
brochureware sites, but I don't think it's worth it if you do any kind
of dynamic elements to your site.
[1] - http://selenium.thoughtworks.com/
[2] - http://nunitasp.sourceforge.net/
[3] - http://www.martinfowler.com/eaaDev/ModelViewPresenter.html
[4] - http://groups.yahoo.com/group/TestFirstUserInterfaces/
[5] - http://www.cornetdesign.com/2005/04/msdn-code-camp-success.html
[6] - http://htmlunit.sourceforge.net/
[7] - http://www.edwardh.com/jsunit/
[8] - http://www.junit.org
[9] - http://www.amazon.com/exec/obidos/ASIN/0201794276
Cory
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Syver Enstad
2005-08-04 14:59:36 UTC
Permalink
Post by Cory Foy
Post by Syver Enstad
Are there any good resources on TDD for web applications?
It depends on what language and what you are looking to do.
For test driving apps, your best approach is to follow the Model-View
Presenter [3] pattern and make your GUI layer as thin as possible.
Are there any resources on Model View Presenter in a web app. I have
programmed MVP in Dolphin Smalltalk and it is really nice, I am not
quite sure how to translate that into a usable web application
framework. For example: is observer really applicable in a web app
context?







To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Russell Gold
2005-08-03 15:23:41 UTC
Permalink
Post by Syver Enstad
Are there any good resources on TDD for web applications?
<http://httpunit.org/doc/tutorial/index.html> has an example of using
TDD to develop a web application.


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
William Pietri
2005-08-03 16:29:41 UTC
Permalink
Post by Syver Enstad
Are there any good resources on TDD for web applications?
Could you say more about what you're looking for? Generally, I don't
think it's much different than other sorts of TDD, except that depending
on what language you're using, there are assorted tools that may be
helpful.

William
--
William Pietri <***@scissor.com>



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Rob Sanheim
2005-08-03 19:31:44 UTC
Permalink
Post by William Pietri
Post by Syver Enstad
Are there any good resources on TDD for web applications?
Could you say more about what you're looking for? Generally, I don't
think it's much different than other sorts of TDD, except that depending
on what language you're using, there are assorted tools that may be
helpful.
William
One thing I haven't seen, which is surprising given how useful it
would be, is an all-in-one tool to do the following, given a root web
context:

- validate all html and css according to DOCTYPE
- run lint for all included javascript
- check all links to a certain depth for ok responses

Not really TDD, but it seems like it wouldn't be that hard, but would
be very useful.

- rob
--
http://www.robsanheim.com/




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Syver Enstad
2005-08-04 15:02:45 UTC
Permalink
So I guess I am looking for inspiration on developing web apps. I find
test first programming to be really neat for domain logic, but I have
problems applying it to application logic in a web app.
Again, I highly recommend looking at Ruby on Rails. It was created
by a TDD addict and the language is not that far from Python.
Yes, that would probably be a good idea. Rails and Seaside seems to be
the state of the art in web programming. I've fooled around a bit with
Seaside and Django (rails like Python framework), but should
definitely check out Rails too.




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
William Pietri
2005-08-04 23:28:36 UTC
Permalink
Sometimes I have actually gone to the step of actually simulating a
sequence of requests but this results in a lot of test code that that
is hard to understand.
So I guess I am looking for inspiration on developing web apps. I find
test first programming to be really neat for domain logic, but I have
problems applying it to application logic in a web app. Probably due
to having to deal with state management with HTTP all the
time.
It sounds to me like you're missing an abstraction or two.

Over the course of a few Java projects, I've put together something
called WebRobot, which wraps the handy HttpUnit framework. It allows me
to write tests like this:

WebRobot bot = new WebRobot();
bot.go("http://www.yahoo.com");
bot.click("Mail");
bot.setParameter("login", "joesmith");
bot.setParameter("passwd", "mypass");
bot.submit();
bot.click("Inbox");
assertContains("Messages 1-25", bot.getPageText());


Then on a specific project, I'll make a subclass with a lot of project-
specific functionality:

YahooMailBot bot = new YahooMailBot();
bot.logInAs("joesmith", "mypass");
bot.goToMailbox("Inbox");
MailboxEntry entry = bot.getMailboxEntry(0);
assertEquals("Syver Enstad", entry.getSender());
bot.click(entry.getSubject());

If you energetically extract duplication from your tests, you end up
with a project-specific scripting language that is readable, and
hopefully even editable, to product managers, QA testers, and the like.

The state management can be mildly hairy, but you only have to write it
once, and for any given project, it turns out you can ignore most of
HTTP's complexity.

William
--
William Pietri <***@scissor.com>



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Adrian Howard
2005-08-05 12:15:35 UTC
Permalink
On 5 Aug 2005, at 00:28, William Pietri wrote:
[snip]
Post by William Pietri
Over the course of a few Java projects, I've put together something
called WebRobot, which wraps the handy HttpUnit framework. It
allows me
[snip]

Yup. I do very similar things with Perl's WWW::Mechanize and
Test::Mechanize.
Post by William Pietri
WebRobot bot = new WebRobot();
bot.go("http://www.yahoo.com");
bot.click("Mail");
bot.setParameter("login", "joesmith");
bot.setParameter("passwd", "passwd");
bot.submit();
bot.click("Inbox");
assertContains("Messages 1-25", bot.getPageText());
Would be with Test::WWW::Mechanise be:

my $bot = Test::WWW::Mechanize->new;
$bot->get_ok( 'http://www.yahoo.com ' );
$bot->follow_link_ok( { text => 'Mail' } );
$bot->submit_form(
fields => {
login => 'joesmith',
passwd => 'passwd',
}
);
$bot->follow_link_ok( { text => 'Inbox' } );
$bot->content_contains( 'Messages 1-24' );
Post by William Pietri
Then on a specific project, I'll make a subclass with a lot of
project-
Ditto.
Post by William Pietri
If you energetically extract duplication from your tests, you end up
with a project-specific scripting language that is readable, and
hopefully even editable, to product managers, QA testers, and the like.
Yup. I've found a lot of Perl folk do this - build a domain-specific
testing language rather than using things like FIT.

One neat thing that you might want to add to your framework is
something like Perl's HTTP::Recorder. You can use it as a web proxy
to output a WWW::Mechanize script that mirrors what the user does.

(see <http://www.perl.com/pub/a/2004/06/04/recorder.html> for a quick
tutorial)

So I can take a story like:

User enters their e-mail address and invoice number to display
their
invoice

Go mock up a couple of HTML pages glued together with a standard
little CGI script that just throws out the canned output I give it
and show it to the customer.

If it's what they want then do the same thing through HTTP::Recorder
and I instantly have something close to an acceptance test. Handy.

Adrian



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Bil Kleb
2005-08-04 11:34:15 UTC
Permalink
So I guess I am looking for inspiration on developing web apps. I find
test first programming to be really neat for domain logic, but I have
problems applying it to application logic in a web app.
Again, I highly recommend looking at Ruby on Rails. It was created
by a TDD addict and the language is not that far from Python.

(See pointers given previously, and contact me offline if you
have trouble getting access to the first reference given.)

Regards,
--
Bil
http://fun3d.larc.nasa.gov


To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Syver Enstad
2005-08-04 08:24:09 UTC
Permalink
Post by William Pietri
Post by Syver Enstad
Are there any good resources on TDD for web applications?
Could you say more about what you're looking for? Generally, I don't
think it's much different than other sorts of TDD, except that depending
on what language you're using, there are assorted tools that may be
helpful.
I am using python. I already have mocked out the web server and
database so that I am able to run the pages in the application without
having all that baggage. I test my web pages with the python unittest
framework, but I find that I don't really test the application logic
as such, but just given request with parameters so and so, this and
that happens.

Sometimes I have actually gone to the step of actually simulating a
sequence of requests but this results in a lot of test code that that
is hard to understand.

So I guess I am looking for inspiration on developing web apps. I find
test first programming to be really neat for domain logic, but I have
problems applying it to application logic in a web app. Probably due
to having to deal with state management with HTTP all the
time. Smalltalk Seaside seems promising in that it handles that for
you, but I am not using that.





To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Andy Pols
2005-08-04 14:32:11 UTC
Permalink
I think

"Java Open Source Programming:...." by Walnes, Abrahamian, Cannon-
Brookes and Lightbody

Is a good explanation of how to build a web TDD in java.

Cheers
Andy
Post by Syver Enstad
Are there any good resources on TDD for web applications?
To Unsubscribe, send a blank message to: extremeprogramming-
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
David Roberts
2005-08-05 16:04:52 UTC
Permalink
William,

I've seen it _not_ work well.
Post by banshee858
"simply" XML, then "all you need to do" is use XSLT to make HTML
from

The "all you need to do" part is write high maintenance code in a
functional tag language which can take far longer than just using
traditional techniques.

David Roberts
InnovaSystems Intl
(619) 955-5864
-----Original Message-----
Pietri
Sent: Friday, August 05, 2005 8:51 AM
Subject: Re: [XP] Re: TDD for web applications
Hi, Carlton! I'm no picking on you here; this is a sincere question
for
Post by banshee858
I am not doing the suggested solution any justice since I am working
off of two-year-old and I don't have that book in my office. I
believe the the XML is the interface in which the programmers
communicate with the "creative" people. If an entire webpage is
"simply" XML, then "all you need to do" is use XSLT to make HTML
from
it.
Has anybody seen this work well in practice?
William
--
To Unsubscribe, send a blank message to: extremeprogramming-
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-05 17:11:13 UTC
Permalink
Post by David Roberts
The "all you need to do" part is write high maintenance code in a
functional tag language which can take far longer than just using
traditional techniques.
Hence my use of "quotes" which represents a whole heck of a lot of
handwaving.

Carlton




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
David Roberts
2005-08-05 18:59:03 UTC
Permalink
Post by banshee858
Let me be more precise: the XML file generated is the semi-stable
artifact which the graphic designers and UI people use to work their
magic. From my understanding, once you define what the XML DOM will
look like, you can give the designers an XML file to work on and the
programmers can then code to the XML interface.
Have you seen this work? I don't even see passing UML documents around
as something that works, let alone XML.

David Roberts
InnovaSystems Intl
(619) 955-5864
Post by banshee858
-----Original Message-----
Sent: Friday, August 05, 2005 10:21 AM
Subject: [XP] Re: TDD for web applications
Post by Ron Jeffries
I believe the the XML is the interface in which the programmers
communicate with the "creative" people.
I was struck by this phrase. It made me reflect on what an
incredibly poor language XML is for communicating between people.
Hmmm...that was a bad sentence on my part since I was not suggesting
that all you do is toss some XML over the wall and say "Now you work
on it".
Let me be more precise: the XML file generated is the semi-stable
artifact which the graphic designers and UI people use to work their
magic. From my understanding, once you define what the XML DOM will
look like, you can give the designers an XML file to work on and the
programmers can then code to the XML interface.
Carlton
To Unsubscribe, send a blank message to: extremeprogramming-
ad-free courtesy of objectmentor.com
Yahoo! Groups Links
To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
banshee858
2005-08-05 19:12:44 UTC
Permalink
Post by David Roberts
Post by banshee858
Let me be more precise: the XML file generated is the semi-stable
artifact which the graphic designers and UI people use to work
their magic. From my understanding, once you define what the XML
DOM will look like, you can give the designers an XML file to work
on and the programmers can then code to the XML interface.
Have you seen this work? I don't even see passing UML documents
around as something that works, let alone XML.
I am only providing calarification to a statement I wrote which was
not that clear, not explaining how I implemented a solution using this
technique. My answer to your question would be "That is probably a
good question for the authors of the book - Doug Wallace, Isobel
Raggett and Joel Aufgang."

Personal disclaimer: I have NOT used this method\technique for
creating webpages, so I cannot comment as to how effective it is for
Agile teams. I believe I understand the concept they were trying to
impart. I was simply reporting that "Extreme Programming for Web
Projects" had a few diamonds in the rough worth hunting for.

Carlton




To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Ron Jeffries
2005-08-05 22:33:46 UTC
Permalink
Post by banshee858
Post by David Roberts
Post by banshee858
Let me be more precise: the XML file generated is the semi-stable
artifact which the graphic designers and UI people use to work
their magic. From my understanding, once you define what the XML
DOM will look like, you can give the designers an XML file to work
on and the programmers can then code to the XML interface.
Have you seen this work? I don't even see passing UML documents
around as something that works, let alone XML.
I am only providing calarification to a statement I wrote which was
not that clear, not explaining how I implemented a solution using this
technique. My answer to your question would be "That is probably a
good question for the authors of the book - Doug Wallace, Isobel
Raggett and Joel Aufgang."
Personal disclaimer: I have NOT used this method\technique for
creating webpages, so I cannot comment as to how effective it is for
Agile teams. I believe I understand the concept they were trying to
impart. I was simply reporting that "Extreme Programming for Web
Projects" had a few diamonds in the rough worth hunting for.
After mostly not understanding this conversation for a while, it
occurs to me that I sort of know something that might be sort of
germane.

XProgramming.com is generated using articles that are formatted in
XML. It's a simple format, just a few tags like
<title>Under the Bleachers</title>
<author>Seymour Butts</author>
and a pass-through for XHTML.

Then I have some XSLT that creates tagged HTML, and the pretty card
look and the wrappers is created by some CSS that was created with
the help of Deb Hartmann and Anna Lissa Cruz.

The indexes are created from the articles using some Ruby code with
XPath parsing to pull out what's needed, some sorting, some more
XSLT, and voila! it's a web site.

It works pretty well, and the site reformatting not so long ago went
pretty easily. It wasn't /just/ a matter of plugging in the CSS
because the original site wasn't fully CSS'd, just generated
directly to HTML from the XSLT. Still, it was very easy, and a new
packaging would be relatively straightforward.

So ... XML is a good way of communicating between the various chunks
of code that build the site. It's a pain in the tail, however, to
create articles, and they're certainly not easy to read until they
get formatted. The XSLT "programs" are hard to write and I never did
figure out a decent way to TDD them. Same with CSS: all we could
figure out to do was create the CSS and view the pages.

There's a bug in there right now: the index pages for topics like
"documentation" (which are presently inaccessible because I forgot
to put their links there), are also badly formatted. There's
something odd going on between how that page is generated, and the
CSS. That's on my list to figure out, but I only recently even
noticed (a) that the indexes were not shown as links and (b) that
when you look at them, they don't look right.

Not exactly a triumph of TDD and Acceptance Testing. Still pretty
cool, though.

Ron Jeffries
www.XProgramming.com
A lot of preconceptions can be dismissed when you actually
try something out. -- Bruce Eckel



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
Charlie Poole
2005-08-06 17:09:12 UTC
Permalink
Hi Ron,
Post by Ron Jeffries
After mostly not understanding this conversation for a while,
it occurs to me that I sort of know something that might be
sort of germane.
Oh... what a good idea! Let me try too.
Post by Ron Jeffries
XProgramming.com is generated using articles that are
formatted in XML. It's a simple format, just a few tags like
<title>Under the Bleachers</title>
<author>Seymour Butts</author>
and a pass-through for XHTML.
I borrowed Ron's format from an ealier version of the site and used it
for some parts of charliepoole.org and later for nunit.com
Post by Ron Jeffries
Then I have some XSLT that creates tagged HTML, and the
pretty card look and the wrappers is created by some CSS that
was created with the help of Deb Hartmann and Anna Lissa Cruz.
I used php to generate my html, 'cause I dislike XSLT. And I've
moved very heavily into CSS positioning as I've gone along.
Post by Ron Jeffries
The indexes are created from the articles using some Ruby
code with XPath parsing to pull out what's needed, some
sorting, some more XSLT, and voila! it's a web site.
I've been meaning to do this as well.
Post by Ron Jeffries
It works pretty well, and the site reformatting not so long
ago went pretty easily. It wasn't /just/ a matter of plugging
in the CSS because the original site wasn't fully CSS'd, just
generated directly to HTML from the XSLT. Still, it was very
easy, and a new packaging would be relatively straightforward.
So ... XML is a good way of communicating between the various
chunks of code that build the site. It's a pain in the tail,
however, to create articles, and they're certainly not easy
to read until they get formatted. The XSLT "programs" are
hard to write and I never did figure out a decent way to TDD
them. Same with CSS: all we could figure out to do was create
the CSS and view the pages.
I migrated from static to generated html in two stages. First I
put the articles in html fragments and only generated the overall
page layout, menus, etc. Later, I moved to XML parsing, which
gave me greater flexibility for articles, but didn't seem that helpful
with other pages. As a result, I just left both kinds of code in
the system: if you ask for a page by name, the code looks to
see if there's either an html file or an xml file of that name and
does it's thing. It makes updating easier if I can use html, since
it's actually displayable.

The "mirror" of nunit.org that I have on nunit.com is actually
generated on the fly from html fragments as well. But I can
run the generator over it as needed to create the static html
that is required by our host site for nunit.org.

The big benefit I saw from all of this was being able to modify
the structure of the sites by changing code, the general page
layout by modifying some different code and the actual content
of articles by modifying text. It's OAOO in a different form.

Charlie



To Post a message, send it to: ***@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-***@eGroups.com

ad-free courtesy of objectmentor.com
Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
extremeprogramming-***@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/

Continue reading on narkive:
Loading...