Embedded Web Pages in VA Smalltalk Parts (or OLE-web other than IExplorer?)

44 views
Skip to first unread message

Matthew Boulter

unread,
Feb 6, 2021, 7:30:42 PM2/6/21
to VA Smalltalk
Hello All...
Now bear with me if I use incorrect terminology as I'm only just trying OLE and Web Browser embedding.

Goal: 
In our ERP system, we have existing implementations of OLE embedded web pages. One example: shows a graph of a Driver's performance in the lower left of the form, surrounded by standard form controls. But I want to embed pages using the latest Web functionality. I was curious so I've been experimenting.

Our existing stack is complicated.

1. Smalltalk Form - with small Part that is a custom class extended from AbtOleControlView.
2. A method on the Form sets the URL for AbtOleControlView.
3. The URL points to a Tomcat Servlet.
4. Which in turn uses Jasper Reports to finally generate a basic HTML page with a single dynamically generated PNG image (base64 encoded directly)

All well and good and works as intended.

I wanted to see what else I could embed.... So I started small and merely wanted a locally hosted page running just some demos from new JS Charting libraries (like Highcharts, amCharts, etc). And hit issues.

*Long Story short*

  * I have learnt that by Microsoft's default, it 'processes' the page as IE7 , specifically (Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0E; Tablet PC 2.0; wbx 1.0.0; Zoom 3.6.0) - I made a page that just said the UserAgent.

* And I have learnt that you can change this in two ways
  1) via the <meta http-equiv="X-UA-Compatible"  ...> tag if you control the source server/page
  2) via the Registry (...\FEATURE_BROWSER_EMULATION) keys with your Application name set.

I got better results (word to the wise, the UA string will still report the old version.

However it all felt unsatisfactory. For example, even setting to the latest embeddable (IE11), I still ran into issues using some graphs employing ES6+ JavaScript syntax.

Question
Well I have many so I will list them out.
  • The embedded page didnt seem to be interactable?
    I found that 'onhover' and other features weren't working when embedded

  • Anyone know of Chrome or Firefox OLE controls or anything >IE11?

  • What are other people's experiences trying similar things?

It seems like a wonderful opportunity to marry the two platforms together and leverage these wonderful web visualisations in our Enterprise software systems.

Looking forward to people's insights.

Thanks all! 

Regards, Matthew.








Joachim Tuchel

unread,
Feb 8, 2021, 5:56:15 AM2/8/21
to VA Smalltalk
Matthew,

this may sound depressing, but I would say forget about OLE and web component embedding completely. Since Edge doesn't support OLE Automation, whatever you do now will lock you into MS IE. These days, being locked into a Browser version that is more than 3 weeks (okay, maybe months) old is just building legacy and eagerly asking for trouble.

Edge does support WebDriver / Selenium, however (https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/). That is not only supported in Edge but also in all other relevant Browsers.

It will not allow for embedding a Browser control into your application, but it will allow for driving a Browser window from Smalltalk. All hope is not lost: There has been a Testing Framework from the Seaside world called Parasol (https://github.com/SeasideSt/Parasol) . It has been around for quite a while and it is based on WebDriver / Selenium. The only problem: it hasn't been ported to VAST yet, as far as I know... I know people started efforts, but I don't know why or if they gace up or just didn't release their port to the public.

So if you ask me, Parasol or its WebDriver sub-framework is the way to go. If you have the ressources to do so, I suggest taking a look. If this leads to an initial port to VAST, we'd all be happy, I guess.

Joachim

Matthew Boulter

unread,
Feb 8, 2021, 6:01:12 AM2/8/21
to va-sma...@googlegroups.com
Thank you heaps Joachim for the feedback... WebDriver sounds intriguing i shall check out.

Regards Matt.

--
You received this message because you are subscribed to a topic in the Google Groups "VA Smalltalk" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/va-smalltalk/QlwY7KALQ-M/unsubscribe.
To unsubscribe from this group and all its topics, send an email to va-smalltalk...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/va-smalltalk/76bc1e15-e322-4b93-b63d-b43bf71d5440n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages