# HG changeset patch # User Aurelien Campeas # Date 1272035275 -7200 # Node ID 875bdc0fe8ce89f6355216a9f3872cd29066cc6e # Parent 9167751463d423be6cae93938b6d83f78d5bd3a5 [doc/book] hide most XXXs diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/admin/multisources.rst --- a/doc/book/en/admin/multisources.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/admin/multisources.rst Fri Apr 23 17:07:55 2010 +0200 @@ -3,4 +3,4 @@ Data sources include SQL, LDAP, RQL, mercurial and subversion. -XXX feed me +.. XXX feed me diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/annexes/cookbook.rst --- a/doc/book/en/annexes/cookbook.rst Fri Apr 23 14:55:10 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,85 +0,0 @@ -.. -*- coding: utf-8 -*- - -Cook book -========= - -We gathered together some of our tricks and scripts that could make -life easier. - - -* How to import LDAP users in *CubicWeb*? - - [XXX distribute this script with cubicweb instead] - - Here is a very useful script which enables you to import LDAP users - into your *CubicWeb* instance by running the following: - -.. sourcecode:: python - - import os - import pwd - import sys - - from logilab.common.db import get_connection - - def getlogin(): - """avoid usinng os.getlogin() because of strange tty / stdin problems - (man 3 getlogin) - Another solution would be to use $LOGNAME, $USER or $USERNAME - """ - return pwd.getpwuid(os.getuid())[0] - - - try: - database = sys.argv[1] - except IndexError: - print 'USAGE: python ldap2system.py ' - sys.exit(1) - - if raw_input('update %s db ? [y/n]: ' % database).strip().lower().startswith('y'): - cnx = get_connection(user=getlogin(), database=database) - cursor = cnx.cursor() - - insert = ('INSERT INTO euser (creation_date, eid, modification_date, login, firstname, surname, last_login_time, upassword) ' - "VALUES (%(mtime)s, %(eid)s, %(mtime)s, %(login)s, %(firstname)s, %(surname)s, %(mtime)s, './fqEz5LeZnT6');") - update = "UPDATE entities SET source='system' WHERE eid=%(eid)s;" - cursor.execute("SELECT eid,type,source,extid,mtime FROM entities WHERE source!='system'") - for eid, type, source, extid, mtime in cursor.fetchall(): - if type != 'CWUser': - print "don't know what to do with entity type", type - continue - if source != 'ldapuser': - print "don't know what to do with source type", source - continue - ldapinfos = dict(x.strip().split('=') for x in extid.split(',')) - login = ldapinfos['uid'] - firstname = ldapinfos['uid'][0].upper() - surname = ldapinfos['uid'][1:].capitalize() - if login != 'jcuissinat': - args = dict(eid=eid, type=type, source=source, login=login, - firstname=firstname, surname=surname, mtime=mtime) - print args - cursor.execute(insert, args) - cursor.execute(update, args) - - cnx.commit() - cnx.close() - - -* How to load data from a script? - - The following script aims at loading data within a script assuming pyro-nsd is - running and your instance is configured with ``pyro-server=yes``, otherwise - you would not be able to use dbapi. - -.. sourcecode:: python - - from cubicweb import dbapi - - cnx = dbapi.connection(database='instance-id', user='admin', password='admin') - cur = cnx.cursor() - for name in ('Personal', 'Professional', 'Computers'): - cur.execute('INSERT Blog B: B name %s', name) - cnx.commit() - - diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/annexes/faq.rst --- a/doc/book/en/annexes/faq.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/annexes/faq.rst Fri Apr 23 17:07:55 2010 +0200 @@ -290,6 +290,66 @@ You can find additional information in the section :ref:`LDAP`. +How to import LDAP users in |cubicweb| ? +---------------------------------------- + + Here is a useful script which enables you to import LDAP users + into your *CubicWeb* instance by running the following: + +.. sourcecode:: python + + import os + import pwd + import sys + + from logilab.common.db import get_connection + + def getlogin(): + """avoid usinng os.getlogin() because of strange tty / stdin problems + (man 3 getlogin) + Another solution would be to use $LOGNAME, $USER or $USERNAME + """ + return pwd.getpwuid(os.getuid())[0] + + + try: + database = sys.argv[1] + except IndexError: + print 'USAGE: python ldap2system.py ' + sys.exit(1) + + if raw_input('update %s db ? [y/n]: ' % database).strip().lower().startswith('y'): + cnx = get_connection(user=getlogin(), database=database) + cursor = cnx.cursor() + + insert = ('INSERT INTO euser (creation_date, eid, modification_date, login, ' + ' firstname, surname, last_login_time, upassword) ' + "VALUES (%(mtime)s, %(eid)s, %(mtime)s, %(login)s, %(firstname)s, " + "%(surname)s, %(mtime)s, './fqEz5LeZnT6');") + update = "UPDATE entities SET source='system' WHERE eid=%(eid)s;" + cursor.execute("SELECT eid,type,source,extid,mtime FROM entities WHERE source!='system'") + for eid, type, source, extid, mtime in cursor.fetchall(): + if type != 'CWUser': + print "don't know what to do with entity type", type + continue + if source != 'ldapuser': + print "don't know what to do with source type", source + continue + ldapinfos = dict(x.strip().split('=') for x in extid.split(',')) + login = ldapinfos['uid'] + firstname = ldapinfos['uid'][0].upper() + surname = ldapinfos['uid'][1:].capitalize() + if login != 'jcuissinat': + args = dict(eid=eid, type=type, source=source, login=login, + firstname=firstname, surname=surname, mtime=mtime) + print args + cursor.execute(insert, args) + cursor.execute(update, args) + + cnx.commit() + cnx.close() + + I get NoSelectableObject exceptions, how do I debug selectors ? --------------------------------------------------------------- diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/annexes/index.rst --- a/doc/book/en/annexes/index.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/annexes/index.rst Fri Apr 23 17:07:55 2010 +0200 @@ -13,7 +13,6 @@ :numbered: faq - cookbook cubicweb-ctl rql/index mercurial diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/annexes/rql/implementation.rst --- a/doc/book/en/annexes/rql/implementation.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/annexes/rql/implementation.rst Fri Apr 23 17:07:55 2010 +0200 @@ -128,7 +128,7 @@ - The current implementation does not support linking two relations of type 'is' with an OR. I do not think that the negation is supported on this type of - relation (XXX FIXME to be confirmed). + relation (XXX to be confirmed). - Relations defining the variables must be left to those using them. For example:: diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/annexes/rql/language.rst --- a/doc/book/en/annexes/rql/language.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/annexes/rql/language.rst Fri Apr 23 17:07:55 2010 +0200 @@ -92,8 +92,7 @@ Any X WHERE X name IN ( 'chauvat', 'fayolle', 'di mascio', 'thenault') -XXX nico: "A trick <> 'bar'" wouldn't it be more convenient than -"NOT A trick 'bar'" ? +.. XXX nico: "A trick <> 'bar'" wouldn't it be more convenient than "NOT A trick 'bar'" ? .. _PriorityOperators: diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/development/cubes/layout.rst --- a/doc/book/en/development/cubes/layout.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/development/cubes/layout.rst Fri Apr 23 17:07:55 2010 +0200 @@ -96,13 +96,7 @@ the cube. -At least you should have: - -* the file ``__pkginfo__.py`` -* the schema definition - XXX false, we may want to have cubes which are only adding a service, - no persistent data (eg embedding for instance) - +At least you should have the file ``__pkginfo__.py``. The :file:`__init__.py` and :file:`site_cubicweb.py` files @@ -110,30 +104,31 @@ The :file:`__pkginfo__.py` file ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -XXX contains metadata describing your cubes - distname / modname - version / numversion - __use__ - __recommend__ + +It contains metadata describing your cubes, mostly useful for +packaging. :file:`migration/precreate.py` and :file:`migration/postcreate.py` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -XXX detail steps of instance creation + +.. XXX detail steps of instance creation External resources such as image, javascript and css files ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -XXX naming convention external_resources file + +.. XXX naming convention external_resources file Out-of the box testing ~~~~~~~~~~~~~~~~~~~~~~ -XXX MANIFEST.in, __pkginfo__.include_dirs, debian +.. XXX MANIFEST.in, __pkginfo__.include_dirs, debian Packaging and distribution ~~~~~~~~~~~~~~~~~~~~~~~~~~ -XXX MANIFEST.in, __pkginfo__.include_dirs, debian +.. XXX MANIFEST.in, __pkginfo__.include_dirs, debian + diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/development/devrepo/notifications.rst --- a/doc/book/en/development/devrepo/notifications.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/development/devrepo/notifications.rst Fri Apr 23 17:07:55 2010 +0200 @@ -3,4 +3,4 @@ Notifications management ======================== -XXX FILLME +.. XXX FILLME diff -r 9167751463d4 -r 875bdc0fe8ce doc/book/en/index.rst --- a/doc/book/en/index.rst Fri Apr 23 14:55:10 2010 +0200 +++ b/doc/book/en/index.rst Fri Apr 23 17:07:55 2010 +0200 @@ -40,9 +40,6 @@ .. _`mailing-list`: http://lists.cubicweb.org/mailman/listinfo/cubicweb .. _blog: http://www.cubicweb.org/blog/1238 -Table of Contents -================= - .. toctree:: :maxdepth: 2