[Freeipa-devel] Extending Details, user and otherwise

Adam Young ayoung at redhat.com
Tue Aug 17 18:12:02 UTC 2010


The structure of our details code is basciallt

[categorid, categoryDisplay,  atrrtibutes]

and attributes are

  [attributeId, attributeDisplay,


I've inlined the user details at the bottom as an example.


In order to make these configuratble by the end user, here is a strawman 
proposal:


     Create a dir under /var/lib/ipa/details with code that will, at run 
time, get validated and then appended to the web code.  This code, 
unlike the resources approach, will not be autogenerated.
     The code for the user details gets pre-populated there from a 
static copy somewhere under /usr/share/ipa.  The end user can then 
customize it to add or remove fields.
     If they so desire, they can add in custom javascript code that will 
provide more advanced UI.  An example might be a n interactive map for 
showing seat and parking assignments.


     IPA server install and uninstall will be aware of these files, and 
treat them gently.  Doing an install will not over write the files if 
they are present, but will instead rename and back them up.  Same with 
uninstall, unless an additional option is given ( for example 
--ultraclean) the is repsonbile for removing all vestiges of IPA from a 
system.

The details pages will be named <collection>-details.js:  
user-details.js,  group-details.js and so forth.


As I said, this is a strawman.  Please poke holes in it, and make better 
suggestions.





var user_details_lists = [
     ['identity', 'Identity Details', [
             ['title', 'Title'],
             ['givenname', 'First Name'],
             ['sn', 'Last Name'],
             ['cn', 'Full Name'],
             ['displayname', 'Dispaly Name'],
             ['initials', 'Initials']
         ]
     ],
     ['account', 'Account Details', [
             ['call_a_status', 'Account Status'],
             ['uid', 'Login'],
             ['call_a_password', 'Password'],
             ['uidnumber', 'UID'],
             ['gidnumber', 'GID'],
             ['homedirectory', 'homedirectory']
         ]
     ],
     ['contact', 'Contact Details', [
             ['mail', 'E-mail Address'],
             ['call_a_numbers', 'Numbers']
         ]
     ],
     ['address', 'Mailing Address', [
             ['street', 'Address'],
             ['location', 'City'],
             ['call_a_st', 'State'],
             ['postalcode', 'ZIP']
         ]
     ],
     ['employee', 'Employee Information', [
             ['ou', 'Org. Unit'],
             ['call_a_manager', 'Manager']
         ]
     ],
     ['misc', 'Misc. Information', [
             ['carlicense', 'Car License']
         ]
     ]
]




More information about the Freeipa-devel mailing list