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?
|