1 .. -*- coding: utf-8 -*- |
1 .. -*- coding: utf-8 -*- |
2 |
2 |
3 Foire Aux Questions |
3 Frequently Asked Questions |
4 =================== |
4 ========================== |
5 |
5 |
6 [FILL ME] |
6 * Why does not LAX have a template language ? |
7 |
7 |
8 * A quoi servent les crochets? |
8 It does. Actually, you can use your preferred template language if you |
|
9 want. [explain how to use a template language] |
|
10 |
|
11 The reason template languages are not used in this book is that |
|
12 experience has proved us that using pure python was more efficient. |
|
13 |
|
14 * Why do you think using pure python is better than using a template language ? |
|
15 |
|
16 [copy answer from forum] |
|
17 |
|
18 code is easier to maintain, does not have to learn a new dialect |
|
19 each time, real function/classes etc -> real development |
|
20 |
|
21 * Why do you use the GPL license to prevent me from doing X ? |
|
22 |
|
23 [copy answer from forum] |
|
24 |
|
25 * LAX looks pretty recent. Is it stable ? |
|
26 |
|
27 [answer that framework has evolved over the past seven years and that |
|
28 data migrated from one schema to the other ever since] |
|
29 |
|
30 * Why is the RQL query language looking similar to X ? |
|
31 |
|
32 [copy answer from forum, explain why similar to sparql and why better |
|
33 than django and SQL] |
|
34 |
|
35 * which ajax library |
|
36 |
|
37 [we use mochikit and things on top of that] |
|
38 |
|
39 * `Error while publishing rest text ...` |
|
40 |
|
41 While modifying the description of an entity, you get an error message in |
|
42 the application `Error while publishing ...` for Rest text and plain text. |
|
43 The server returns a traceback like as follows :: |
|
44 |
|
45 2008-10-06 15:05:08 - (erudi.rest) ERROR: error while publishing ReST text |
|
46 Traceback (most recent call last): |
|
47 File "/home/sandrine/src/blogdemo/ginco/common/rest.py", line 217, in rest_publish |
|
48 File "/usr/lib/python2.5/codecs.py", line 817, in open |
|
49 file = __builtin__.open(filename, mode, buffering) |
|
50 TypeError: __init__() takes at most 3 arguments (4 given) |
|
51 |
|
52 |
|
53 This can be fixed by applying the patch described in : |
|
54 http://code.google.com/p/googleappengine/issues/detail?id=48 |
|
55 |
|
56 * What are hooks used for? |
9 |
57 |
10 Les crochets sont appeles lorsqu'une requete RQL est executee. Cela |
58 Les crochets sont appeles lorsqu'une requete RQL est executee. Cela |
11 permet d'executer des actions specifiques lors d'un acces a la base |
59 permet d'executer des actions specifiques lors d'un acces a la base |
12 de donnees, ce qui donne un controle de la base de donnees afin de |
60 de donnees, ce qui donne un controle de la base de donnees afin de |
13 prevenir l'insertion de `mauvaises` entites dans la base. |
61 prevenir l'insertion de `mauvaises` entites dans la base. |
14 |
62 |
15 * Quand utiliser un template HTML plutot qu'un composant graphique? |
63 * When should you define an HTML template rather than define a graphical component? |
16 |
64 |
17 Un template HTML ne peut contenir de logique, il ne permettra donc |
65 Un template HTML ne peut contenir de logique, il ne permettra donc |
18 que de definir une vue statique. Un composant permet lui de gerer |
66 que de definir une vue statique. Un composant permet lui de gerer |
19 plus de logique et d'operations sur le contexte dans lequel il |
67 plus de logique et d'operations sur le contexte dans lequel il |
20 s'applique. Il faut donc bien reflechir avant de decider de l'un ou |
68 s'applique. Il faut donc bien reflechir avant de decider de l'un ou |
21 de l'autre, mais vous avez la possibilite de choisir. |
69 de l'autre, mais vous avez la possibilite de choisir. |
22 |
70 |
23 * Comment mettre à jour une base de données après avoir modifié le schéma? |
71 * How to update a database after a schema modification? |
24 |
72 |
25 Cela dépend de ce qui a été modifié dans le schéma. |
73 Cela dépend de ce qui a été modifié dans le schéma. |
26 |
74 |
27 * Modification d'une relation non finale |
75 * Modification d'une relation non finale |
28 |
76 |
29 * Modification d'une relation finale |
77 * Modification d'une relation finale |
30 |
78 |
31 [TO COMPLETE] |
79 [TO COMPLETE] |
32 |
80 |
33 * Comment créer un utilisateur anonyme? |
81 * How to create an anonymous user? |
34 |
82 |
35 Cela vous permet d'acceder a votre site sans avoir besoin de vous authentifier. |
83 Cela vous permet d'acceder a votre site sans avoir besoin de vous authentifier. |
36 Dans le fichier ``all-in-one.conf`` de votre instance, définir l'utilisateur |
84 Dans le fichier ``all-in-one.conf`` de votre instance, définir l'utilisateur |
37 anonyme en initilisant les valeurs des variables suivantes :: |
85 anonyme en initilisant les valeurs des variables suivantes :: |
38 |
86 |
45 |
93 |
46 Vous devez aussi vous assurer que cet utilisateur `anon` existe dans la base |
94 Vous devez aussi vous assurer que cet utilisateur `anon` existe dans la base |
47 de données, le plus simple étant de s'identifier sur votre application en |
95 de données, le plus simple étant de s'identifier sur votre application en |
48 administrateur et de rajouter l'utilisateur `anon` via l'interface d'administration. |
96 administrateur et de rajouter l'utilisateur `anon` via l'interface d'administration. |
49 |
97 |
50 * Quelle est la différence entre `AppRsetObject` et `AppObject` ? |
98 * What is the difference between `AppRsetObject` and `AppObject` ? |
51 |
99 |
52 La différence entre la classe `AppRsetObject` et la classe `AppObject` est que |
100 La différence entre la classe `AppRsetObject` et la classe `AppObject` est que |
53 les instances de la premières sont séléctionnées pour une requête et un "result |
101 les instances de la premières sont séléctionnées pour une requête et un "result |
54 set" et alors que les secondes ne sont séléctionnées qu'en fonction de leur |
102 set" et alors que les secondes ne sont séléctionnées qu'en fonction de leur |
55 identifiant. |
103 identifiant. |
|
104 |