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']

Freeipa-devel mailing list

Reply via email to