summaryrefslogtreecommitdiffstats
path: root/TODO
blob: a4b25fd8223c78107198351434164986db4953da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
API chages before January 2009 simi-freeze:

  * Merge Param and Type together so that rather than taking the type as a
    kwarg, you simply use the Type. For example, instead of:
        >>> Param('number', type=Int())
    You would do this:
        >>> Int('number')
    The types will correspond to Python 3.0 text/binary disambiguaiton, so we
    will have Bytes, Str, Int, Float, and Bool.

  * Rename crud Method base classes to standard CRUDS name: Add=>Create,
    Get=>Retrieve, Mod=>Update, Del=>Delete, Find=>Search.

  * Add a Command.backend convenience attribute that checks if the class
    uses_backend attribute is sets the Command.backend attribute like this:
        self.backend = self.Backend[self.uses_backend]

  * Finish methods on Plugin base class for calling external commands via
    subprocess.

  * Probably renamed ipa_server package to ipaserver.

  * Add special logging methods to Plugin baseclass for authorization events
    (escalation, de-escalation, and denial).

  * Implement gettext service.

  * Add ability to register pre-op, post-op plugins per command.

  * Add ability to have certain args/options only active on either client-side
    or server-side, and also the same for things like default_from callbacks.

  * Add ability to have a post-processing step that only gets called
    client-side.  It should have a signature like output_for_cli() minus the
    textui argument.  Need to decide whether we allow this method to modify
    the return value.

  * Make Plugin base class parse class docstring into overview and
    full-description strings (similar to Bazaar).

  * Removed depreciated code in config.py.

  * Remove __getattr__() from Env (and probably elsewhere) as in Python 2.4 and
    2.5 hasattr() will catch KeyboardInterrupt and SystemExit exceptions (BTW,
    this has been fixed in Python 2.6).

  * Remove support for dynamic environment values from Env... Jason feels this
    the Env class should be simple and static.  Other mechanisms should be used
    for retrieving per-request dynamic environment variables.


Command Line interface:

  * Finish textui plugin

  * Make possible Enum values self-documenting


Improve ease of plugin writting
  - make "from ipalib import *" import everything a plugin writter will need
  - Finish ipa_types, add Str and Float Types

Packaging
  - Use setuptools instead of plain distutils
  - Make setup.py generate dev-docs and run unit tests
  - Package for rpm (.spec file)
  - Package for apt (debian/ dir)

Migration
  - Add the IPAService objectclass to existing principals
  - Move existng host/ principals from cn=services to cn=computers?