Added: wicket/common/site/branches/meet/buzz.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/meet/buzz.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/meet/buzz.md (added)
+++ wicket/common/site/branches/meet/buzz.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,154 @@
+---
+layout: default
+title: Wicket Buzz
+---
+
+Wicket has appeared in the press in a variety of industry trade magazines,
+including Network World, ComputerWorld, IT World and Information Week.
+Presentations on Wicket have been delivered by Wicket team members at JavaOne
+in San Francisco, Javapolis and TheServerSide Java Symposium in Europe. The
+following are quotes from reviewers and users of Wicket:
+
+> After working with JSF for almost a year, trying Wicket was like that
+> movie scene where the clouds part and this big ray of light hits you
+> in the face. I just had this feeling while JSF'ing that certain things
+> were harder than they needed to be. Well, I was right, and the Wicket
+> people figured it out.
+>
+> [Kevin Galligan](http://bigheadco.blogspot.com/2007/03/groovy-wicket.html)
+
+> Wicket (currently undergoing incubation with Apache) is a good
+> example of a web framework which throws caution to the wind, and has
+> absolutely no XML needed. We here at Mystic have a lot of love for
+> Wicket and are actively developing several projects with it currently.
+>
+> [Mystic 
Coders](http://www.mysticcoders.com/blog/2007/03/13/the-rise-of-the-xml-backlash/)
+
+
+> Writing a Wicket app is rather more like writing an event-based
+> desktop application than a web application.
+>
+> [LShift](http://www.lshift.net/blog/2006/07/06/wicket)
+
+> "Wickedly Cool" - I actually managed to whip together a Wicket
+> Application in a few days. It is entertaining to work with, adding
+> shiny stuff is really easy while you can develop Java code and keep
+> those last bits of hair you have saved for ripping out in a CSS
+> nightmare that you hopefully after finding Wicket will not have to
+> deal with.  So I'd go out on a limb and say that Wicket == Rogaine for
+> developers.
+>
+> [Joed](http://blogs.opennms.org/joed/?p=3)
+
+> "So is Wicket the one true MVC framework that a lot of us have been
+> hunting for? At the moment, I tend to think so. [...] If you like Java
+> you will really like Wicket."
+>
+> [Peter 
Thomas](http://ptrthomas.wordpress.com/2007/03/02/wicket-impressions-moving-from-spring-mvc-webflow/)
+
+> "I think its an awesome way to deal with this whole web UI framework
+> mess. I am happy to see someone take a simple and clean approach to
+> the whole problem, and come up with a transparent POJO solution. I
+> like the direction the framework is going... Wicket is clean, simple
+> and elegant."
+>
+> Comment on TheServerSide.com
+
+> "Last week I wrote an article about Wicket and I spent some time
+> discovering and taming it. And I have to confess this: I love it. ...
+> snip ... Wicket is not a framework, it's a candy bar. And everybody
+> loves candy bars..."
+> 
+> Comment made by Romain Guy
+
+> The issue that impressed me in the Wicket model is that "Wicket does
+> not mix markup with Java code and adds no special syntax to your
+> markup files." You reference Wicket identities as HTML attributes
+> and define component properties in Java, which allows designers and
+> programmers to work independently (within the obvious constraint of
+> having common goals). There is no need for special tools.
+>
+> From a Network World editorial entitled "Nothing Sticky about Wicket"
+
+> In a recent blog post I asked for feedback on what Web frameworks
+> folks are using. Well, I got quite a surprise: Wicket was the most
+> often recommended framework in reader emails!
+>
+> From an About.com article entitled And the Winner is...Wicket
+
+> "I have used Wicket since last Fall for personal projects. I have 3
+> kids and a wife so my free-time is very limited. Given that, I had to
+> be very picky about which framework I chose.  I've been very impressed
+> with how little hassle it has been to start creating powerful,
+> reusable components and pages with Wicket even under rather severe
+> time constraints."
+>
+> Comment on TheServerSide.com
+
+> "...after using web MVC frameworks for a couple of years, building
+> ever more complex web applications, I moved to component based
+> frameworks. Of these, I think Wicket is by far the best..."
+>
+> Comment on Manageability.org
+
+> "... Talk about a mind blowing experience, it literally took me ten
+> minutes to have a sample application up and running! The Wicket API is
+> very Swing like, which was a welcome change for me, and allowed for a
+> very familiar development experience. There is even an extension that
+> allows for direct use of a Swing TreeModel. There are so many things
+> that I like about this framework ..."
+>
+> From a blog item by the Code Poet
+
+> "Wicket has a learning flat."
+>
+> Al Maw
+
+> JSF is Cool and young but Wicket is younger and even cooler. Have
+> you tried wicket?. I am also building a large CRUD application for
+> Job Exchange System in my country using Wicket + JPA + Stateless
+> EJB3 + Glassfish (the latest promoted build of glassfish) and we are
+> currently in testing phase and I am not having any serious headaches
+> as things seems to be under control. All our forms are Ajax. We have
+> several concurrent accesses and system is stable. I believe greatly in
+> the Wicket Project especially for CRUD cases.
+> 
+> [Dabar Aladejebi](http://www.javalobby.org/java/forums/t90719.html#92132195)
+
+> "focuses the development efforts in the right place, inside plain Java
+> code" !! This was the winning ticket for me. The framework is truly
+> amazing. I used ever dang framework in the book and can say that I'm
+> most impressed with this one.
+> 
+> [Anonymous on 
JavaGeek.org](http://javageek.org/2006/03/08/comparing_web_frameworks_wicket.html)--
 [Anonymous on 
JavaGeek.org](http://javageek.org/2006/03/08/comparing_web_frameworks_wicket.html)
+
+> Shocking simplicity. Back to the roots. Thanks.
+> 
+> [joozsa on 
JavaGeek.org](http://javageek.org/2006/03/08/comparing_web_frameworks_wicket.html)
+
+> Wicket as far as I am concerned is the way forward for web development
+> in Java. A lot of creativity involved though especially with the loops
+> but It makes Web Development so much fun.
+> 
+> [Anonymous on 
JavaGeek.org](http://javageek.org/2006/03/08/comparing_web_frameworks_wicket.html)
+
+> "Wicket became my favorite framework in about a 24-hour period, and
+> I think it has a very bright future. With most frameworks I see
+> limitations, with Wicket I see possibilities. There's your platitude
+> for the day :)"
+> 
+> wicket-user mailing list
+
+> "Count me in... I've only been using Wicket for maybe 2 weeks or so,
+> and I'm sold."
+> 
+> Phillip Rhodes 
+
+> Once I grasped the essence of Wicket, everything just started working
+> so well. Damn you, Wicket, I said under my breath. I was really
+> disappointed that I liked it so much. Damn you Wicket! Suddenly I
+> loved all those Wicket developers, because I understood what they
+> were trying to say. Web development can be simple, yet have unlimited
+> power.
+> 
+> Closet Wicket lover

Added: wicket/common/site/branches/meet/features.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/meet/features.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/meet/features.md (added)
+++ wicket/common/site/branches/meet/features.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,119 @@
+---
+layout: default
+title: Features
+---
+## Swing-like OO Component Model
+
+Pages and Components in Wicket are real Java objects that support
+encapsulation, inheritance and events.
+
+## Ease of Development
+
+Because Wicket is Java and HTML, you can leverage what you know about Java or
+your favorite HTML editor to write Wicket applications.
+
+## Separation of Concerns
+
+Wicket does not mix markup with Java code and adds no special syntax to your
+markup files. The worlds of HTML and Java are parallel and associated only by
+Wicket ids, which are attributes in HTML and Component properties in Java.
+Since Wicket HTML is just HTML and Wicket Java is just Java, coders and
+designers can work independently to a large degree and without relying on any
+special tools.
+
+## Secure
+
+Wicket is secure by default. URLs do not expose sensitive information and all
+component paths are session-relative. Explicit steps must be taken to share
+information between sessions. There are plans for the next version of Wicket
+to add URL encryption to support highly secure web sites.
+
+## Transparent, Scalable Clustering Support
+
+All Wicket applications will work on a cluster automatically and without
+additional work. Once bottlenecks are understood, Wicket enables tuning of
+page state replication. The next version of Wicket will support client-side
+models for zero-state scalability.
+
+## Transparent Back Button Support
+
+Wicket supports configurable page version management. When users submit a
+form or follow a link from a page they accessed with the back button in their
+browser, Wicket is able to revert the page object to the state it was in when
+the page was originally rendered. This means you can write web applications
+that support the back button with very little work.
+
+## Reusable Components
+
+Reusable components in Wicket are particularly easy to create. Not only can
+you extend existing components with the Java extends keyword, but you can
+also create Panel components which associate a group of components as a
+reusable unit.
+
+## Simple, Flexible, Localizable Form Validation
+
+It is trivial to write and use validators in Wicket. It is also quite easy to
+customize and localize the display and content of validation error messages.
+
+## Typesafe Sessions
+
+Wicket eliminates the need to manage HttpSession attributes by hand. Page and
+component objects are transparently stored in the session and your
+application can create a custom session subclass with typesafe properties as
+well. All objects stored in the session can automatically participate in
+clustering replication.
+
+## Factory Customizable
+
+Wicket is very extensible. Most operations are customizable through factories
+or factory methods.
+
+## Detachable Models
+
+Model objects in Wicket can be very lightweight in terms of memory and
+network use in a cluster. When a model is used, it can "attach", populating
+itself with information from persistent storage. When the model is no longer
+in use, transient information can be reset, reducing the size of the object.
+
+## Border Components
+
+Wicket Border components enable the decoration of pages in a reusable
+fashion. This is especially useful for inheritance of common navigational
+structures or layout.
+
+## Support for All Basic HTML Features
+
+Wicket supports image tags, links, forms and everything else that you're used
+to using in your web application development.
+
+## Programmatic Manipulation of Attributes
+
+Wicket Components can programmatically change any HTML tag attribute.
+
+## Automatic Conversions
+
+Once a Form validates, the model can be updated using Wicket converters. Most
+ordinary conversions are built-in and it is easy to write new converters.
+
+## Dynamic Images
+
+Wicket makes image use, sharing and generation very easy. Dynamic images can
+be created by simply implementing a paint method.
+
+## Pageable ListView
+
+ListViews in Wicket are extremely powerful. You can nest any kind of
+component in a ListView row, even other ListViews. PageableListView supports
+navigation links for large lists.
+
+## Tree Component
+
+Out of the box tree component for navigating and selecting nodes.
+
+## Localization
+
+HTML pages, images and resource strings can all be localized.
+
+## Examples
+
+Wicket has numerous examples showcasing all of the above features.

Added: wicket/common/site/branches/meet/index.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/meet/index.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/meet/index.md (added)
+++ wicket/common/site/branches/meet/index.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,4 @@
+---
+layout: default
+title: Meet Apache Wicket
+---

Added: wicket/common/site/branches/meet/introduction.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/meet/introduction.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/meet/introduction.md (added)
+++ wicket/common/site/branches/meet/introduction.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,296 @@
+---
+layout: default
+title: Meet Apache Wicket
+---
+By Jonathan Locke, original author of Wicket
+
+## Why Wicket?
+
+If you are looking to do web application programming in Java, you have a very
+large number of choices these days. In fact, there are so many web
+application frameworks now that it has become somewhat of a joke. One blog
+site on the Internet poses the question: How many Java web frameworks can you
+name? The answer they show looks like this:
+
+## Frameworks, Frameworks Everywhere
+
+<TABLE class="confluenceTable"><TBODY>
+<TR>
+<TD class="confluenceTd">Echo</TD>
+<TD class="confluenceTd">Cocoon</TD>
+<TD class="confluenceTd">Millstone</TD>
+<TD class="confluenceTd">OXF</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Struts</TD>
+<TD class="confluenceTd">SOFIA</TD>
+<TD class="confluenceTd">Tapestry</TD>
+<TD class="confluenceTd">WebWork</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">RIFE</TD>
+<TD class="confluenceTd">Spring MVC</TD>
+<TD class="confluenceTd">Canyamo</TD>
+<TD class="confluenceTd">Maverick</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">JPublish</TD>
+<TD class="confluenceTd">JATO</TD>
+<TD class="confluenceTd">Folium</TD>
+<TD class="confluenceTd">Jucas</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Verge</TD>
+<TD class="confluenceTd">Niggle</TD>
+<TD class="confluenceTd">Bishop</TD>
+<TD class="confluenceTd">Barracuda</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Action Framework</TD>
+<TD class="confluenceTd">Shocks</TD>
+<TD class="confluenceTd">TeaServlet</TD>
+<TD class="confluenceTd">wingS</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Expresso</TD>
+<TD class="confluenceTd">Bento</TD>
+<TD class="confluenceTd">jStatemachine</TD>
+<TD class="confluenceTd">jZonic</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">OpenEmcee</TD>
+<TD class="confluenceTd">Turbine</TD>
+<TD class="confluenceTd">Scope</TD>
+<TD class="confluenceTd">Warfare</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">JWAA</TD>
+<TD class="confluenceTd">Jaffa</TD>
+<TD class="confluenceTd">Jacquard</TD>
+<TD class="confluenceTd">Macaw</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Smile</TD>
+<TD class="confluenceTd">MyFaces</TD>
+<TD class="confluenceTd">Chiba</TD>
+<TD class="confluenceTd">JBanana</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Jeenius</TD>
+<TD class="confluenceTd">JWarp</TD>
+<TD class="confluenceTd">Genie</TD>
+<TD class="confluenceTd">Melati</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Dovetail</TD>
+<TD class="confluenceTd">Cameleon</TD>
+<TD class="confluenceTd">JFormular</TD>
+<TD class="confluenceTd">Xoplon</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Japple</TD>
+<TD class="confluenceTd">Helma</TD>
+<TD class="confluenceTd">Dinamica</TD>
+<TD class="confluenceTd">WebOnSwing</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Nacho</TD>
+<TD class="confluenceTd">Cassandra</TD>
+<TD class="confluenceTd">Baritus</TD>
+<TD class="confluenceTd">Stripes</TD>
+</TR>
+<TR>
+<TD class="confluenceTd">Click</TD>
+<TD class="confluenceTd">GWT</TD>
+<TD class="confluenceTd">&nbsp;</TD>
+<TD class="confluenceTd">&nbsp;</TD>
+</TR>
+</TBODY></TABLE>
+
+
+## Why "Reinvent the Wheel"?
+
+In light of this, you may be wondering "What good is another web application
+framework?" Indeed. Why "re-invent the wheel?" One snappy comeback to that
+old saw is: because this time we could make it rounder!
+
+But it was not simply a desire for higher quality that drove the creation of
+Wicket. Even with so many options, there really is no web toolkit which fills
+exactly the niche that Wicket fills. In fact, Wicket is quite unlike each of
+the frameworks above.
+
+Wicket's closest cousins are probably Tapestry and Echo, but even there the
+likeness is very shallow. Like Tapestry, Wicket uses a special HTML attribute
+to denote components, enabling easy editing with ordinary HTML editors. Like
+Echo, Wicket has a first-class component model. But Wicket applications are
+not like applications written in either Tapestry or Echo, because in Wicket
+you get the best of both worlds. You get the benefits of a first-class
+component model and a non-intrusive approach to HTML. In many situations,
+this combination may prove to be a significant development advantage.
+
+To understand why Wicket is so different, it may help to understand the
+motivations that created it.
+
+## Motivations
+
+### Most existing web frameworks provide weak to non-existent support in 
managing server-side state ###
+
+This normally means lots of ad-hoc code in web applications dealing with the
+gory mechanics of state management. While Wicket will not allow you to stop
+thinking about server state, it goes a long ways towards making it easy and
+often transparent to manage that state.
+
+In Wicket, all server side state is automatically managed. You will never
+directly use an HttpSession object or similar wrapper to store state.
+Instead, state is associated with components. Each server-side page component
+holds a nested hierarchy of stateful components, where each component's model
+is, in the end, a POJO (Plain Old Java Object). Wicket maintains a map of
+these pages in each user's session. One purpose of this page map (and the
+component hierarchy on each page) is to allow the framework to hide all
+details of how your components and models are accessed. You deal with simple,
+familiar Java objects and Wicket deals with things like URLs, session ids and
+GET/POST requests.
+
+You will also find that this well-structured server state makes it very easy
+to deal with the dreaded "back button problem". In fact, Wicket has a generic
+and robust solution which can identify and expire browser-cached pages that
+have become stale due to structural changes to the model of a component on
+the page.
+
+Finally, Wicket has been designed to work with POJO persistence frameworks
+such as JDO or Hibernate. This can make database driven web applications
+quite easy to write.
+
+For many applications, it will be worth trading off the increased server load
+of extra server-side state for decreased development costs, lower maintenance
+costs, quicker time-to-market and generally higher quality software. The
+basic observation here is that software is expensive and complex while
+servers from companies like E-machines and Dell are relatively dirt cheap.
+
+In terms of efficiency versus productivity, perhaps Wicket is to JSP as Java
+is to C. You can accomplish anything in Wicket in JSP. You may even do it
+more efficiently in terms of memory or processor consumption. But it may take
+you weeks or months longer to develop your application. And in the end, since
+state management in JSP is ad-hoc, you are likely find security problems and
+bugs popping up everywhere. Most of the other frameworks above will do only a
+little more to help you.
+
+### Most existing frameworks require special HTML code
+
+JSP is by far the worst offender, allowing the embedding of Java code
+directly in web pages, but to some degree almost all of the frameworks from
+the list (except Tapestry) above introduce some kind of special syntax to
+your HTML code.
+
+Special syntax is highly undesirable because it changes the nature of HTML
+from the kind of pure-and-simple HTML markup that web designers are familiar
+with, to some kind of special HTML. This special HTML can be more difficult
+to preview, edit and understand.
+
+Wicket does not introduce any special syntax to HTML. Instead, it extends
+HTML in a standards-compliant way via a Wicket namespace that is fully
+compliant with the XHTML standard. This means that you can use Macromedia
+Dreamweaver, Microsoft Front Page, Word, Adobe Go Live, or any other existing
+HTML editor to work on your web pages and Wicket components. To accomplish
+this, Wicket consistently uses a single id attribute in the Wicket namespace
+("wicket:id") to mark HTML tags that should receive special treatment by the
+toolkit. If you prefer not to render Wicket namespaced tags and attributes to
+your end-users, Wicket has a simple setting to strip them all out, resulting
+in ordinary, standards-compliant HTML.
+
+No "special sauce" in your HTML means designers can mock up pages that you
+can use directly in development. Adding Java components to the HTML is as
+simple as setting the component name attribute. And you can then give the
+HTML back to your web designers knowing that they can change it with
+confidence.
+
+Wicket, more than any other framework gives you a separation of concerns. Web
+designers can work on the HTML with very little knowledge of the application
+code (they cannot remove the component name tags and they cannot arbitrarily
+change the nesting of components, but anything else goes). Likewise, coders
+can work on the Java components that attach to the HTML without concerning
+themselves with what a given page looks like. By not stepping on each other's
+toes, everyone can get more work done.
+
+### Existing frameworks are not easy
+
+Most of the existing toolkits have poorly defined or non-existent object
+models. In some cases, the model is defined using special XML syntaxes. The
+syntaxes may be so cumbersome that special tools are required to manipulate
+all the configuration information. Since these toolkits are not simple Java
+libraries you may or may not be able to use your favorite IDE tools such as
+editors, debuggers and compilers.
+
+Wicket is all about simplicity. There are no configuration files to learn in
+Wicket. Wicket is a simple class library with a consistent approach to
+component structure. In Wicket, your web applications will more closely
+resemble a Swing application than a JSP application. If you know Java (and
+especially if you know Swing), you already know a lot about Wicket.
+
+### Existing frameworks inhibit reusability
+
+Tapestry and JSF at least have component models that allow reuse, but you are
+likely to find that it is not particularly trivial to do, at least when
+compared with Wicket. Wicket has been explicitly designed to make it very,
+very easy to create reusable components. It's surprisingly simple to extend
+existing components and to make compound components such as a SignInPanel or
+AddressForm. It is also relatively easy to create components that exploit new
+features of browsers. Components in Wicket can be packaged up in JAR files
+and reused by simply dropping them in your lib folder - no configuration
+necessary!
+
+### Web programming should be fun!
+
+This is my most personal goal for writing Wicket . None of the existing
+frameworks are appealing to me in terms of intuitiveness, quickness, ease of
+development, etc. It is my hope that Wicket represents a significant step in
+the direction of making web applications easy and fun to write.
+
+## Goals
+
+Coming from these motivations, the following goals for Wicket emerged:
+
+* EASY (SIMPLE / CONSISTENT / OBVIOUS)
+  * POJO-centric
+  * All code written in Java ala Swing
+  * Minimize "conceptual surface area"
+  * Avoid overuse of XML configuration files
+  * Fully solve back button problem
+  * Easy to create bookmarkable pages
+  * Maximum type safety and compile-time problem diagnosis
+  * Maximum diagnosis of run-time problems
+  * Minimum reliance on special tools
+  * Components, containers and conventions should be consistent
+
+* REUSABLE
+  * Components written in Wicket should be fully reusable
+  * Reusable components should be easily distributed in ordinary JAR files
+
+* NON-INTRUSIVE
+  * HTML or other markup not polluted with programming semantics
+  * Only one simple tagging construct in markup
+  * Compatible with any ordinary HTML editor
+  * Easy for graphics designers to recognize and avoid framework tagging
+  * Easy to add tagging back to HTML if designers accidentally remove it
+
+* SAFE
+  * Code is secure by default
+  * Only explicitly bookmarkable links can expose state in the page or URL
+  * All logic in Java with maximum type safety
+  * Easy to integrate with Java security
+
+* EFFICIENT / SCALABLE
+  * Efficient and lightweight, but not at the expense of other goals
+  * Clustering through sticky sessions preferred
+  * Clustering via session replication is easy to accomplish and easy to tune 
by working with detachable models.
+
+* COMPLETE
+
+  * The Wicket team is committed to deliver a feature complete, ready-to-use
+    framework for developing Java web applications. The core framework was
+    written and contributed by the author of this introduction, Jonathan
+    Locke. The current team consists of a group of experienced programmers,
+    some of which were active on some of the other frameworks stated above,
+    and all of which have extensive experience building large scale Java web
+    applications. We eat our own dogfood, and will thus work on Wicket from a
+    framework user's perspective.

Added: wicket/common/site/branches/meet/vision.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/meet/vision.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/meet/vision.md (added)
+++ wicket/common/site/branches/meet/vision.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,60 @@
+---
+layout: default
+title: The Wicket Vision
+---
+
+Designing and implementing any framework for use in the real world inevitably
+involves compromises and some degree of complexity, and Wicket is no
+exception. However, I believe you will find that Wicket is quite compact,
+focused and powerful as a framework. If Wicket has these characteristics, it
+is because it was designed to solve one very specific problem well:
+
+> enabling component-oriented, programmatic manipulation of markup
+
+Wicket does this and very little else, and that is a good thing.
+
+I once heard Josh Bloch talk about the power to weight ratio of an API. The
+highest compliment anyone could make of Wicket would be to suggest that
+Wicket has a lot of power and not much conceptual surface area.
+
+In art, negative space is the part that's not the subject. In music, negative
+space is the rest. In software, negative space is all the code that you
+managed to avoid writing. In all three disciplines, it's what separates what
+is truly excellent from what is merely good.
+
+Following this metaphor, if Wicket is our foreground object, it is defined in
+a negative sense by all the things that it is not (by the background).
+
+In other words, ideally, Wicket is a web UI framework that delegates as many
+areas of responsibility as possible to other, more focused tools and
+techniques. It recognizes that Hibernate is good at persistence; that OGNL is
+good at string formatting; that Java properties files are good for
+localization; that sub-classing is good for creating component types; that
+Dreamweaver is good at doing HTML layout; that Beans are good for structuring
+properties; and so on.
+
+The more ways that Wicket can find to offload responsibilities (both now and
+in the future), the less it will be. And thus, the more it will be.
+
+The difficulty moving forward with Wicket will be balancing all the
+day-to-day needs people are going to be bringing up with this overall vision
+of minimalism. There ultimately will be compromises, and the "trick" to
+making the right compromises is simply to agonize over all the options for a
+long time and then to only make the compromises that everyone agrees are
+really essential to what Wicket needs to be and do.
+
+A big part of this process of agonizing is to act like doctors and "first, do
+no harm". If some issue isn't sitting well with everyone yet, there's
+probably a reason for that. So, maybe the near-term solution is to simply do
+nothing and let people use the existing functionality until the limits to
+that approach (as well as competing ideas) are better understood.
+
+It's easy to add features. It's often impossible to change or remove them.
+
+Given this, the Wicket approach to the overall problem of evolving while
+keeping a high power to weight ratio will be partitioning off all
+controversial new ideas in a "contrib" package until they are broadly
+accepted. This way people can experiment and code away and check in lots of
+stuff without affecting the main codebase with untested ideas. Then, when
+ideas in contrib pan out to everyone's satisfaction, the lead(s) of the
+project will move them into the core.
\ No newline at end of file

Added: wicket/common/site/branches/readme.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/readme.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/readme.md (added)
+++ wicket/common/site/branches/readme.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,24 @@
+Wicket Site
+===========
+
+This is a project for tracking a new design for the Apache Wicket website. The
+site is generated to static html using
+[jekyll](http://github.com/mojombo/jekyll).
+
+If you want to see how it might look in the future, see the file
+[wicketsite5.pdf](http://github.com/dashorst/wicket-site/raw/master/_design/wicketsite5.pdf
+"Design document")
+
+If you want to see how it looks now, see the [generated
+markup](http://github.com/dashorst/wicket-site/raw/master/_site/index.html).
+
+Running the site
+----------------
+
+Use (after installing jekyll) the following command to run jekyll in a server
+mode:
+
+    $ jekyll --auto --server
+
+This instructs jekyll to generate new output whenever something changes on
+the filesystem, and serve those files to the default port (4000) on your box.

Added: wicket/common/site/branches/start/download.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/start/download.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/start/download.md (added)
+++ wicket/common/site/branches/start/download.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,83 @@
+---
+layout: default
+title: Download Wicket releases
+---
+
+Apache Wicket {{site.wicket.version}} is the current stable release.
+
+## Download
+
+New projects should use [Wicket 
{{site.wicket.version}}](http://www.apache.org/dyn/closer.cgi/wicket/{{site.wicket.version}})
 as their base.
+
+* **Latest stable release**: 
[{{site.wicket.version}}](http://www.apache.org/dyn/closer.cgi/wicket/{{site.wicket.version}})
+* **Last 1.3.x release**: [1.3.7](http://archive.apache.org/dist/wicket/1.3.7)
+* **Archived releases**: <http://archive.apache.org/dist/wicket>
+
+We recommend you [start](quickstart.html) with our latest 1.4 release. If you
+are migrating an existing application from Wicket 1.3 to 1.4, you may find
+the [migration guide|http://cwiki.apache.org/WICKET/migrate-14.html]
+invaluable.
+
+**Apache Wicket 1.4.x lines require JDK 1.5 or newer**
+
+**Apache Wicket 1.3.x lines require JDK 1.4 or newer**, although there are
+some non-core modules which take advantage of JDK 5 features.
+
+## Important note about logging dependencies for 1.3.0 and later.
+
+As of Wicket 1.3.0, Wicket uses the [SLF4J](http://www.slf4j.org) project for
+logging. SLF4J is similar to
+[commons-logging](http://jakarta.apache.org/commons/logging), in that it
+allows libraries/frameworks like Wicket to avoid forcing a choice of logging
+framework on their users.
+
+**You cannot use Wicket without adding an SLF4J logging implementation to
+your classpath**. Most people use [log4j](http://logging.apache.org/log4j).
+If you do, just include **slf4j-log4j12.jar** on your classpath to get Wicket
+to use log4j too. If you want to use commons-logging or JDK14 logging or
+something else, please see the [SLF4J site](http://www.slf4j.org/faq.html)
+for more information.
+
+## Maven 2
+
+Add the following snippet to your Maven project descriptor (`pom.xml`):
+
+{% highlight xml %}
+<dependency>
+    <groupId>org.apache.wicket</groupId>
+    <artifactId>wicket</artifactId>
+    <version>{{site.wicket.version}}</version>
+</dependency>
+{% endhighlight %}
+
+For the SLF4J log4j binding:
+
+{% highlight xml %}
+<dependency>
+    <groupId>org.slf4j</groupId>
+    <artifactId>slf4j-log4j12</artifactId>
+    <version>1.5.6</version>
+</dependency>
+{% endhighlight %}
+
+## SNAPSHOTs and latest bleeding-edge code ##
+
+If you wish to build the latest code from scratch, the two branches live in
+the following places in Subversion:
+
+* **1.5.x**: <http://svn.apache.org/repos/asf/wicket/trunk>
+* **1.4.x**: <http://svn.apache.org/repos/asf/wicket/branches/wicket-1.4.x>
+* **1.3.x**: <http://svn.apache.org/repos/asf/wicket/branches/wicket-1.3.x>
+* **1.2.x**: <http://svn.apache.org/repos/asf/wicket/branches/wicket-1.2.x>
+
+There's also a Maven 2 repository providing SNAPSHOTs available here:
+
+{% highlight xml %}
+<repositories>
+    <repository>
+        <id>org.wicketstuff</id>
+        <name>Wicket Stuff Repository</name>
+        <url>http://wicketstuff.org/maven/repository</url>
+    </repository>
+</repositories>
+{% endhighlight %}

Added: wicket/common/site/branches/start/index.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/start/index.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/start/index.md (added)
+++ wicket/common/site/branches/start/index.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,8 @@
+---
+layout: default
+title: Get Started
+---
+
+* Start with Apache Wicket using the [quickstart](quickstart.html)
+* [Download](download.html) the latest and greatest Wicket release
+* Or use one of the available third party <a 
href="http://www.jweekend.com/dev/LegUp"; rel="nofollow">Maven archetypes</a>
\ No newline at end of file

Added: wicket/common/site/branches/start/installing.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/start/installing.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/start/installing.md (added)
+++ wicket/common/site/branches/start/installing.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,57 @@
+---
+layout: default
+title: Installing Wicket
+---
+
+So you chose not to use one of the ready to use Maven archetypes, but rather
+roll things on your own. While possible, it needs some close attention to
+make things work properly. Most notable things you need to take care of are:
+
+* dependencies
+* logging
+
+## Required dependencies to use Wicket
+
+While we are adamant users of Apache Maven and its build infrastructure, this
+may not be to everyone's liking. However, if you wish to learn all about
+which dependencies you need for your Wicket project, we ask you to learn to
+read the POM file format and retrieve the required versions stated there. We
+take great care to keep the POM files up to date with the latest and greatest
+of each dependency.
+
+### Compilation & Testing ###
+
+At a minimum a vanilla Wicket application requires for compilation:
+
+* Java SDK 1.5 or newer
+* servlet-api
+* slf4j-api
+* any slf4j implementation and dependencies necessary for that logging
+  provider
+* junit if you build Wicket from source or want to use `WicketTester` to test
+  your pages and components
+
+### Runtime dependencies ### 
+
+At a minimum a barebones Wicket application requires the following at runtime:
+
+* a servlet container (Apache Tomcat, Jetty) or any JEE container
+* Java 5 runtime or newer
+* slf4j-api and your slf4j implementation and required logging provider
+  dependencies.
+
+## Logging
+
+As of Wicket 1.3.0, Wicket uses the [SLF4J](http://www.slf4j.org/) project
+for logging. SLF4J is similar to
+[commons-logging](http://jakarta.apache.org/commons/logging/), in that it
+allows libraries/frameworks like Wicket to avoid forcing a choice of logging
+framework on their users.
+
+**You cannot use Wicket without adding an SLF4J logging implementation to
+your classpath**. Most people use [log4j](http://logging.apache.org/log4j).
+If you do, just include `slf4j-log4j12.jar` on your classpath to get Wicket
+to use log4j too. If you want to use commons-logging or JDK14 logging or
+something else, please see the [SLF4J site](http://www.slf4j.org/faq.html)
+for more information.
+

Added: wicket/common/site/branches/start/quickstart.md
URL: 
http://svn.apache.org/viewvc/wicket/common/site/branches/start/quickstart.md?rev=966008&view=auto
==============================================================================
--- wicket/common/site/branches/start/quickstart.md (added)
+++ wicket/common/site/branches/start/quickstart.md Tue Jul 20 20:57:09 2010
@@ -0,0 +1,137 @@
+---
+layout: default
+title: Get Started
+---
+
+This guide is intended to get you up and running & using Wicket within
+minutes.
+
+It uses a Maven Archetype to create a Wicket QuickStart project, so requires
+that [Maven 2](http://maven.apache.org) be installed & configured beforehand.
+
+This project provides a starting point for your Wicket project. If you are
+looking for examples, please refer to the *wicket-example* projects instead!
+
+## Creating the project ##
+
+To create your project, copy and paste the command line generated after
+typing in the groupId, artifactId and version.
+
+<style>                
+       #mvncmd label {
+               text-align: right;              
+               font-weight: bold;
+               width: 100px;
+               float: left;
+               margin: 0px 5px;                
+       }
+       #mvncmd input, #mvncmd select, #mvncm span { width: 180px; 
margin-bottom: 5px; float: left;}
+       #mvncmd textarea { width: 400px; height: 100px; }
+       #mvncmd br { clear: left; }     
+       #mvncmd div { float: left; }
+</style>
+<script type="text/javascript">
+       function changeIt()
+       {
+               var  groupId = document.getElementById("groupId").value;
+               var artifactId = document.getElementById("artifactId").value;
+               var version = document.getElementById("version").value;
+               var cmd = 'mvn archetype:create 
-DarchetypeGroupId=org.apache.wicket 
-DarchetypeArtifactId=wicket-archetype-quickstart -DarchetypeVersion=' + 
version + ' -DgroupId=' + groupId + ' -DartifactId=' + artifactId;              
                                  
+               if (version.match(/.*SNAPSHOT/)) cmd += ' 
-DremoteRepositories=http://wicketstuff.org/maven/repository/';
+               document.getElementById("cmdLine").value = cmd;
+       }
+</script>
+<div id="mvncmd">
+       <div>
+               <label for="groupId" title="Base Package">GroupId:</label>
+               <input type="text" id="groupId" value="com.mycompany" 
onkeyup="changeIt();" /><span title="Base Package">&nbsp;(?)</span><br/>
+               <label for="artifactId" title="Project 
Name">ArtifactId:</label> 
+               <input type="text" id="artifactId" value="myproject" 
onkeyup="changeIt();" /><span title="Project Name">&nbsp;(?)</span><br/>
+               <label for="version" title="Wicket Version">Version:</label>
+               <select id="version" onchange="changeIt();">
+{% for version in site.wicket.versions reversed %}
+               {% if version == site.wicket.version %}
+                       <option value="{{version}}" 
selected="selected">{{version}}</option>
+               {% else %}
+                       <option value="{{version}}">{{version}}</option>
+               {% endif %}
+{% endfor %}
+               </select><span title="Wicket Version">&nbsp;(?)</span>
+       </div>
+       <div>
+               <label for="cmdLine" id="cmdLabel">Command Line:</label>
+               <textarea id="cmdLine" onfocus="this.select();">
+               </textarea>
+               <script>changeIt();</script>
+       </div>
+       <br />
+</div>
+
+### Results
+
+This will produce the following project structure/files
+
+    .\myproject
+        |   pom.xml
+        |
+        \---src
+            +---main
+            |   +---java
+            |   |   \---com
+            |   |       \---mycompany
+            |   |               HomePage.html
+            |   |               HomePage.java
+            |   |               WicketApplication.java
+            |   |
+            |   +---resources
+            |   |       log4j.properties
+            |   |
+            |   \---webapp
+            |       \---WEB-INF
+            |               web.xml
+            |
+            \---test
+                \---java
+                    \---com
+                        \---mycompany
+                                Start.java
+
+## Use
+
+Change into the project directory, then create a WAR file via `mvn package`
+or build the project and run it under Jetty via `mvn jetty:run`.
+
+### Using the Jetty Plugin
+
+This will compile the project then deploy it to an embeded instance of the
+Jetty servlet engine, which will be use on port 8080, by default. As a
+result, once running, your application will be available at
+<http:localhost:8080/myproject>.
+
+See the [Jetty plugin](http://www.mortbay.org/maven-plugin/index.html)
+documentation for configuration options, etc.
+
+### Using with a specific IDE
+
+#### Eclipse
+
+To create an Eclipse project, use `mvn eclipse:eclipse` inside the project
+directory and import the project in your workspace (File -> Import).
+
+Or alternatively install the [m2eclipse](http://m2eclipse.codehaus.org/) or
+[Eclipse IAM](http://www.eclipse.org/iam/) plugin and add the project
+directly.
+
+#### IDEA ####
+
+From within IDEA, just use "File/New Project/Import from external
+model/Maven", choose the project directory and select the generated pom.xml.
+
+#### NetBeans ####
+
+To create a NetBeans project, just open the pom.xml directly.
+
+### More examples
+
+Many more information and examples can be found on our Wiki or
+[here](http://www.ralfebert.de/blog/wicket/wicket_eclipse_setup/)


Reply via email to