[jbosstools-commits] JBoss Tools SVN: r39392 - in trunk/documentation/guides/GettingStartedGuide/en-US: images and 1 other directory.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Mar 8 18:49:56 EST 2012


Author: irooskov at redhat.com
Date: 2012-03-08 18:49:54 -0500 (Thu, 08 Mar 2012)
New Revision: 39392

Removed:
   trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml
   trunk/documentation/guides/GettingStartedGuide/en-US/images/first_seam/
Modified:
   trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml
   trunk/documentation/guides/GettingStartedGuide/en-US/master.xml
Log:
removing first_seam chapter as it is now the seam tools tutorial guide


Modified: trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml	2012-03-08 23:48:11 UTC (rev 39391)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/Getting_Started_Guide.xml	2012-03-08 23:49:54 UTC (rev 39392)
@@ -13,7 +13,6 @@
 <xi:include href="jboss_perspective.xml" xmlns:xi="http://www.w3.org/2001/XInclude">
 </xi:include>
 <xi:include href="manage.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
-<xi:include href="first_seam.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
 <xi:include href="jsp_application.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
 <xi:include href="rad_jsf_application.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>
 <xi:include href="project_examples.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include>

Deleted: trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml	2012-03-08 23:48:11 UTC (rev 39391)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/first_seam.xml	2012-03-08 23:49:54 UTC (rev 39392)
@@ -1,838 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<chapter id="first_seam">
-  <?dbhtml filename="first_seam.html"?>
-  <chapterinfo>
-    <keywordset>
-      <keyword>JBoss Developer Studio</keyword>
-      <keyword>Seam</keyword>
-      <keyword>JBoss</keyword>
-    </keywordset>
-  </chapterinfo>
-  <title>Write Your First Project with JBoss Developer Studio</title>
-  <para>This chapter is a set of hands-on labs. You get step-by-step information about how JBoss
-    Developer Studio can be used during the development process.</para>
-  <section id="create_seam_application">
-    <title>Create a Seam Application</title>
-    <para>In this section you will learn how to create a Seam project in JBoss Developer Studio, how to start the
-      server and what structure your project has after it is created.</para>
-    <section id="start_dev_db">
-      <title>Start Development Database</title>
-      <para>Before opening the JBoss Developer studio you need to download and start the <ulink
-          url="http://docs.jboss.org/tools/resources/GSG_database.zip">Workshop Database</ulink>
-        .</para>
-      <para>To start the database just run <filename>./runDBServer.sh</filename> or <filename>runDBServer.bat</filename> from the database directory.</para>
-      <para>The end result should be a console window that looks like:</para>
-      <figure>
-        <title>Starting the Database</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam1.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <note>
-      	<title>Tip</title>
-      	<para>You may need to set the <filename>runDBServer.sh</filename> executable flag with the following command:</para>
-      	<screen>chmod +x runDBServer.sh</screen>
-      </note>
-    </section>
-    <section id="create_deploy_seam">
-      <title>Create and deploy Seam Web Project</title>
-      <para>Minimize the terminal window and run <property>JBoss Developer Studio</property>
-        from Applications Menu or from the desktop icon.</para>
-      <para>First you will see the Workspace Launcher. Change the default workspace location if
-        it's needed. Click the <guibutton>OK</guibutton> button. </para>
-      <figure>
-        <title>Workspace Launcher Dialog</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam2.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>After startup, you see the welcome page. You could read how to work with welcome pages
-        in <link linkend="Welcome">previous</link> chapter. Now select <guibutton>Create
-          New...</guibutton> icon and then press on <guibutton>Create Seam Project</guibutton>
-        link.</para>
-      <para>The <property>New Seam Project wizard</property> is started. You need to enter a name
-        (e.g., &quot;workshop&quot;) and a location for your new project. The wizard has
-        an option for selecting the actual Server (and not just WTP runtime) that will be used for
-        the project. This allows the wizard to correctly identify where the destination folder for the required datasource and
-        driver libraries.</para>
-      <figure>
-        <title>New Seam Project Wizard</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam3.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>All settings are already specified here, you can just modify the Configuration. Click on
-        the <guibutton>Modify...</guibutton> button to configure your custom facet options:</para>
-      <figure id="ProjectFacetsSpecifyingScreen">
-        <title>Project Facets Specifying</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam4.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>On the whole the dialog allows to select the "features" you want to use in your project.
-        <property>JBoss Developer Studio</property> will then setup the appropriate tooling for
-        your project. Since JBoss Seam integrates all popular Java EE frameworks, you can select any
-        combination of technologies from the list. Here, for the default configuration, Dynamic Web
-        Module, Java, JavaServer Faces (JSF), and Seam Facet are already selected for a typical
-        database-driven web application. The default project facets should suffice.</para>
-      <para>In the <property>Project Facets</property> form you can also bring up server runtimes
-        panel by clicking <property> Runtimes</property> tab on the right corner. This panel shows
-        available server runtimes.</para>
-      <figure>
-        <title>Runtimes Selecting</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam5.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Click the <guibutton>OK</guibutton> and then the <guibutton>Next</guibutton> button to proceed to the next step.</para>
-      <para>A dynamic web application contains both web pages and <property>Java</property> code.
-        The next wizard will ask you where you want to store Java files.</para>
-      <figure>
-        <title>Java Build Path</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam5a.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Following page provides you <property>Web Module Settings</property> .You can just leave
-        the default values or choose another folder.</para>
-      <figure>
-        <title>Web Module Settings</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam6.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>On the next form, you will be able to select where those library JARs come from. The
-        easiest is just to select the JARs provided by the JBoss AS runtime associated with this
-        project. That is why it is important to chose the right JBoss AS 4.2 runtime in the project
-        setup window.</para>
-      <itemizedlist>
-        <listitem>
-          <para>Select <emphasis>
-              <property>Library Provided by Target Runtime</property>
-            </emphasis> as <property>Type</property> of <property>JSF Implementation
-              Library</property>. We will use the JSF implementation that comes with JBoss
-            server.</para>
-        </listitem>
-        <listitem>
-          <para>Click the <guibutton>Next</guibutton> button</para>
-        </listitem>
-      </itemizedlist>
-      <figure>
-        <title>JSF Capabilities Adding</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam7.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Next wizard step needs more settings that previous. Let's start with <property
-          >General</property> section.</para>
-      <para>Leave the default Seam runtime and check a WAR deployment.</para>
-      <figure>
-        <title>Seam Facet Setting</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam8.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>The <property>Database</property> section is a little tricky. The <property>Connection
-          Profile</property> needs to be edited so that the new project works properly with the
-        external HSQLDB server. By default the project wizard tries to use the JBoss embedded
-        HSQLDB, but the tutorial uses an external database to replicate a more real world
-        development scenario. Click on the <guibutton>Edit</guibutton> button to modify the Connection
-        Profile.</para>
-      <figure>
-        <title>DataBase Setting</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam8_1.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Select <property>HSQLDB Profile Properties</property>. Make sure the Database location
-        is set to <emphasis>
-          <property>hsql://localhost:1701</property>
-        </emphasis></para>
-      <figure>
-        <title>JDBC Connection Properties</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam9.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Click the <guibutton>Test Connection</guibutton> button. At this point it probably won’t work. This
-        happens if the HSQL JDBC driver is not exactly the same. This can be solved by
-        modifying the HSQLDB database driver settings. To modify the settings, click the <guibutton>Edit Driver Definition Driver</guibutton> button.
-      </para>
-      <figure>
-        <title>Driver Details</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam9_1.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>The proper Driver JAR File should be listed under <property>Jar List</property>. Select
-        the <filename>hsqldb.jar</filename> file found in the <filename>jbdevstudio/jboss-eap/jboss-as/common/lib/</filename> directory and
-        click the <guibutton>OK</guibutton> button.</para>
-      <figure>
-        <title>Driver Details</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam10.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Now, the <guibutton>Test Connection</guibutton> should succeed. After testing the
-        connection, click the <guibutton>OK</guibutton> button.</para>
-      <figure>
-        <title>Connection Testing</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam12.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>You can leave the <property>Code Generation</property> section as is. It refers to Java packages in which the generated code will be placed.</para>
-      
-      <figure>
-        <title>Code Generation Setting</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam13.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-
-      <note>
-        <title>Tip:</title>
-        <para>If you want to name your web project "MyProject-war" note that the Test project name should not be "MyProject-war-test", 
-          it should be "MyProject-test".</para>
-      </note>
-      
-      <para>Click on <guibutton>Finish</guibutton> button. Now, there should be a new Seam project called “workshop” listed in the Package Explorer view.</para>
-      <figure>
-        <title>&quot;workshop&quot; Project in the Package Explorer</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam14.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-    </section>
-    <section id="start_JBossAS">
-      <title>Start JBoss Application Server</title>
-      <para>The complete information on how to manage JBoss AS from JBoss Developer Studio can be found in the <link linkend="manage">corresponding chapter</link>.</para>
-      <para>Now you just need to start the server by clicking on the Start the server icon (
-          <inlinemediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam15.png"/>
-          </imageobject>
-        </inlinemediaobject> ) in the <property>Servers</property> view.</para>
-      <para>Then run the project by selecting the project then selecting <menuchoice><guimenuitem>Run As...</guimenuitem><guimenuitem>Run on Server</guimenuitem></menuchoice>.</para>
-            
-      <figure>
-        <title>&quot;workshop&quot; Run As</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam15a.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      
-      <para>
-      	Select the server you want to run the project on, and click the <guibutton>Finish</guibutton> button.
-      </para>
-      
-      <figure>
-        <title>&quot;workshop&quot; Run On Server</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam15b.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      
-      <note>
-        <title>Note:</title>
-        <para>If the project does not show up, then you can use a normal browser and use <emphasis>
-            <property>http://localhost:8080/workshop/home.seam</property>
-          </emphasis> as the URL.</para>
-      </note>
-      <para>Your project looks like this:</para>
-      <figure>
-        <title>&quot;workshop&quot; Project Started</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam16.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-    </section>
-    <section id="workshop_code_overview">
-      <title>Workshop Project Code Overview</title>
-      <para>Now let's examine the project and its structure. Go back to the Package Explorer view in
-        JBoss Developer Studio.</para>
-      <para>It seems like it&apos;s not much for a project but this shell application contains a login
-        screen with default login logic, a menu template that can be further modified, and other
-        layout templates.</para>
-      <para>It&apos;s important to note that the business logic will reside in the <filename>src/hot</filename> folder, by default. And, the package naming conventions that were used in <property>New Seam project wizard</property> could have been changed to something
-        different from <emphasis>
-          <property>org.domain.workshop.session</property>. </emphasis> Also, notice that there is a
-        default <filename>Authenticator.java</filename> file. This is where custom security logic
-        can be added. Seam has a nice declarative security model that we will explore in more
-        detail later on. The <filename>src/main</filename> folder is a model directory. It stores the project&apos;s JPA entity
-        beans.</para>
-      <figure>
-        <title>Project Structure</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam17.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>The view tier of the application is also important. Seam uses facelets and there is a
-        built-in facelets GUI editor that includes nice WYSIWYG and component drag/drop
-        functionality. Try this out by opening <filename>home.xhtml</filename> from <filename>WebContent</filename> folder.</para>
-      <figure>
-        <title>Facelets GUI Editor</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam18.png" scale="85"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Notice that the templates reside in the <filename>WebContent/layout</filename> folder. There is a stylesheet in the <filename>WebContent/stylesheet</filename> folder. There is also a login and default error page. The Facelet editor will be
-        explored in more detail later in the lab.</para>
-      <para>The project already has a datasource that was created via the Seam project wizard
-        database settings. All of the Seam specific configuration files and JAR
-        dependencies are included and located in their proper locations. On last noteworthy line item
-        is related to the build script. There isn’t a build script because the Eclipse WTP (Web Tools
-        Project) plugin is used to publish web application changes. As you can see, JBoss Developer
-        Studio is removing a great deal of complexity from the enterprise Java project
-        setup and deployment process. The end result is the developer is writing code, not spending
-        time trying to figure out how to get a decent development environment and project
-        build process.</para>
-    </section>
-  </section>
-  <section id="seam_action_dev">
-    <title>Seam Action Development</title>
-    <para>Now it’s time to write some code. The good news is that JBoss Developer Studio can also
-      help out in this respect. In this section, we will create a new Seam Action POJO and facelet
-      with some custom business logic and some GUI changes.</para>
-    <section id="create_seam_action">
-      <title>Create a New Seam Action</title>
-      <para>Go to main menu bar and click on <menuchoice><guimenuitem>File</guimenuitem><guimenuitem>New</guimenuitem><guimenuitem>New Seam Action</guimenuitem></menuchoice> to start the New Seam Action wizard.</para>
-      <para>Specify a <property>Seam component name</property> (e.g., &quot;myAction&quot;). The
-        other properties will be auto-completed for you so there is no need to change them. Click on
-          the <guibutton>Finish</guibutton> button.</para>
-      <figure>
-        <title>New Seam Action Wizard</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam19.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Now, open the <filename>MyAction.java</filename> file and replace the
-        &quot;myAction&quot; method with this logic:</para>
-      <programlisting><![CDATA[public void myAction() {
-Calendar cal = Calendar.getInstance();
-log.info("myAction.myAction() action called");
-statusMessages.add("MyAction Executed on:" + cal.getTime());
-}]]></programlisting>
-      <para>You also need to import the <property>java.util.Calendar</property> class by clicking
-           <keycombo><keycap>CTRL</keycap><keycap>Shift</keycap><keycap>O</keycap></keycombo>.</para>
-    </section>
-    <section id="test_seam_action">
-      <title>Test Seam Action</title>
-      <para>The new action can be tested by browsing the workshop-test project. JBoss Developer
-        Studio has already created a TestNG test case for you.</para>
-      <figure>
-        <title>&quot;workshop-test&quot; Project</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam20.png" scale="85"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      
-      <note>
-      	<title>Tip</title>
-      	<para>You may have to refresh the project to see the new files.</para>
-      </note>
-      
-      <para>The test case simulates a Seam method execution for the <property>MyAction.myAction()</property> logic.</para>
-      <para>To run the test case, right click on <filename>MyActionTest.xml</filename> and click <menuchoice><guimenuitem>Run As</guimenuitem><guimenuitem>TestNG Suite</guimenuitem></menuchoice> or use the <guibutton>Run As...</guibutton> toolbar shortcut as shown below.</para>
-      <figure>
-        <title>TestNG Running</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam21.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>With any luck, the test case will pass. Look at the TestNG view.</para>
-      <figure>
-        <title>TestNG Results</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam22.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Now, it’s safe to test the new Seam Action in a web browser. The fastest way to do that
-        is to right click on <filename>myAction.xhtml</filename> and use <menuchoice><guimenuitem>Run As...</guimenuitem><guimenuitem>Run On Server</guimenuitem></menuchoice> which will show the appropriate URL in the browser. Alternatively you can
-        manually enter <emphasis>
-          <property>http://localhost:8080/workshop/myAction.seam</property>
-        </emphasis> into a browser.</para>
-      <figure>
-        <title>Seam Action in a Web Browser</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam23.png" scale="90"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-    </section>
-    <section id="modify_seam_action">
-      <title>Modify Seam Action User Interface</title>
-      <para>Browse to <emphasis>
-          <property>http://localhost:8080/workshop/myAction.seam</property>
-        </emphasis> and click on the <guibutton>myAction</guibutton> button. This executes the “myAction” method.
-        This looks pretty good, but we could make this page look a little better.</para>
-      <para>Open <emphasis>
-          <filename>WebContent/myAction.xhtml</filename>
-        </emphasis> in JBoss Developer Studio to use the nice facelets editor.</para>
-      <figure>
-        <title>Open Seam Action with Editor </title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam24.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Right click on the &quot;myAction!&quot; button in the visual part of editor and select
-          <property>&lt;h:commandButton&gt; Attributes</property>.</para>
-      <figure>
-        <title>Seam Action Editing</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam25.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Change the <property>value</property> of the button to something different. If desired,
-        you can change any other text on the page. Then, type <keycombo><keycap>CTRL</keycap><keycap>S</keycap></keycombo> to save the facelet.</para>
-      <figure>
-        <title>Attributes Dialog</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam26.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Refresh <emphasis>
-          <property>http://localhost:8080/workshop/myAction.seam</property>
-        </emphasis> and now you should see your changes.</para>
-      <para>Notice that you did not have to publish the application. JBoss Developer Studio auto-published it for you.</para>
-      <figure>
-        <title>Seam Action Is Modified</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam27.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-    </section>
-  </section>
-  <section id="declarative_security">
-    <title>Declarative Security</title>
-    <para>In this section you will see how easy it is to secure the facelets and facelet components
-      in Seam. Let’s go ahead and secure the action button, then we will secure the entire
-      page.</para>
-    <section id="edit_login">
-      <title>Edit Login Authentication Logic</title>
-      <para>There is a class called <filename>Authenticator.java</filename>. The login page will
-        execute the <property>Authenticator.authenticate()</property> method by default, so we’ll
-        start by viewing the authentication logic.</para>
-      <para>Open <filename>Authenticator.java</filename> in JBoss Developer Studio and you will see that it contains the
-          <property>authenticate()</property> method with this code:</para>
-      <programlisting><![CDATA[public boolean authenticate()
-    {
-        log.info("authenticating {0}", credentials.getUsername());
-        //write your authentication logic here,
-        //return true if the authentication was
-        //successful, false otherwise
-        if ("admin".equals(credentials.getUsername()))
-        {
-            identity.addRole("admin");
-            return true;
-        }
-        return false;
-    }]]></programlisting>
-    </section>
-    <section id="secure_seam_page">
-      <title>Secure Seam Page Component</title>
-      <para>Open <filename>myAction.xhtml</filename> and add a new secured command button:</para>
-      <programlisting><![CDATA[<h:commandButton id="myActionSecured"
-value="Secured Action Button"
-action="#{myAction.myAction}"
-rendered="#{s:hasRole('admin')}"/>]]></programlisting>
-      <para>Refresh <emphasis>
-          <property>http://localhost:8080/workshop/myAction.seam</property>
-        </emphasis> If you are not logged in you will only see one button. If you are logged in,
-        there will be two buttons.</para>
-      <figure>
-        <title>One Button on a Page</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam28.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>The secured button is not visible because the user isn’t logged in as <property
-          >&quot;admin&quot;</property>.</para>
-      <figure>
-        <title>Secured Button is Visible</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam29.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>The user is logged in as <property>&quot;admin&quot;</property>. Securing components is
-        easy but securing pages is pretty simple as well. </para>
-      <para>Open <emphasis>
-          <filename>WebContent/WEB-INF/pages.xml</filename>
-        </emphasis>. Then add this markup directly underneath the &lt;pages&gt; element:</para>
-      <programlisting><![CDATA[<page view-id="/myAction.xhtml" login-required="true"/>]]></programlisting>
-      <para>Refresh <emphasis>
-          <property>http://localhost:8080/workshop/myAction.seam</property>
-        </emphasis> If you are not logged in you will get bounced back to the login page.</para>
-      <figure>
-        <title>Login Page</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam30.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Thus, if you enter login credentials for the <property>&quot;admin&quot;</property>
-        user, you will be re-directed to the secured page and secured component. If you enter
-        different login credentials, page access will be granted, but the secured component will not
-        be displayed.</para>
-      <para>Congratulations! You have secured your new action both at the facelet component and page
-        level. You also added custom authentication logic to the login action.</para>
-    </section>
-  </section>
-  <section id="browsing_workshop_db">
-    <title>Browsing Workshop Database</title>
-    <para>In this section you get to know how to use the workshop database that was started at the
-      beginning of the lab.</para>
-    <section id="database_connectivity">
-      <title>Database Connectivity Setup</title>
-      <para>The workshop data can be browsed inside of JBoss Developer Studio.</para>
-      <para>To open the Data Source Explorer, click on <menuchoice><guimenuitem>Window</guimenuitem><guimenuitem>Open Perspective</guimenuitem><guimenuitem>Other</guimenuitem><guimenuitem>Database Development</guimenuitem></menuchoice>.</para>
-      <para>In the Data Source Explorer, expand the <property>Databases</property> node and select the
-          <property>Default</property> database. Right click on it, select <guimenuitem>Connect</guimenuitem> from the context menu.</para>
-      <figure>
-        <title>Data Source Explorer</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam31.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-    </section>
-    <section id="browsing_workshop_db2">
-      <title>Browse Workshop Database</title>
-      <para>Then in the current view, drill down to the <property>CUSTOMERS</property> table.</para>
-      <figure>
-        <title>&quot;CUSTOMERS&quot; Table</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam32.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Right click on <property>CUSTOMERS</property>, select <menuchoice><guimenuitem>Data</guimenuitem><guimenuitem>Sample Contents</guimenuitem></menuchoice> to view the data in the table.</para>
-      <para>There should be a SQL Results view on the workbench, but it could be hidden. Click on
-        the <property>&quot;Result1&quot;</property> tab in the right side and you should see the
-        data in the CUSTOMERS table.</para>
-      <figure>
-        <title>SQL Results View</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam33.png" scale="92"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <note>
-        <title>Note:</title>
-        <para>
-        	If you can’t find the SQL Results view tab, click on <menuchoice><guimenuitem>Window</guimenuitem><guimenuitem>Show View</guimenuitem><guimenuitem>Other</guimenuitem><guimenuitem>SQL Development</guimenuitem><guimenuitem>SQL Results</guimenuitem></menuchoice>.
-        </para>
-      </note>
-      <para>Congratulations! You just connected to the workshop database and queried the content
-        using Database Explorer tools.</para>
-    </section>
-  </section>
-  <section id="db_programming">
-    <title>Database Programming</title>
-    <para>Now, it’s time to reverse engineer the workshop database into a fully functioning Seam
-      CRUD (Create Read Update Delete) application.</para>
-    <section id="reverse_engineer_crud">
-      <title>Reverse Engineer CRUD from a Running Database</title>
-      <para>In <property>JBoss Developer Studio</property>, switch to the <property>Seam
-          perspective</property>, and then right-click the project and select <menuchoice><guimenuitem>New</guimenuitem><guimenuitem>Seam Generate Entities</guimenuitem></menuchoice>.</para>
-      <para>The &quot;workshop&quot; project in the <property>Seam Generate Entities wizard</property>
-        will be selected automatically. There is no need to change something more, click the <guibutton>Next</guibutton> button to proceed to the next step.</para>
-      <figure>
-        <title>Generate Seam Entities</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam34.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>On the next page use the <guibutton>Refresh</guibutton> button to display the database, then click the <guibutton>Include</guibutton> button to include all the tables from the database, and finally click the <guibutton>Finish</guibutton> button.</para>
-      <figure>
-        <title>Selecting Tables</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam34a.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>After running the Generate Entities action, you will see new <emphasis>
-          <property>org.domain.workshop.entity</property>
-        </emphasis> classes. These classes represent insert/update/delete/query logic.</para>
-      <figure>
-        <title>org.domain.workshop.entity Classes</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam35.png" scale="90"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>There is also the <emphasis>
-          <property>org.domain.workshop.entity</property>
-        </emphasis> package that contains the JPA classes. These are the entity beans that are
-        mapped to database tables. Note that you can use Seam refactoring tools with Seam components.
-        Read more about it in <ulink
-          url="http://download.jboss.org/jbosstools/nightly-docs/en/seam/html_single/index.html#seam_refactoring"
-          >Seam refactoring tools chapter</ulink> of Seam Dev Tools Reference Guide.</para>
-      <para>Last, but not least, there are facelets for all of the CRUD screens. The best way to get
-        a feel for the generated code is to open a browser and play around with the application. Go
-        to <emphasis>
-          <property>http://localhost:8080/workshop</property>
-        </emphasis> and insert/update/delete/query a few records. There is quite a bit of AJAX in
-        this application, but we will explore that later on in the lab. For now, take note
-        of the page tabs, required field logic and data table sorting in the list pages. </para>
-        
-      <note>
-      	<title>Tip</title>
-      	<para>
-      		If you see the error <code>java.lang.ClassNotFoundException: org.jboss.seam.servlet.SeamListener</code> in the console output from the Application Server, you may need to copy the <filename>jboss-seam.jar</filename> file from the <filename>lib</filename> subdirectory in the Seam library (which can be downloaded from <ulink url="http://seamframework.org/Seam2/Seam2DistributionDownloads">here</ulink>) into the <filename>/server/default/deploy/workshop.war/WEB-INF/lib/</filename> subdirectory in your Application Server (where "default" refers to the server profile that you are using).
-      	</para>
-      </note>
-      <note>
-      	<title>Tip</title>
-      	<para>
-      		If you see the error <code>Could not instantiate Seam component: org.jboss.seam.security.ruleBasedPermissionResolver</code>, copy the <filename>mvel2.jar</filename> file from the Seam library to the same destination directory mentioned in the tip above.
-      	</para>
-      </note>
-        
-      <figure>
-        <title>CustomersList.xhtml in the Editor</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam36.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Congratulations! You now have a fully functioning CRUD application that is AJAX enabled.</para>
-    </section>
-    <section id="use_hibernate_tools">
-      <title>Use Hibernate Tools to Query Data via JPA</title>
-      <para>Now, it&apos;s time to write some JPA queries using the Hibernate perspective in
-          <property>JBoss Developer Studio</property>.</para>
-      <para>In the upper right corner of the workbench there is a small icon (see the figure below),
-        click on it and select <guimenuitem>Hibernate</guimenuitem>.</para>
-      <figure>
-        <title>Hibernate Perspective</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam37.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Look at the Hibernate Configurations view. In the &quot;workshop&quot; project, drill
-        down on the <property>Session Factory</property> and notice that the JPA entities/attributes
-        are listed in a nice tree view.</para>
-      <figure>
-        <title>Hibernate Configurations View</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam38.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Right click on the <property>Session Factory</property> and select <guimenuitem>HQL
-          Editor</guimenuitem>. This will open a JPA query scratch pad window.</para>
-      <para>Write your query and click on the &quot;Hibernate Dynamic SQL Preview&quot; tab. You
-        should see the SQL that will be executed if this JPA query is run.</para>
-      <figure>
-        <title>JPA Query Editor</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam39.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Run the query by clicking on the green run icon.</para>
-      <para>The results are listed in the &quot;Hibernate Query Result&quot; view. There is a
-        &quot;Properties&quot; tab in the workbench that can be used to see a specific JPA result.
-        These results represent the JPA objects because our query did not specify column
-        names.</para>
-      <figure>
-        <title>Hibernate Query Result View</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam40.png" scale="80"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>The query can be refined, and take note that there is nice code completion in the JPA
-        query editor.</para>
-      <figure>
-        <title>Code Completion</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam41.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>A refined query will return results that are more ResultSet oriented. Notice the join
-        logic that JPA supports.</para>
-      <figure>
-        <title>The Hibernate Query Result</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam42.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>There was no need to specify an <property>Employees</property> table in the <property
-          >from</property> part of the JPA query because JPA supports reference traversal via Java
-        class attribute references. Not only are JPA and HQL queries fully supported, but Criteria
-        based queries can also be written in the Criteria Editor. You should spend some time
-        tinkering with different queries and possibly Criteria based queries, even though the
-        instructions are not provided in this lab.</para>
-      <figure>
-        <title>Criteria Editor</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam43.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-    </section>
-    <section id="use_hibernate_to_vizualize">
-      <title>Use Hibernate Tools to visualize the Data Model</title>
-      <para>Now, it’s time to view the data model for the workshop database.</para>
-      <para>In the Hibernate Configurations view, select &quot;workshop&quot; project and expand the
-          <property>Configuration</property> node. Select the <property>Customers</property> entity,
-        right click on it, choose <guimenuitem>Mapping Diagram</guimenuitem>.</para>
-      <figure>
-        <title>Mapping Diagram Opening</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam44.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>You see a Diagram tab for the CUSTOMERS table and any tables that have FK references.
-        This is a handy way to view the data model and JPA mappings. Now, you’ve got access to
-        something that the Erwin Data Modeler can’t do.</para>
-      <figure>
-        <title>Diagram Tab</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam45.png" scale="80"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-    </section>
-  </section>
-  <section id="rich_components">
-    <title>Rich Components</title>
-    <para>This lab will conclude with one last AJAX twist. In this section we add a RichFaces
-        <property>inputNumberSlider</property> to the Order Details edit screen.</para>
-    <section id="add_richfaces">
-      <title>Add a Richfaces component to the CRUD Application</title>
-      <para>Switch to Seam perspective, and open <filename>WebContent/OrderdetailsEdit.xhtml</filename> in JBoss Developer Studio.</para>
-      <para>Change the form field values using the visual editor. Seam has generated the form field
-        names that match the database column names. This is not ideal for business users.</para>
-      <figure>
-        <title>Form Fields Editing</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam46.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Also, replace the QTY Ordered input field with a <property>inputNumberSlider</property>.
-        You can use the JBoss Developer Studio palette or right click on the form and insert the
-        RichFaces component.</para>
-      <figure>
-        <title>Insert RichFaces Component from Context Menu</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam47.png" scale="85"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>One the last option is to use the source view and manually copy the inputNumberSlider
-        markup listed below:</para>
-      <programlisting><![CDATA[<rich:inputNumberSlider id="quantityOrdered" required="true"
-                                                               value="#{orderdetailsHome.instance.quantityordered}"/>]]></programlisting>
-      <figure>
-        <title>Manually copying Source Code</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam48.png"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>The end result is an edit page that has better form labels and a new RichFaces
-        control.</para>
-      <figure>
-        <title>The Result Page</title>
-        <mediaobject>
-          <imageobject>
-            <imagedata fileref="images/first_seam/first_seam49.png" scale="85"/>
-          </imageobject>
-        </mediaobject>
-      </figure>
-      <para>Congratulations! You have completed the JBoss Developer Studio lab.</para>
-    </section>
-  </section>
-</chapter>
\ No newline at end of file

Modified: trunk/documentation/guides/GettingStartedGuide/en-US/master.xml
===================================================================
--- trunk/documentation/guides/GettingStartedGuide/en-US/master.xml	2012-03-08 23:48:11 UTC (rev 39391)
+++ trunk/documentation/guides/GettingStartedGuide/en-US/master.xml	2012-03-08 23:49:54 UTC (rev 39392)
@@ -66,7 +66,6 @@
  &jbosscentral;
  &jbossperspective;
  &manage; 
- &first_seam; 
  &jsp_application;
  &rad_jsf_application; 
  &project_examples;



More information about the jbosstools-commits mailing list