Author: bdelacretaz Date: Fri Mar 25 12:29:01 2005 New Revision: 159058 URL: http://svn.apache.org/viewcvs?view=rev&rev=159058 Log: concepts page fleshed out by copying from 2.1 site
Added: cocoon/trunk/src/documentation/src/content/xdocs/concepts/files/ cocoon/trunk/src/documentation/src/content/xdocs/concepts/files/pyramid-model.gif (with props) Modified: cocoon/trunk/src/documentation/src/content/xdocs/concepts/comments_en.xml cocoon/trunk/src/documentation/src/content/xdocs/concepts/content_en.xml Modified: cocoon/trunk/src/documentation/src/content/xdocs/concepts/comments_en.xml URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/documentation/src/content/xdocs/concepts/comments_en.xml?view=diff&r1=159057&r2=159058 ============================================================================== --- cocoon/trunk/src/documentation/src/content/xdocs/concepts/comments_en.xml (original) +++ cocoon/trunk/src/documentation/src/content/xdocs/concepts/comments_en.xml Fri Mar 25 12:29:01 2005 @@ -1,6 +1,8 @@ <?xml version="1.0"?> <comments> - <comment name="Reinhard Poetz" by="http://www.poetz.cc" subject="the first comment"> - my first comment - </comment> + <!-- hide this for now + <comment name="Reinhard Poetz" by="http://www.poetz.cc" subject="the first comment"> + my first comment + </comment> + --> </comments> Modified: cocoon/trunk/src/documentation/src/content/xdocs/concepts/content_en.xml URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/documentation/src/content/xdocs/concepts/content_en.xml?view=diff&r1=159057&r2=159058 ============================================================================== --- cocoon/trunk/src/documentation/src/content/xdocs/concepts/content_en.xml (original) +++ cocoon/trunk/src/documentation/src/content/xdocs/concepts/content_en.xml Fri Mar 25 12:29:01 2005 @@ -1,10 +1,88 @@ <?xml version="1.0"?> <html> - <head> - <title>Cocoon concepts</title> - </head> - <body> - <h1>Sepration of Concerns (SoC)</h1> - <p>Unter SoC versteht man ...</p> - </body> + <head> + <title>Cocoon concepts</title> + </head> + <body> + <h1>Separation of Concerns (SoC)</h1> + <p>We believe the single most important Cocoon innovation is SoC-based design.</p> + + <p>SoC is something that you've always been aware of: not everybody is equal, + not everybody performs the same job with the same ability.</p> + + <p>It can be observed that separating people with common skills in different + working groups increases productivity and reduces management costs, but only + if the groups do not overlap and have clear "contracts" that define their + operability and their concerns.</p> + + <p>For a web publishing system, the Cocoon project uses what we call the + <em>pyramid of contracts</em> which outlines four major concern areas and five + contracts between them. Here is the picture: + </p> + + <img alt="The Cocoon Pyramid Model of Contracts" src="files/pyramid-model.gif"/> + <p> + Cocoon is <em>engineered</em> to provide you a way to isolate these four + concern areas using just those 5 contracts, removing the contract + between style and logic that has been bugging web site development since + the beginning of the Web. + </p> + <p> + Why? because programmers and graphic people have very different skills + and work habits... so, instead of creating GUIs to hide the things that + can be harmful (like graphic to programmers or logic to designers), + Cocoon allows you to separate the things into different files, allowing + you to "seal" your working groups into separate virtual rooms connected + with the other rooms only by those "pipes" (the contracts), that you + give them from the management area. + </p> + <p> + Let's have an example: + </p> + <pre class="code"> +<page> + <content> + <para>Today is <dynamic:today/></para> + </content> +</page> + </pre> + <p> + Such a page is written by the content writers and you give them the + "contract" that states that the tag <dynamic:today/> prints out the time of the day + when included in the page. Content writers don't care (nor + should) about what language has been used for that, nor they + can mess up with the programming logic that generates the + content since it's stored in another part of the system they + don't have access to. + </p> + <p> + So <dynamic:today/> is the "logic - content" contract. + </p> + <p> + At the same time, the structure of the page is given as a contract to + the graphic designers who have to come up with the transformation rules + that transform this structure in a language that the browser can + understand (HTML, for example). + </p> + <p> + So, the page structure is the "content - style" contract. + </p> + <p> + As long as these contracts don't change, the three areas can work in a + completely parallel way without overwhelming the human resources used to + manage them: costs decrease because time to market is reduced and + maintenance costs is decreased because errors do not propagate out of + the concern areas. + </p> + <p> + For example, you can tell your designers to come up with a "Xmas look" + for your web site, without even telling the other people: just switch to + the Xmas transformation rules on Xmas morning and you're done.... just + imagine how painful it would be to do this on your web site today. + </p> + <p> + With the Cocoon architecture all this is a couple of line changes away. + </p> + + </body> </html> Added: cocoon/trunk/src/documentation/src/content/xdocs/concepts/files/pyramid-model.gif URL: http://svn.apache.org/viewcvs/cocoon/trunk/src/documentation/src/content/xdocs/concepts/files/pyramid-model.gif?view=auto&rev=159058 ============================================================================== Binary file - no diff available. Propchange: cocoon/trunk/src/documentation/src/content/xdocs/concepts/files/pyramid-model.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream