From xap-commits-return-1461-apmail-incubator-xap-commits-archive=incubator.apache.org@incubator.apache.org Mon Jun 25 03:07:09 2007 Return-Path: Delivered-To: apmail-incubator-xap-commits-archive@locus.apache.org Received: (qmail 86302 invoked from network); 25 Jun 2007 03:07:08 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 25 Jun 2007 03:07:08 -0000 Received: (qmail 66696 invoked by uid 500); 25 Jun 2007 03:07:12 -0000 Delivered-To: apmail-incubator-xap-commits-archive@incubator.apache.org Received: (qmail 66668 invoked by uid 500); 25 Jun 2007 03:07:11 -0000 Mailing-List: contact xap-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: xap-dev@incubator.apache.org Delivered-To: mailing list xap-commits@incubator.apache.org Received: (qmail 66659 invoked by uid 99); 25 Jun 2007 03:07:11 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 24 Jun 2007 20:07:11 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 24 Jun 2007 20:07:05 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id EFDAA1A981A; Sun, 24 Jun 2007 20:06:44 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r550330 [1/3] - in /incubator/xap/site: adoption.html architecture.html contribution.html download.html gettinghelp.html index.html license.html main.css news.html overview.html repository.html roadmap.html Date: Mon, 25 Jun 2007 03:06:43 -0000 To: xap-commits@incubator.apache.org From: bbuffone@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070625030644.EFDAA1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: bbuffone Date: Sun Jun 24 20:06:41 2007 New Revision: 550330 URL: http://svn.apache.org/viewvc?view=rev&rev=550330 Log: Updated website. Cleaned up the HTML code. Removed all unneeded code Formatted pages properly. Removed unreadable file names created templates for pages framed and non framed. updated index.html page added documentation for the xModify functionality added samples for xModify created xModify on top of jQuery Added: incubator/xap/site/adoption.html incubator/xap/site/architecture.html incubator/xap/site/contribution.html incubator/xap/site/download.html incubator/xap/site/gettinghelp.html incubator/xap/site/license.html incubator/xap/site/news.html incubator/xap/site/overview.html incubator/xap/site/repository.html incubator/xap/site/roadmap.html Modified: incubator/xap/site/index.html incubator/xap/site/main.css Added: incubator/xap/site/adoption.html URL: http://svn.apache.org/viewvc/incubator/xap/site/adoption.html?view=auto&rev=550330 ============================================================================== --- incubator/xap/site/adoption.html (added) +++ incubator/xap/site/adoption.html Sun Jun 24 20:06:41 2007 @@ -0,0 +1,146 @@ + + + +XAP: Adoption + + + + + +
+ + + + + +
+ + +
+ + + + + + + + + + + + + +
   + Welcome +   |   + See it in Action +   |   + Wiki +   |   + Download +   +
+ + + + + + + + +
+
+
+
+ +
+
+ + + + + +
+ + +
 Welcome
+
   Project
+  Overview
+  News
+  Download
+  Architecture
+  Examples and Demos
+  Roadmap
+  License
+
   Getting Started
+  Wiki
+  Getting Help
+
   Documentation
+  xModify
+  API and Syntax Reference
+
   Getting Involved
+  Contribution
+  Subversion Repository
+  XAP Adoption
+
+ + +
+ +
+
+
+
+
+ + +
+ + +
XAP Adoption  

This page lists companies, products or projects that have adopted XAP. If you are using XAP in your project and wish to be listed here, please submit it by sending an email to:

+

xap-dev@incubator.apache.org

+

In your email, please indicate: the name of your project/product/company, a brief description of your project, optionally a URL, logo, contact infomation and what is your  project's relationship with XAP (for example, embedded XAP in your product, used XAP to build an application, or XAP service provider, etc).

+

This list is presented based on the order a submission is approved. Only these submissions that have passed proper due diligence done by XAP comitters will be listed.

+

XAP is being used at:

+

http://rockstarapps.com

(last update - 22-Nov-06)

+ + +
+ + + + + + + +
+ Copyright 2006 + The Apache Software Foundation + +
+ + + + + \ No newline at end of file Added: incubator/xap/site/architecture.html URL: http://svn.apache.org/viewvc/incubator/xap/site/architecture.html?view=auto&rev=550330 ============================================================================== --- incubator/xap/site/architecture.html (added) +++ incubator/xap/site/architecture.html Sun Jun 24 20:06:41 2007 @@ -0,0 +1,264 @@ + + + +XAP: Architecture + + + + + +
+ + + + + +
+ + +
+ + + + + + + + + + + + + +
   + Welcome +   |   + See it in Action +   |   + Wiki +   |   + Download +   +
+ + + + + + + + +
+
+
+
+ +
+
+ + + + + +
+ + +
 Welcome
+
   Project
+  Overview
+  News
+  Download
+  Architecture
+  Examples and Demos
+  Roadmap
+  License
+
   Getting Started
+  Wiki
+  Getting Help
+
   Documentation
+  xModify
+  API and Syntax Reference
+
   Getting Involved
+  Contribution
+  Subversion Repository
+  XAP Adoption
+
+ + +
+ +
+
+
+
+
+ + +
+ +
Architecture  
+

Below is the architecture as it is proposed to work and what we are working towards.  These ideas will evolve as the project moves forward.

The Big Picture


Extensible Application Platform (XAP) user interface and data binding are described by Extensible Application Language (XAL) files containing an XML-based markup language designed to support application development - rather than document markup. XAP maps XAL markup to specific UI widgets. An XAP DOM, separate from the HTML DOM, maintains the UI state.
(and updates the HTML DOM through UI bridges.)

+


An XAP application consists of server- and client-side components as follows:

On the server side

+ + + + + + + + + + + + + + + + + + + + + + + +
ComponentDescription
1Any Web server.There are no specific server requirements; XAP code operates only on the client.
2 +

HTML boostraps or hosts.

+
An HTML file bootstraps the XAP application, or
an HTML file hosts an XAP application.
3 +

One or more XAL documents.

+
XAL documents describe the user interface, data binding and modifications.
+

On the client side

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ComponentDescription
1Web BrowserRuns in any Web browser.
2 +

XAP DOM

+
Holds the state of the XAP application and provides APIs for modification and structure listeners.
3 +

XAP Engine 

+
Consists of an XML parser, modifications modules (XModify), XPath, containers for system services,
and bridges for connecting XAL markup to HTML/DHTML/JavaScript.
4Event Handlers Coded in JavaScript on the client or located on the server as any request/response handler.
+

+
+
Figure 1a - XAP high level architecture
+



Figure 1b - XAP block diagram

+

Client Side Detail

The XAP engine works with the HTML DOM to display the user interface.

The XAP engine parses XAL documents which contain markup that builds the XAP DOM. The XAP DOM represents the user interface and state of the application. Each XML tag within an XAL document is either markup or an instruction to a system service. The XML can contain:

+
    +
  • user interface tags
  • +
  • XModify statements that can declaratively change user interface or application state
  • +
  • (XModfiy ?) statements that create or execute macros and managed client side code
  • +
  • (XModfiy ?) statements that call a system service such as networking 
     

    On the client:
  • +
+
+
Figure 2 - XAP client side detail
+

The above diagram shows: +
    +
  1. User Interface component bridges map XML tags to user interface
  2. +
  3. XAP DOM - holds the state of the XAP application
  4. +
  5. Containers manage system services and client side code objects (MCOs)
  6. +
  7. XML Parser processes the markup; markup consists of UI elements and instructions to operate on the UI DOM or other DOMs +
      +
    • XModify: provides a declarative means of updating user interface and application state
    • +
    • XPath: used within XModify statements and whenever DOM path resolution is supported
    • +
    • MCOs: client side managed code objects written in JavaScript; contain business logic and can be called via XML handlers
    • +
    • System Services such as networking, style sheets, etc.
    • +
    • Macros that provide simple XML modifications that can be executed on the fly
    • +
    +
  8. +
  9. UI Toolkits provide implementation of user interface components and make the relevant changes to the HTML DOM
  10. +
  11. Actual web browser DOM
  12. +
+XAP Architecture (simplified workflow)

The following diagram provides a high level overview of the XAP architecture with a workflow of XML input to the UI output. "A" is the XAP application, which is an XML file that consists of XAL markup and instructions. Subsequent changes to the DOM can be made either via additional XAP XML documents containing declarative modification instructures or programatically via object oriented interfaces.




+
Figure 3 - XAP Workflow
+

The above diagram demonstrates how XAL XML is fed into XAP to build the user interface. Events generated by user interaction are fed back into the XAP application. +
    +
  1. XML Parser processes the markup; markup consists of UI elements and instructions to operate on the UI DOM or other DOMs
  2. +
  3. Processed markup builds the UI DOM. The XAP DOM manages user interface state for the XAP portions of the application; listeners allow hooking into DOM changes.
  4. +
  5. Component bridges map XML tags to user interface
  6. +
  7. UI Toolkits provide implementation of user interface components and make the relevant changes to the HTML DOM
  8. +
  9. Actual browser DOM representing the web browsers user interface
  10. +
  11. Events are fired when the user interacts with the UI; these events are handled by the XAP application
  12. +
+
XAP Architecture (component detail)

The following diagram shows the same workflow but breaks out the steps in more detail and provides more information on the system components.



+
Figure 4 - XAP Workflow Detail
+
This diagram shows: +
    +
  1. XML Parser to process markup
  2. +
  3. Namespace handlers take actions based on specific namespaces
  4. +
  5. Containers manage system objects +
      +
    • MCOs: client side managed code objects written in JavaScript; contain business logic and can be called via XML handlers
    • +
    • System Services such as networking
    • +
    • Macros that provide simple XML modifications that can be executed on the fly
    • +
    +
  6. +
  7. The XAP DOM manages user interface state for the XAP portions of the application; includes listeners that allow hooking into DOM changes.
  8. +
  9. Component bridges map XML tags to user interface
  10. +
  11. UI Toolkits provide implementation of user interface components and make the relevant changes to the HTML DOM
  12. +
  13. Actual browser DOM representing the web browsers user interface
  14. +
  15. Events; these can be handled by (1) client side code objects (MCOs), (2) network requests back to the web server or (3) UI state changes. UI state changes can be listened for.
  16. +
(last update - 16-Jun-06)

+ +
+ + + + + + + +
+ Copyright 2006 + The Apache Software Foundation + +
+ + + + + \ No newline at end of file Added: incubator/xap/site/contribution.html URL: http://svn.apache.org/viewvc/incubator/xap/site/contribution.html?view=auto&rev=550330 ============================================================================== --- incubator/xap/site/contribution.html (added) +++ incubator/xap/site/contribution.html Sun Jun 24 20:06:41 2007 @@ -0,0 +1,149 @@ + + + +XAP: Contributions + + + + + +
+ + + + + +
+ + +
+ + + + + + + + + + + + + +
   + Welcome +   |   + See it in Action +   |   + Wiki +   |   + Download +   +
+ + + + + + + + +
+
+
+
+ +
+
+ + + + + +
+ + +
 Welcome
+
   Project
+  Overview
+  News
+  Download
+  Architecture
+  Examples and Demos
+  Roadmap
+  License
+
   Getting Started
+  Wiki
+  Getting Help
+
   Documentation
+  xModify
+  API and Syntax Reference
+
   Getting Involved
+  Contribution
+  Subversion Repository
+  XAP Adoption
+
+ + +
+ +
+
+
+
+
+ + +
+ + +
Contribution  
The Apache XAP project needs and appreciates any contributions, including documentation, source code and feedback. Suggested changes should come in the form of code or very detailed and constructive feedback.  The first step to getting involved is to join the mailing list.

To subscribe send a blank email to:

xap-dev-subscribe@incubator.apache.org

The mail archives:

http://mail-archives.apache.org/mod_mbox/incubator-xap-dev/

To submit code changes, send to:

xap-dev@incubator.apache.org

To submit defects:

http://issues.apache.org/jira/browse/XAP

As with any Apache project: +
    +
  • Discussion occurs on the XAP mailling lists
  • +
  • Bugs and other issues can be posted on the project JIRA
  • +
  • Additional documentation and discussion can be found on the project wiki
  • +
+Contribution Policy

More information can be found under How Apache Works.

Committer Requirements

As with any Apache project:
Each committer is required to complete a standard Apache Individual Contributor License Agreement. This document asserts that the contributor is licensing their material to the ASF under the Apache license and is their original work. This document is maintained and managed by the Secretary of the Apache Software Foundation. +

We encourage every committer, if appropriate, to have their employer execute a Apache CorporateContributor License Agreement.  Note that this is recommended, but not required.

+
(last update - 22-Nov-06)

