# HG changeset patch # User Sandrine Ribeau # Date 1231275172 28800 # Node ID eb329d0db46703448a5c01c39b57325876ffe872 # Parent abb7ea9bed71c08f698650b9d5388471a1578ae5 [doc] FAQ improvements based on posts in forums. diff -r abb7ea9bed71 -r eb329d0db467 doc/book/en/D010-faq.en.txt --- a/doc/book/en/D010-faq.en.txt Tue Jan 06 09:10:35 2009 -0800 +++ b/doc/book/en/D010-faq.en.txt Tue Jan 06 12:52:52 2009 -0800 @@ -16,19 +16,46 @@ It does. Actually, you can use your preferred template language if you want. [explain how to use a template language] + `CubicWeb` does not define its own templating language as this was + not our goal and emphasize. Based on our experience, we realized that + we could gain productivity by letting designers use design tools + and developpers develop without the use of the templating language + as an intermediary that could not be anyway efficient for both parties. + Python is the templating language that we use in `CubicWeb`, but again, + it does not prevent you from using a templating 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] + Python is an Object Oriented Programming language and as such it + already provides a consistent and strong architecture and syntax + a templating language would not reach. + + When doing development, you need a real language and template + languages are not real language. + + Using Python enables developing applications for which code is + easier to maintain with real functions/classes + without the need of learning a new dialect. By using Python, + we use standard OOP techniques and this is a key factor in a + robust application. - 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? -* Why do you use the GPL license to prevent me from doing X ? - - [copy answer from forum] + GPL means that *if* you redistribute your application, you need to + redistribute it *and* the changes you made *and* the code _linked_ + to it under the GPL licence. + + Publishing a web site has nothing to do with redistributing + source code. A fair amount of companies use modified GPL code + for internal use. And someone could publish a `CubicWeb` component + under a BSD licence for others to plug into a GPL framework without + any problem. The only thing we are trying to prevent here is someone + taking the framework and packaging it as closed source to his own + clients. + * CubicWeb looks pretty recent. Is it stable ? @@ -37,7 +64,24 @@ * Why is the RQL query language looking similar to X ? - [copy answer from forum, explain why similar to sparql and why better + It may remind you of SQL but it is higher level than SQL, more like + SPARQL. Except that SPARQL did not exist when we started the project. + Having SPARQL has a query language has been in our backlog for years. + + That RQL language is what is going to make a difference with django- + like frameworks for several reasons. + + 1. accessing data is *much* easier with it. One can write complex + queries with RQL that would just be impossible to define or unreadable + using an object/filter suite of method calls. + + 2. it offers an abstraction layers that allows to have a single + framework that runs on multiple back-ends. We have not published the + SQL backend yet (still working on separating it clearly from other + backends), but we already have components (pieces of schema and views) + that run both on SQL and AppEngine. + +[copy answer from forum, explain why similar to sparql and why better than django and SQL] * which ajax library