--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/20-01-intro.en.txt Thu Nov 20 15:00:34 2008 +0100
@@ -0,0 +1,63 @@
+.. -*- coding: utf-8 -*-
+
+Introduction
+============
+
+What is `Google AppEngine` ?
+------------------------------
+
+`Google AppEngine` is provided with a partial port of the `Django`
+framework, but Google stated at Google IO 2008 that it would not
+support a specific Python web framework and that all
+community-supported frameworks would be more than welcome[1]_.
+
+Therefore Logilab_ ported `CubicWeb` to run on top of `Google AppEngine`'s
+datastore.
+
+.. _Logilab: http://www.logilab.fr/
+.. [1] for more on this matter, read our blog at http://www.logilab.org/blog/5216
+
+
+Essentials
+----------
+
+XXXFIXME MERGE WITH 02-foundation.en.txt
+
+Schema
+
+ The schema defines the data model of an application as entities and
+ relationships. It is the core of an application. Entities and
+ relationships are modeled with a comprehensive language made of
+ Python classes.
+
+Query language
+
+ A full-blown query language named RQL is used to formulate
+ requests to the datastore.
+
+Result set
+
+ A resultset encapsulates the results of a request sent to
+ the datastore and informations about this request.
+
+Views
+
+ A view is applied to a `result set` to present it as HTML, XML,
+ JSON, CSV, etc. Views are implemented as Python classes. There is no
+ templating language.
+
+Generated user interface
+
+ A user interface is generated on-the-fly from the schema definition:
+ entities can be created, displayed, updated and deleted. As display
+ views are not very fancy, it is usually necessary to develop your
+ own. Any generated view can be overridden by defining a new one with
+ the same identifier.
+
+Components
+
+ Pieces of schema and sets of views can be combined into
+ components. Larger applications can be built faster by importing
+ components, adding entities and relationships and overriding the
+ views that need to display or edit informations not provided by
+ components.