[Freeipa-users] Troubles with extending FreeIPA Web UI to fit my environment
Mateusz Małek
mmalek at iisg.agh.edu.pl
Sat Sep 5 19:12:10 UTC 2015
W dniu 01.09.2015 o 13:27, Petr Vobornik pisze:
> On 08/27/2015 05:17 AM, Mateusz Małek wrote:
>> We're trying to adjust FreeIPA to our environment... quite a bit. Here
>> are some bullet points:
>>
>> (...)
>>
>> For points 3, 5, 6 and to limit available choices in 2, we need to plug
>> into Web UI. Samples at https://pvoborni.fedorapeople.org/plugins/
>> provided us with some basic info how to write plugins.
>
> Glad to read that the plugin support is used. Especially in this scale.
>
> I'd like to ask you for a feedback. What are the main things that
> would make extending IPA easier for you?
I think that some Web UI documentation is needed - some kind of index of
available widgets (their names, parameters, some usage examples for more
complex widgets like entity_select), dialog windows and facets (like
search), examples for various things like how to add new batch actions
(with a new button at the top of search view) or to make layout and
contents of facets/dialog boxes dependent on which user is using Web UI
(like self-service differs from admin view).
UI seems extremely extensible and probably many "examples" of how to do
different things are already there, but it takes some time to find which
part of UI uses them and can be copied to custom module (or adjusted in
some other way).
Do you have some tips on how to setup programming environment for UI
development?
>> However, I face some issues when I register my module under different
>> entity name instead of overriding user (I want to keep original user
>> module available)
>
> Just curious, why do you want to keep the original user entity object?
Maybe not necessarily to keep original entity object, but to manage the
same object using two different UI plugins (keeping original module
available was quick test of such scenario). We have sysadmins - who can
modify all user details - and user administrator - who needs really
simple interface for creating new accounts and prolonging validity of
existing.
>
>> It seems that check if (that.entity !== that.managed_entity) in
>> freeipa/search.js fails (condition is true), which causes
>> managed_entity_pkey_prefix function to return [""] instead of [] -
>> object inspection shows both entity and managed_entity refer to user
>> entity, but probably these are two different JS objects (and thats why
>> they are considered different). Am I doing something wrong or is it some
>> bug?
>
> There is no claim that it should work so I would say that it is a
> limitation of original design and unfinished refactoring than a bug.
> The code can be improved to support multiple entity objects for the
> same IPA object but I'm worried that it can break something else.
>
> Maybe simple comparison by an entity name would help.
Oh, I see. I'll probably try to find other way around, as I'm a bit
short on time. Extending FreeIPA is part of my engineering thesis, but
at the same time I'm applying my changes to our CentOS-based production
environment - that's why I'm trying to keep existing codebase intact
(and it would take some time before any changes make their way to
packages in RHEL repositories).
Thanks,
Mateusz Małek
More information about the Freeipa-users
mailing list