+ + +
+ + + + + + + +
+ Copyright 2006 + The Apache Software Foundation + +
+ + + + + \ No newline at end of file Added: incubator/xap/site/download.html URL: http://svn.apache.org/viewvc/incubator/xap/site/download.html?view=auto&rev=550330 ============================================================================== --- incubator/xap/site/download.html (added) +++ incubator/xap/site/download.html Sun Jun 24 20:06:41 2007 @@ -0,0 +1,163 @@ + + + +XAP: Download + + + + + +
+ + + + + +
+ + +
+ + + + + + + + + + + + + +
   + Welcome +   |   + See it in Action +   |   + Wiki +   |   + Download +   +
+ + + + + + + + +
+
+
+
+ +
+
+ + + + + +
+ + +
 Welcome
+
   Project
+  Overview
+  News
+  Download
+  Architecture
+  Examples and Demos
+  Roadmap
+  License
+
   Getting Started
+  Wiki
+  Getting Help
+
   Documentation
+  xModify
+  API and Syntax Reference
+
   Getting Involved
+  Contribution
+  Subversion Repository
+  XAP Adoption
+
+ + +
+ +
+
+
+
+
+ + +
+ + +
Download  
The achive files below contain all the code that is needed to get started using XAP now.   To enable your project with XAP funtionality add the contents of the archvie file to your Web application.

XAP binary distrubution:

+ + + + + + + + + + + + + + + + + + +
 downloadchecksum
XAP (0.3.0) tar.gzxap-0.3.0.tar.gzxap-0.3.0.tar.gz.md5
XAP (0.3.0) zipxap-0.3.0.zipxap-0.3.0.zip.md5
+
bullet See the release notes for latest version information and a list of what's new.

The latest code is available from the subversion repository. Click Here! for information how to check XAP out of SVN.

Getting Started

bullet After downloading see - Get Started Here
(last update - 26-Feb-07)

+ + + + +
+ + + + + + + +
+ Copyright 2006 + The Apache Software Foundation + +
+ + + + + \ No newline at end of file Added: incubator/xap/site/gettinghelp.html URL: http://svn.apache.org/viewvc/incubator/xap/site/gettinghelp.html?view=auto&rev=550330 ============================================================================== --- incubator/xap/site/gettinghelp.html (added) +++ incubator/xap/site/gettinghelp.html Sun Jun 24 20:06:41 2007 @@ -0,0 +1,141 @@ + + + +XAP: Getting Help + + + + + +
+ + + + + +
+ + +
+ + + + + + + + + + + + + +
   + Welcome +   |   + See it in Action +   |   + Wiki +   |   + Download +   +
+ + + + + + + + +
+
+
+
+ +
+
+ + + + + +
+ + +
 Welcome
+
   Project
+  Overview
+  News
+  Download
+  Architecture
+  Examples and Demos
+  Roadmap
+  License
+
   Getting Started
+  Wiki
+  Getting Help
+
   Documentation
+  xModify
+  API and Syntax Reference
+
   Getting Involved
+  Contribution
+  Subversion Repository
+  XAP Adoption
+
+ + +
+ +
+
+
+
+
+ + +
+ + +
Getting Help  
To get help using, developing or contributing to XAP - please use the following resources:

1. Check the Documentation and Wiki

Documentation and Wiki

2. Check the samples and demos

Look to the the samples and demos for demonstrations of basic functionality and the core building blocks.

3. Subscribe to the mailing lists

Subscribing is easy.  Simply send a blank email from the addres s you want subscribed to:

xap-dev-subscribe@incubator.apache.org
xap-commits-subscribe@incubator.apache.org
xap-user-subscribe@incubator.apache.org

xap-dev is the primary list that will be used, especially before the first release.

xap-user is for user questions about xap, not typically used for feature requests or bug reporting (which would go to xap-dev).  This list should be pretty quiet until the first release.

xap-commits is the list that will reflect each commit to subversion

For questions send to:

xap-dev@incubator.apache.org
xap-commits@incubator.apache.org
xap-user@incubator.apache.org

In addition to the xap mailing lists.  You should also subscribe to the mailing list used for general discussion about incubating projects, like XAP:

general-subscribe@incubator.apache.org

The mail archives are available here:

http://mail-archives.apache.org/mod_mbox/incubator-xap-dev/
http://mail-archives.apache.org/mod_mbox/incubator-xap-commits/
http://mail-archives.apache.org/mod_mbox/incubator-xap-user/

4. Send a message to the mailing lists

If none of the above provid e answers to your questions, drop an email to the appropriate mailing list.
(last update - 24-Nov-06)

+ + +
+ + + + + + + +
+ Copyright 2006 + The Apache Software Foundation + +
+ + + + + \ No newline at end of file