<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    ManagementConsoleDevGuide
</h3>
<span style="margin-bottom: 10px;">
    modified by <a href="http://community.jboss.org/people/heiko.braun">Heiko Braun</a> in <i>JBoss AS7 Development</i> - <a href="http://community.jboss.org/docs/DOC-16607">View the full document</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><h2>Development Guide</h2><p>You want to contribute to the management web interface for JBoss ? Then this is the right place to start.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3>Codebase</h3><p>Everything is hosted at <a class="jive-link-external-small" href="http://help.github.com/">github</a>, The best way is to <a class="jive-link-external-small" href="http://help.github.com/fork-a-repo/">create a fork</a> of either one of the codebases listed below and work on that one.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="font-size: 12px;">- Authoritative master: </span><a class="jive-link-external-small" href="https://github.com/jbossas/console" style="font-size: 12px; color: #355491;" target="_blank">https://github.com/jbossas/console</a></p><p><span style="font-size: 12px;">- Most recent: </span><a class="jive-link-external-small active_link" href="https://github.com/heiko-braun/as7-console" style="font-size: 12px; color: #355491;" target="_blank">https://github.com/heiko-braun/as7-console</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3>Prerequisites</h3><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>The console it self is developed using the <a class="jive-link-external-small" href="http://code.google.com/webtoolkit/overview.html">Google Web Toolkit</a>. You would need to make yourself familiar with the basics before we et going. The GWT SDK will be installed as part of the maven build. No need to fetch it on it's own. If you plan to work with Eclipse, then you should consider the development tools for GWT that a re provided by Google. But please don't about how things are setup correctly in Eclipse. We baseline on maven and that's it.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><h3>Things you need to know </h3><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="text-decoration: underline;">Widgets</span></p><p>We build on GWT 2.2 without any dependencies on external widget libraries. However these is a growing number of widgets (<a class="jive-link-external-small" href="http://">org.jboss.as.console.client.widgets</a>) that should be reused. We aim for keeping the overall number of widgets to a minimum. </p><p>But if you need anything that doesn't exist, take a look at the <a class="jive-link-external-small" href="http://www.smartclient.com/smartgwt/showcase/">SmartGWT showcase</a>, tell us about it and we'll then consider implementing it.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="text-decoration: underline;">MVP Pattern</span></p><p>But one of the cornerstones is the GWT Platform library, which nicely abstracts the MVP pattern.</p><p>It act's as a blueprint for the console design. A good <a class="jive-link-external-small" href="http://code.google.com/p/gwt-platform/wiki/GettingStarted#Using_GWTP">introduction can be found here</a>. (This is a "must read")&#160; </p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><span style="text-decoration: underline;">AutoBeans</span></p><p>Internal model representations are build as <a class="jive-link-external-small" href="http://code.google.com/p/google-web-toolkit/wiki/AutoBean">AutoBean's</a>. They align well with the default GWT API and have build-in serialization support. A general guideline: Any domain representation that's used within the console needs to be provided as an AutoBean abstraction. This means that beyond the integration layer (backend calls to the AS 7 domain) entities need to be adopted.</p><p>This is necessary to provide a baseline for the data binding used across widgets. Take a look at the form abstractions, then you'll know what I mean. The <a class="jive-link-external-small" href="http://google-web-toolkit.googlecode.com/svn/javadoc/latest/index.html?overview-summary.html">CellList and CellTable API's</a> are another example.</p></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Comment by <a href="http://community.jboss.org/docs/DOC-16607">going to Community</a></p>

        <p style="margin: 0;">Create a new document in JBoss AS7 Development at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=102&containerType=14&container=2225">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>