43 easier to maintain with real functions/classes/contexts |
43 easier to maintain with real functions/classes/contexts |
44 without the need of learning a new dialect. By using Python, |
44 without the need of learning a new dialect. By using Python, |
45 we use standard OOP techniques and this is a key factor in a |
45 we use standard OOP techniques and this is a key factor in a |
46 robust application. |
46 robust application. |
47 |
47 |
48 Why do you use the GPL license to prevent me from doing X ? |
48 Why do you use the LGPL license to prevent me from doing X ? |
49 ----------------------------------------------------------- |
49 ----------------------------------------------------------- |
50 |
50 |
51 GPL means that *if* you redistribute your application, you need to |
51 LGPL means that *if* you redistribute your application, you need to |
52 redistribute it *and* the changes you made *and* the code _linked_ |
52 redistribute the changes you made to CubicWeb under the LGPL licence. |
53 to it under the GPL licence. |
|
54 |
53 |
55 Publishing a web site has nothing to do with redistributing |
54 Publishing a web site has nothing to do with redistributing |
56 source code. A fair amount of companies use modified GPL code |
55 source code. A fair amount of companies use modified LGPL code |
57 for internal use. And someone could publish a `CubicWeb` component |
56 for internal use. And someone could publish a `CubicWeb` component |
58 under a BSD licence for others to plug into a GPL framework without |
57 under a BSD licence for others to plug into a LGPL framework without |
59 any problem. The only thing we are trying to prevent here is someone |
58 any problem. The only thing we are trying to prevent here is someone |
60 taking the framework and packaging it as closed source to his own |
59 taking the framework and packaging it as closed source to his own |
61 clients. |
60 clients. |
62 |
61 |
63 |
62 |
64 CubicWeb looks pretty recent. Is it stable ? |
63 CubicWeb looks pretty recent. Is it stable ? |
65 -------------------------------------------- |
64 -------------------------------------------- |
66 |
65 |
67 It is constantly evolving, piece by piece. The framework has |
66 It is constantly evolving, piece by piece. The framework has evolved since |
68 evolved over the past seven years and data has been migrated from |
67 2001 and data has been migrated from one schema to the other ever since. There |
69 one schema to the other ever since. There is a well-defined way to |
68 is a well-defined way to handle data and schema migration. |
70 handle data and schema migration. |
69 |
71 |
|
72 <<<<<<< /home/syt/src/fcubicweb/cubicweb_3.2/doc/book/en/annexes/faq.rst |
|
73 Why is the RQL query language looking similar to X ? |
|
74 ---------------------------------------------------- |
|
75 ======= |
|
76 Why is the RQL query language looking similar to X ? |
70 Why is the RQL query language looking similar to X ? |
77 ----------------------------------------------------- |
71 ----------------------------------------------------- |
78 >>>>>>> /tmp/faq.rst~other.MxOUAP |
|
79 |
72 |
80 It may remind you of SQL but it is higher level than SQL, more like |
73 It may remind you of SQL but it is higher level than SQL, more like |
81 SPARQL. Except that SPARQL did not exist when we started the project. |
74 SPARQL. Except that SPARQL did not exist when we started the project. |
82 Having SPARQL has a query language has been in our backlog for years. |
75 Having SPARQL has a query language has been in our backlog for years. |
83 |
76 |
340 todo_by = SubjectRelation('Euser') |
333 todo_by = SubjectRelation('Euser') |
341 |
334 |
342 [XXX check that cw handle users better by |
335 [XXX check that cw handle users better by |
343 mapping Google Accounts to local Euser entities automatically] |
336 mapping Google Accounts to local Euser entities automatically] |
344 |
337 |
|
338 |
|
339 How to reset the password for user joe? |
|
340 --------------------------------------- |
|
341 |
|
342 You need to generate a new encrypted password:: |
|
343 |
|
344 $ python |
|
345 >>> from cubicweb.server.utils import crypt_password |
|
346 >>> crypt_password('joepass') |
|
347 'qHO8282QN5Utg' |
|
348 >>> |
|
349 |
|
350 and paste it in the database:: |
|
351 |
|
352 $ psql mydb |
|
353 mydb=> update cw_cwuser set cw_upassword='qHO8282QN5Utg' where cw_login='joe'; |
|
354 UPDATE 1 |