[Freeipa-devel] [PATCH] Framework for custom UI

Adam Young ayoung at redhat.com
Thu Oct 28 17:10:47 UTC 2010


On 10/27/2010 11:51 PM, Endi Sukma Dewata wrote:
> Hi,
>
> Please review the attached patch. Thanks!
>
> https://fedorahosted.org/reviewboard/r/97/diff/2/
>
> This patch introduces a new framework for implementing custom UI.
> It consists of the following classes:
>
> Main:
>  - IPA: global namespace and object repository
>  - ipa_entity: base class for entities
>  - ipa_facet: base class for facets
>
> Add dialog:
>  - ipa_add_dialog: default add dialog
>  - ipa_add_field: the fields used in the dialog
>
> Search facet:
>  - ipa_search_facet: default search facet
>  - ipa_search_column: the columns in the search result
>
> Details facet:
>  - ipa_details_facet: default details facet
>  - ipa_details_section: the sections in the details facet
>  - ipa_details_field: the fields in the details facet
>
> Association facet:
>  - ipa_association_facet: default association facet
>  - ipa_association_config: the association configurations
>
> To use this framework, create a class extending the ipa_entity (e.g.
> ipa_hbac). Use the create_* methods to create add dialog, search facet,
> details facet, and association facet. The fields/columns for the dialog
> and facets can be specified using the init() function. Custom UI can be
> defined by overwriting the base methods (e.g. setup, save, load).
> The entity must be added into the repository using IPA.add_entity().
>
> The original ipa_entity_setup() has been generalized by moving facet-
> specific codes into the corresponding facet. Some facet names are still
> hard-coded. This will be fixed in follow-up patches.
>
> Some global variables have been removed because their function has been
> replaced by the object repository:
>  - ipa_entity_add_list
>  - ipa_entity_search_list
>  - ipa_entity_details_list
>  - window_hash_cache
>
> Some functions and variables have been moved into IPA namespace:
>  - ipa_json_url -> IPA.json_url
>  - ipa_use_static_files -> IPA.use_static_files
>  - ipa_ajax_options -> IPA.ajax_options
>  - ipa_objs -> IPA.metadata
>  - ipa_messages -> IPA.messages
>  - ipa_dialog -> IPA.error_dialog
>  - ipa_init() -> IPA.init()
>
> Initially the HBAC and Service entities have been rewritten to use the
> new framework. The DNS is partially converted, the ipa_records_facet
> is used to define custom records facet.
>
> Other entities can still work using the old framework. The old framework
> has been modified to be a wrapper for the new framework. Eventually all
> entities will be converted to use the new framework.
>
> Some unit tests have been modified to use the new framework.
>
>
> _______________________________________________
> Freeipa-devel mailing list
> Freeipa-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/freeipa-devel
ACK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20101028/bfe52e52/attachment.htm>


More information about the Freeipa-devel mailing list