Project

General

Profile

Feature #3258

improve javascript upcalls from the embedded client

Added by Greg Shah about 7 years ago. Updated about 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD

Related issues

Related to User Interface - Feature #3218: enhance the embedded mode web GUI to implement a good default approach for common cases Closed
Related to User Interface - Feature #3259: add useful web components that can be easily integrated into the embedded web client New
Related to User Interface - Feature #3260: auto-conversion and enablement for the embedded web client Closed
Related to User Interface - Feature #3261: enhanced browse that can optionally selected as a replacement for the default ABL browse Closed
Related to User Interface - Feature #3469: final improvements and polish for the embedded mode web client Closed

History

#1 Updated by Greg Shah about 7 years ago

There are 3 high priority changes needed for the embedded web client's javascript upcalls:

1. To the degree that these calls are not fully secured on the Java side (integrated with our security manager infrastructure and plugins), we need to add this.

2. We need to move the parameter passing conversion and management back into the runtime. Instead of writing ABL code to consume or generate JSON, we should be automatically translating parameters (input, input-output and output) into a single JSON return object. Each parameter would have objects at the top level and it should be smart about how to convert each type, extents and so forth. We should handle the simple and extent BDT cases. But just as important is the temp-table case. The idea is that the ABL should not have to know that it was called by javascript, we should be able to handle the JSON creation completely in the runtime.

3. I also would like to make sure we do safety checking of all inputs and ensure that only safe values will be translated to ABL types. Any problems detected should cause the upcall to be rejected without abending.

#2 Updated by Greg Shah about 7 years ago

  • Related to Feature #3218: enhance the embedded mode web GUI to implement a good default approach for common cases added

#3 Updated by Greg Shah about 7 years ago

Eric also had the idea about trying to make it easy to implement bidirectional data binding.

When using something like D3, the toolset makes it easy to bind your UI to JSON data. It would be very powerful to enable birdirectional updates so that changes on the web side could be pushed back to the ABL easily.

#4 Updated by Greg Shah about 7 years ago

  • Related to Feature #3259: add useful web components that can be easily integrated into the embedded web client added

#5 Updated by Greg Shah about 7 years ago

To provide the best solution for the auto-JSON creation, we would want to allow ABL OO class graphs and prodatasets to be handled cleanly. These both provide non-trivial data structuring options that are natural for ABL programmers. Fully enabling these will allow these data structures to be properly reflected down to the web client.

#6 Updated by Greg Shah about 7 years ago

  • Related to Feature #3260: auto-conversion and enablement for the embedded web client added

#7 Updated by Greg Shah about 7 years ago

  • Related to Feature #3261: enhanced browse that can optionally selected as a replacement for the default ABL browse added

#8 Updated by Greg Shah about 6 years ago

  • Related to Feature #3469: final improvements and polish for the embedded mode web client added

Also available in: Atom PDF