Page Manipulation SDK
The Page Manipulation SDK ensures an optimal implementation of the Intelligent Page with nearly no software engineering needed.
The SDK exposes simple common HTML constructs while encapsulating the integration of HTTP networking, asynchronize cloud parallel processing, and dynamic HTML rendering.
Getting Started
- Convert the Intelligent Tag from Learning Mode to Manipulation Mode.
- Review the Intelligent Handshake® Plan and identify target HTML Elements.
- Prepare the target HTML Elements.
- Define the Default Experience.
- Create Intelligent Handshake® HTML Script Elements.
- Create the Page Plan Object.
- Use Page Manipulation URL Parameters to test the user experience to the Intelligent Handshake® Plan.
Prepare the Target HTML Elements
Each HTML Element targeted by the Intelligent Handshake® Plan needs to have an unique HTML Element ID.
Use the Target Element's existing id or add one if needed.
Example
<div id="id10001-001" ...>
...
</div>
Define the Default Experience
It's the Internet, sometimes things don't go as planned.
A well-defined Default Experience ensures a positive user experience every time regardless of the technical environment.
Though the possibilities of user experiences have no limit, there are 2 basic design concepts.
It is common to mix and match server default and manipulation default across the multiple Targeted Elements of a single page.
Server Default Render
This is the AS-IS server render.
The web server renders the HTML page with the default user experience already rendered on the HTML document.
The Intelligent Handshake® Manipulation Mode SDK does nothing to render the Default Experience.
Manipulation Default Render
This is the reveal browser render.
The web server renders either an empty target element or a pre-manipulated place holder experience.
When the Intelligent Handshake® platform responds or the defaultTimeoutAfterLoad value is reached the Page Manipulation SDK renders the final Default Experience.
Create Intelligent Handshake® HTML Script Elements
A new HTML <script /> type, type="html/intelligenthandshake", was created to enable the web developer to create the HTML for the manipulation experiences.
The <script type="html/intelligenthandshake"/> element is invisible to the browser but allows the web developer to design the manipulation experiences in native HTML using their existing development environment.
Example
<script type="html/intelligenthandshake" id="IH_Hero_H" ...>
...
<div>
...
</div>
...
</script>
Create Page Plan Object
The Intelligent Handshake® Scores is connected to the user experience through the Page Plan Object.
It is a JavaScript configuration object translating the Intelligent Handshake® Plan to the Page Manipulation SDK.
Don't forget to convert the Intelligent Tag from Operating Mode to Manipulation Mode.
Field Definitions
Field |
Data Type |
Examples |
Description |
defaultTimeoutAfterLoad |
Number |
300 |
Maximum # of milliseconds to wait for the Intelligent Handshake® Scores before rendering the Default Experience. |
elementPlans |
Array of Objects |
[{...},...] |
Array of 1 or more Element Plan objects for each Target Element. |
elementPlans.elementIDs |
Array of Strings |
["id151841-409", "id151841-52"] |
Array of 1 or more Target HTML Element IDs. |
elementPlans.defaultMode |
String |
"None" |
Manipulation Mode for the Default Experience. |
elementPlans.defaultHTMLID |
Number |
null |
HTML Element ID for the Default Experience content. |
elementPlans.HTMLScores |
Array of Objects |
[{...},...] |
Array of 1 or more HTML Scores. |
elementPlans.HTMLScores.score |
String |
"H" |
Intelligent Handshake® Scores |
elementPlans.HTMLScores.mode |
String |
"Append" |
Manipulation Mode for the Manipulation Experience. |
elementPlans.HTMLScores.HTMLID |
String |
IH_HERO_H |
HTML Element ID for the Manipulation Experience content. |
Manipulation Modes
None - Do nothing
Append - Add Manipulation content to the end of the existing HTML
Replace - Replace existing HTML with the Manipulation content
Example
<script type="text/javascript">
intelligenthandshake.PagePlan =
{
defaultTimeoutAfterLoad: 10,
elementPlans:
[
{
elementIDs: ["id151841-409", "id151841-52"],
defaultMode: "None",
defaultHTMLID: null,
HTMLScores: [
{
score: "H",
mode: "Append",
HTMLID: "IH_Hero_H"
}
]
}
]
}
</script>
Test the User Experience
Use the Intelligent Tag's URL parameters to test all the user experiences by Intelligent Handshake® Scores and different response times.
Example
https://livesite.com/?ihscore=L
https://livesite.com/?ihscore=M
https://livesite.com/?ihscore=H
https://livesite.com/?ihscore=NB
https://livesite.com/?ihscore=H&ihmilliseconds=0
https://livesite.com/?ihscore=H&ihmilliseconds=300
https://livesite.com/?ihscore=H&ihmilliseconds=1000