doc/book/en/20-01-intro.en.txt
changeset 108 60faaa480f02
parent 74 9a9fe515934d
child 109 10b63bb96e70
--- /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.