[fix] corrected hooking methods
[cleanup] move default empty hooks aside and include them (and share them between LdapObject and LdapAspect)
[cleanup] s/mapper/shadow/ for consistency
[fix/evol] corrected before delete hook and added complete hook support for objects
[fix] aspect hooks loading was broken, and moved file loading into the Config class
[fix] fixed aspects default hooks
[evol] completed aspect hooks panoply
[cleanup] Shadow load_object() -> add_object() for consistency
[evol] improve config #14 (validate global and shadow config, and removed shadowwalker's stuff from the general classes)
[evol] improve config #13 (reorganized config/schema loading/validating, transform Controler into Shadow, and began reworking things to get a real Shadow view)
[evol] fix and improve before hooks for aspects
[cleanup] hook_mod -> hook_modify
[evol] improve config #12 (improved object definition check #3 + added aspect definition check)
[evol] improve config #11 (improved object definition check #2)
[evol] improve config #10 (improved object definition check)
[evol] improve config #9 (preliminary work to check object definition against schema)
[evol] improve config #8 (shadow selection support)
[evol] display family members optionally in show command (can be lengthy)
[evol] improve config #7 (move shadow loading in the Controller)
[-] cleanup
[evol] improve config #5 (check for missing foreign object in relations)
[evol] improve config #4 (check for missing aspect)
[evol] improve config #3 (move non-framework translations in config dir)
[fix] correct item display name when a raw object is not recognized
[-] cleanup: removed silly optional_classes support, as aspects handle this nicely
[evol] improved code for objects recognition, created display helper for raw items, and added family items display support
[evol] recognize objects out of search result, and display them properly
[evol] added search command (working, but items are not recognized yet)
[evol] added aspect dependency support
[evol] move all activeldap workarounds away, and properly manage operational attributes (using schema instead of a hardcoded list)
[evol] move all item modification into LdapObject, clean things a bit, and use this code for creation too instead of the partial modification support needed to add the MUST attributetypes, this is more flexible
[fix] inverted logic when testing relation existence
[fix] for non-enumeration association the object was not loaded when requested with the target() method, so now test existance with exists?() instead which forces loading
[fix] move missing attribute check into the save() method to ensure it is done after hooks (which can modify attributes and change the result of the test)
[fix] fs aspect primaryGroup corrected, and now handle single-valued relation data, and btw disallow adding the same value multiple times
[evol] begining of the error abstraction with a simplied exception list, with translation using gettext (no translations yet)
[evol] preliminary (dirty) work on hooks
[fix] code cleanup and a few fixes
[evol] 'create' action now ask for a location (which icurrently s a parent object)
[evol] added aspects modification support, complain about missing fields (added for creation too), and better list present (non-empty) attributes
[evol] improved 'list' command
[evol] added a basic 'create' command, allowing to set fields with a single value to ensure required fields are not missing; btw ensure the objectClass attributetype is never considered as a field
[fix] LdapObject: correct human_name() and description() to not fail when no :name_attribute and :desc_attribute is defined
[fix] corrected workaround for activeldap#26720 which was broken for creation
[evol] the 'list' command now display the number of items
[evol] move display options out of object management into the display functions, and display binary field presence
[evol] added list of available objects and aspects of objects, and s/ou/unit/ object
[evol/fix] added support for read_only relations, improved result message, and fixed a regression where normal attributes could not be modified because of a regex mistake in the parsing code
[evol] finished modification of relations
[evol] finished field modifications (relations not managed yet)
[fix] corrected mistake in find() method overload introduced in previous commit
[evol] first experimental attempt for field modifications (with activeldap workaround for #26720)
[evol] code cleanup
[evol] code cleanup, and allowed pluralized version of object name in 'list' command
[evol] added tree view
[evol] add operational attributes in expert mode
[evol] added private config load in home, and global hidden attributes (until something really proper is done for config)
[evol] files/code reorganization, and added a proper installer