In new UI framework we have proposed following features. there were some concerns about the complexity of the framework due to these “advanced” features. In this thread I would like to go through each feature and discusses why we need them. please contribute your ideas on the usefulness of each feature.
1. Componentization UI is made out of components that are self contained. this mean each component has it’s own CSS/JS/ backend code/HTML it needs to render the UI. This is the basic feature of the framework. 2. Layout Separation Layouts lives separately to the UI. here layout means the basic structure of the UI, fluid/non-fluid , number of columns, banner and footer placement etc. 3. Declarative Population some UI elements (eg: menu) is populated using the information that is gathered from multiple components. EG: there is no single file that you can open and find out the structure of the menu, each components pushes individual links that makes up the whole component. usecases - left side navigation menu like in carbon console UI - in top navigation bar, cloud needs to add additional links - tab views for AM needs documentation tab additionally 4. Arbitrary overriding any part of the UI (granularity depends on implementation) can be overridden without directly changing the code of that section. you add a new component and defined what part you should override. usecases - Logo needs to change from product to product - UI Action needs to change depending on device type/RXT type in publisher/CDM - Customers need to add sections to header/footer or body. 5. Inheritance when you override a component (as in feature 4), you can reuse the overddin code and just override a part of it. this allows re-use among the overridden and overriding components. (like extending a java class but only overriding few methods) usecases - If you are overriding the asset view and change the “Subscribe” button to “Install” for a given asset type (eg mobile app) then you should rewrite the whole code section that renders the item description. - If you add a new theme for AM that extended grenic store theme you shouldn’t write it from the scratch. the customers should then be able to extend it and create their own. WSO2 Generic theme -> Generic Store Theme -> AM Store Theme -> Customer Store Theme -- With regards, *Manu*ranga Perera. phone : 071 7 70 20 50 mail : [email protected]
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
