doc/book/en/D010-faq.en.txt
changeset 127 ae611743f5c6
parent 116 e2303f9b5bfa
child 199 c603087373cd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/book/en/D010-faq.en.txt	Sat Nov 22 23:59:42 2008 +0100
@@ -0,0 +1,104 @@
+.. -*- coding: utf-8 -*-
+
+Frequently Asked Questions
+==========================
+
+* Why does not LAX have a template language ?
+
+  It does. Actually, you can use your preferred template language if you
+  want. [explain how to use a template language]
+
+  The reason template languages are not used in this book is that
+  experience has proved us that using pure python was more efficient.
+
+* Why do you think using pure python is better than using a template language ?
+
+  [copy answer from forum]
+
+  code is easier to maintain, does not have to learn a new dialect
+  each time, real function/classes etc -> real development
+
+* Why do you use the GPL license to prevent me from doing X ?
+
+  [copy answer from forum]
+
+* LAX looks pretty recent. Is it stable ?
+
+  [answer that framework has evolved over the past seven years and that
+  data migrated from one schema to the other ever since]
+
+* Why is the RQL query language looking similar to X ?
+
+  [copy answer from forum, explain why similar to sparql and why better
+  than django and SQL]
+
+* which ajax library
+
+  [we use mochikit and things on top of that]
+
+* `Error while publishing rest text ...`
+  
+  While modifying the description of an entity, you get an error message in 
+  the application `Error while publishing ...` for Rest text and plain text.
+  The server returns a traceback like as follows ::
+
+      2008-10-06 15:05:08 - (erudi.rest) ERROR: error while publishing ReST text
+      Traceback (most recent call last):
+      File "/home/sandrine/src/blogdemo/ginco/common/rest.py", line 217, in rest_publish
+      File "/usr/lib/python2.5/codecs.py", line 817, in open
+      file = __builtin__.open(filename, mode, buffering)
+      TypeError: __init__() takes at most 3 arguments (4 given)
+
+  
+  This can be fixed by applying the patch described in :
+  http://code.google.com/p/googleappengine/issues/detail?id=48
+
+* What are hooks used for?
+  
+  Les crochets sont appeles lorsqu'une requete RQL est executee. Cela
+  permet d'executer des actions specifiques lors d'un acces a la base
+  de donnees, ce qui donne un controle de la base de donnees afin de
+  prevenir l'insertion de `mauvaises` entites dans la base.
+
+* When should you define an HTML template rather than define a graphical component?
+
+  Un template HTML ne peut contenir de logique, il ne permettra donc
+  que de definir une vue statique. Un composant permet lui de gerer
+  plus de logique et d'operations sur le contexte dans lequel il 
+  s'applique. Il faut donc bien reflechir avant de decider de l'un ou
+  de l'autre, mais vous avez la possibilite de choisir.
+
+* How to update a database after a schema modification?
+  
+  Cela dépend de ce qui a été modifié dans le schéma. 
+  
+  * Modification d'une relation non finale
+
+  * Modification d'une relation finale 
+
+[TO COMPLETE]
+
+* How to create an anonymous user?
+  
+  Cela vous permet d'acceder a votre site sans avoir besoin de vous authentifier.
+  Dans le fichier ``all-in-one.conf`` de votre instance, définir l'utilisateur
+  anonyme en initilisant les valeurs des variables suivantes ::
+  
+    # login of the Erudi user account to use for anonymous user (if you want to
+    # allow anonymous)
+    anonymous-user=anon
+
+    # password of the Erudi user account matching login
+    anonymous-password=anon
+
+  Vous devez aussi vous assurer que cet utilisateur `anon` existe dans la base
+  de données, le plus simple étant de s'identifier sur votre application en
+  administrateur et de rajouter l'utilisateur `anon` via l'interface d'administration.
+
+* What is the difference between `AppRsetObject` and `AppObject` ?
+
+  La différence entre la classe `AppRsetObject` et la classe `AppObject` est que
+  les instances de la premières sont séléctionnées pour une requête et un "result
+  set" et alors que les secondes ne sont séléctionnées qu'en fonction de leur
+  identifiant.
+