Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Advice on creating plug-ins for customizing a SmartGWT app

    We're using SmartGWT (client and server) to develop an application that will be used by multiple companies. Many companies will have customizations they would like to add without changing the application code that we deliver to them. We've built various configuration options and preference settings to let our customer's IT staff customize the UI behavior, but there are some custom requirements that can't easily be solved this way.

    One that has come up recently is the need to add custom validation rules via some sort of plug-in architecture. Any recommendations for how best to implement this?

    One customer has suggested we allow them to configure optional web service calls at various points in the application so they could maintain the web service implementation outside of our application. Are there other techniques that you've seen elsewhere that would apply here? Any natural points in the framework where custom logic can be "plugged in" via external calls or overrides without modifying source code?

    #2
    For the former use case, we had a customer take the approach of defining a custom DataSource class that would recognize custom XML declarations that would attach Drools rules to DataSource fields.

    For the latter use case (contact a WSDL web service), you've hit upon what we call "Visual Builder OEM". Specific screens or individual components of your application would be built using Visual Builder, or just written in the Component XML format that Visual Builder can load and save to. You would provide an Admin page in your product that would launch Visual Builder to edit one of these screens, and they would use the WSDL wizard to bind to their web service, and drag data elements from the web service onto components to bind them.

    Comment


      #3
      Now that the dynamic data source feature is available I realize I can allow our customers to add their own validators to a data source. With just a few hours of work I've created a UI that let's them selectively override fields in the data sources we supply. So they can make fields required or hidden depending on their requirements. They can also add any of the standard SmartGWT validators as well.

      What a great framework you've created!

      Comment

      Working...
      X