cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pranav Saxena <pranav.sax...@citrix.com>
Subject RE: UI Plugin Questions
Date Thu, 13 Jun 2013 16:57:33 GMT
Please see comments inline - 

Thanks,
Pranav
-----Original Message-----
From: SuichII, Christopher [mailto:Chris.Suich@netapp.com] 
Sent: Thursday, June 13, 2013 8:11 PM
To: dev@cloudstack.apache.org
Subject: UI Plugin Questions

Hi everyone, first time poster here...

I've started working on a UI Plugin and have come across a few things I'd like to inquire
about and run by some of you:

-Internationalization: I see that the UI has a system for internationalization, but I don't
see a way for UI plugins to contribute strings to the dictionary without baking their own
or copying the internationalization mechanism. Are there any plans to dynamically include
internationalized strings for a plugin?
[Pranav] - You are absolutely right in pointing that out that the standard UI- plugin structure
doesn't provide support for handling internalization . But this would not be too tough a task
since the need would be to use the require.js framework to load the user's own dictionary
and update the existing dictionary.jsp with the new sets of strings  present in the user's
own dictionary file. It seems , just about tweaking and introducing the current UI plugin
framework. In fact that is how , the plugin code behaves and updates the existing code when
the plugin is loaded.

-Wizard, Dashboard and Infrastructure-like Widgets: The list view and detail view widgets
are really cool and super easy to use. In our plugin we'd like to be able to create our own
wizard in a similar fashion to the instance and zone wizards. We also really like the look
of the Infrastructure and Dashboard pages and would like to create something similar as a
landing page for our plugin. So far we've made a Infrastrucute-like page by copying some of
the code from the Infrastructure page, but it's not all that pretty. Are there any plans to
abstract out some of the wizard creation logic from those two wizards to create wizard widget
and/or a widget like the Dashboard and Infrastructure pages?


[Pranav] - If you observe carefully , the widget creation logic is handled in the js files(
zoneWizard.js/dashboard.js) present in the UI-custom directory inside the UI folder and the
other widgets like listView.js /detailView.js but the triggering of the API calls and invoking
the widget framework functions is handled in the js files present directly in the UI folder
(eg system.js) . So ideally , we already have a layer which is segregating the widget creation
and widget-invoking/API calls functionality .  I know the infrastructure code is too huge
to handle and that is why all new features which would be developed would be developed in
the form of UI modules (Eg - CISCO asa 100 support / vnmcNetworkProvider / VPC) .


-Unquoted JSON values: Some will claim this is a bug on our side, some would say it is a CS
bug, so we'll see what people think... The JSON spec says that numeric and boolean values
do not need to be quoted. However, throughout the UI code, values are taken from data providers
and directly checked like:

if (value) {
  // do something
}

This causes problems when value is 'false' or '0' (without the quotes). The simpler solution
may be to make our server quote all values (including numerics and booleans), but I just wanted
to bring up that the UI code will not work despite input meeting the JSON standard.

- We use a converter when you have values such as "false" or 0 being sent in the JSON response.
The converter is present in sharedFucntions.js file which handles such cases . I am not sure
if this is what you expected to know or I misinterpreted your concern here . 

Thanks,
Chris
--
Chris Suich
chris.suich@netapp.com
NetApp Software Engineer
Data Center Platforms - Cloud Solutions
Cisco, Citrix & Red Hat

Mime
View raw message