Knockout E1 Page

With yet another year about to go down in history, the moment for reflection and prognosis is upon us. The passage between year-ends gets shorter with age, causing reflections and prognoses to lose significance – but you got to hold on!

I recently got an email from Linkedin offering me to weigh in on #BigIdeas2019. Admittedly I did pondered the subject but tended to slip back to the same sh!^, different year basket – with a feeble believe that the new year may restore some form of reason. And then a pause with the thought that perhaps 2018 was just as, if not more reasonable than any of my previous 50+ years. The mind is notorious for memory-glossing.

Big Ideas 2019

December marked the second year for Celin’s mobile apps. My reminder is a renewal memo from Apple. While Google charges a one-off small registration fee for Google Play and Micrsoft's app store is completely free, Apple charges annual Apple Developer Program membership fee. You can’t really blame them – they’re simply making hay while the sun shines.

The purpose of the mobile apps was two-fold. Understand the technology involved and poking the market. I got the gist of the technology and the market is not there – at least not yet. And making money out of software developers is so-last-century that I decided to shelve the Apple Developer Program membership. Hence the disappearance of Celin’s mobile apps from its store.

Progress is very much two-steps-forwardone-step-back. And I’m stepping back in the new year with a focus on E1 Active Pages (E1P).

An E1P is a bit like a Single Page Application (SPA) except that it’s running in an iframe rather than having a full browser page. In turn an E1P is implicitly authenticated for AIS as well as having access to few of the HTML Server's API like runE1App and runE1UBE.

Oracle has a pretty good Tutorial on building an E1P. It doesn’t delve too much into technical details but instead focuses on getting runs-on-the-board (something to show).

As to be expected from a good tutorial, after using it as the foundation to build a few E1P’s, the focus returns to the priorities of every developer: support, maintenance and extension.

Support

Support increases exponentially with complexity but an E1P is simple by definition – designed to only provide limited functionality.

So given reasonable requirements and testing, support should not be of concern (either the page delivers required functionality or not).

Maintenance

Maintenance of E1P are either minor tweaks, like layout or branding adjustments for example, or back-end realignment due to process changes. With a consistent E1P design, maintenance should be straight forward.

Extensions

Any serious software development must be open to extensions and collaboration. That means consistent and standardised design. Any developer with a knowledge of the standard should be able to maintain, extend and recycle E1P logic.

Framework

The default solution to a standardised design is a framework – and the JavaScript universe is full of them!

Oracle’s framework is OJET. With weekly downloads in the hundreds on npm, it doesn’t actually shout at you to try me!. The E1P tutorial uses few pieces out of it but with its own structure, so since Oracle is not promoting it I think it’s safe to bypass it as an option.

Using one of the big guys like React, Angular or Vue is tempting. Tried and trusted frameworks supported by large communities of developers. What stopped me from trying any of them is the jQuery dependency of an E1P, which big guys do without. A framework that builds on jQuery is preferable and there happens to be one that OJET relies on as well.

e1p-ab-inquiyr

KnockoutJS has been around since 2010 which makes it an elder on the scene. The Address Book Inquiry is my first E1P attempt, which means that there is still a lot to learn. But so-far-so-good, it has everything I was after, including:

So that’s my BigIdeas2019, knockout few E1 Pages!