This document provides an overview and agenda for a presentation on integrating Ext JS grids into XPages applications to modernize IBM Notes views. It introduces Ext JS as a JavaScript library for data display, discusses adding Ext JS and integrating with REST services to load data into grids. It also covers capabilities of Ext JS grids like sorting, filtering, editing and considerations for loading large amounts of data and improving the user experience.
Presented at the virtual ICONUS 2016 conference
Many companies run a mixed IBM Notes and Microsoft Office 365 (O365) environment. SharePoint/Outlook and Domino should be viewed as a new opportunity to create rich and engaging user experiences. Using both IBM and Microsoft REST services as the core to the solution, this presentation will show how both technologies stacks can be integrated to maximize application functionality and present a seamless experience to the user.
Mark will provide lots of demonstrations including Office Web Add-Ins, how to access O365 data from your Domino applications and many others. Come and see how your core Domino webdev skills are equally applicable to the Office 365 environment.
This presentation was given as part of the Office education day September 24th 2017. The presentation focused on Office Add-Ins and specifically how users could use the Script Lab Add-In to be able to get started with Office Add-Ins
The future of web development write once, run everywhere with angular.js and ...Mark Roden
This slide deck was used in support of BTE 102 - The future of web development write once, run everywhere with angular.js and domino at IBMConnectED 2015
Presentation was given with Mark Leusink
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
Slides from my ICON UK 2014 session held on September 13, 2014 at IBM Southbank, London.
The session was an introduction to the MEAN stack (Mongo, Express, Angular and Node).
This presentation was given at SharePoint Saturday Virginia Beach 2012. The topic covers some SharePoint based solutions that directly benefit from HTML5 features.
Presented at the virtual ICONUS 2016 conference
Many companies run a mixed IBM Notes and Microsoft Office 365 (O365) environment. SharePoint/Outlook and Domino should be viewed as a new opportunity to create rich and engaging user experiences. Using both IBM and Microsoft REST services as the core to the solution, this presentation will show how both technologies stacks can be integrated to maximize application functionality and present a seamless experience to the user.
Mark will provide lots of demonstrations including Office Web Add-Ins, how to access O365 data from your Domino applications and many others. Come and see how your core Domino webdev skills are equally applicable to the Office 365 environment.
This presentation was given as part of the Office education day September 24th 2017. The presentation focused on Office Add-Ins and specifically how users could use the Script Lab Add-In to be able to get started with Office Add-Ins
The future of web development write once, run everywhere with angular.js and ...Mark Roden
This slide deck was used in support of BTE 102 - The future of web development write once, run everywhere with angular.js and domino at IBMConnectED 2015
Presentation was given with Mark Leusink
Escaping the yellow bubble - rewriting Domino using MongoDb and AngularMark Leusink
Slides from my ICON UK 2014 session held on September 13, 2014 at IBM Southbank, London.
The session was an introduction to the MEAN stack (Mongo, Express, Angular and Node).
This presentation was given at SharePoint Saturday Virginia Beach 2012. The topic covers some SharePoint based solutions that directly benefit from HTML5 features.
This is my March 8, 2001 pitch to Jeff Bezos on why Amazon ought to offer web services. I'm uploading it now because I'm referencing it in my forthcoming book, WTF: What's the Future and Why It's Up To Us, due from Harper Business in October 2017, and want people to be able to take a look at it. This is of historical interest only.
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
Are you starting a new XPages project, but not sure it’s going to be done right the first time? Do you have an existing application that doesn’t seem to have that “X” Factor? In this webinar, John Jardin demonstrates how XPages developers can apply proven techniques and best practices to take their applications to a game-changing level.
You'll learn how to:
-Rapidly develop responsive applications,
-Improve user experience and response times with background and multi-threaded operations,
-Keep your XPages lightweight with code injection,
-Create scheduled tasks the XPages way,
-And much more.
Alfresco Digital Business Platform Builder ExperienceRay Gauss
Ideas around providing developers with frameworks and tools that enable performant, upgrade-safe extensions to the Alfresco Digital Business Platform, including design, event consumption, REST APIs, and deployment.
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...SPS Paris
Modern solutions are based on complex architectures, which are made of multiple layers and services. Often, to run your solutions, you need to host services on Azure, configure services in Office 365, and provision content in SharePoint Online. Deploying manually such kind of solutions in target environments can be really challenging, time consuming, and error-prone. In this session, you will learn how to automate the provisioning of such kind of solutions using the Microsoft Graph, the Azure Management API, and the REST API more in general. During the session you will see a real case study, based on the open source PnP Partner Pack Setup Wizard.
So, you've made the ferpect Single Page Application. It has all the bells and whistles, and uses all the flashing new frameworks.
But how do you know it works, and how do you know that it will continue to work in this world of continuous delivery? This session will try to explain how to do end-to-edn testing of the system, how to test the application server code, and how to test the code the executes on the client.
Adobe AEM overview for Business Heads. How to build a team, What are the phases of development, Tools and technologies, Team composition, Estimations, Deployment and Migration, Sizing - Presented at Adobe Bangalore
A beginner's guide to setting up your development environment to build a very basic "Hello World" web part using the SharePoint Framework and resources on how to keep learning more about it.
In "Modern development", the presence of client-side code is increasingly present.
It is not least SharePoint, which thanks to the Online version introduced a new development framework based on client-side technologies called "SharePoint Framework " (SPFX).
In This session we will see a brief introduction about why this Framework was created, the principle of operation, the development tools, the programming languages, and the client-side frameworks that you can use to create Customizations such as Web parts and expensions.
Lessons learned from the worlds largest XPage projectMark Roden
Working on the world's largest XPages implementation has its challenges. Modernizing an IBM Notes client application used in over 105 countries by over 100,000 users teaches you a lot! In this session, we'll share some of the challenges and our appropach to overcoming them. We'll demonstrate a new XPinC performance feature in the upcoming Social Edition being added as a result of our work with IBM. We'll also demonstrate best practices in user interaction, share lessons learned on team development using a single .nsf file -- and much more. Come and find out more about how you can save time, money and avoid end-user frustration as we share our experiences - and open the covers of the largest XPages project in the world. Sample DB provided!
Presenting Data – An Alternative to the View ControlTeamstudio
In this webinar, Paul Della-Nebbia, an IBM Champion, will show how to implement a different alternative for displaying information from Domino views. Paul will cover how to use the Dojo Data Grid (included with XPages) to display a data grid that provides unique features like infinite scrolling, click to sort column headers, adjustable column widths, filtering, and the ability to drag and drop column headers to reorder. As the user scrolls through, the view data is retrieved as needed which improves performance and usability.
This is my March 8, 2001 pitch to Jeff Bezos on why Amazon ought to offer web services. I'm uploading it now because I'm referencing it in my forthcoming book, WTF: What's the Future and Why It's Up To Us, due from Harper Business in October 2017, and want people to be able to take a look at it. This is of historical interest only.
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
Are you starting a new XPages project, but not sure it’s going to be done right the first time? Do you have an existing application that doesn’t seem to have that “X” Factor? In this webinar, John Jardin demonstrates how XPages developers can apply proven techniques and best practices to take their applications to a game-changing level.
You'll learn how to:
-Rapidly develop responsive applications,
-Improve user experience and response times with background and multi-threaded operations,
-Keep your XPages lightweight with code injection,
-Create scheduled tasks the XPages way,
-And much more.
Alfresco Digital Business Platform Builder ExperienceRay Gauss
Ideas around providing developers with frameworks and tools that enable performant, upgrade-safe extensions to the Alfresco Digital Business Platform, including design, event consumption, REST APIs, and deployment.
D2 - Automate Custom Solutions Deployment on Office 365 and Azure - Paolo Pia...SPS Paris
Modern solutions are based on complex architectures, which are made of multiple layers and services. Often, to run your solutions, you need to host services on Azure, configure services in Office 365, and provision content in SharePoint Online. Deploying manually such kind of solutions in target environments can be really challenging, time consuming, and error-prone. In this session, you will learn how to automate the provisioning of such kind of solutions using the Microsoft Graph, the Azure Management API, and the REST API more in general. During the session you will see a real case study, based on the open source PnP Partner Pack Setup Wizard.
So, you've made the ferpect Single Page Application. It has all the bells and whistles, and uses all the flashing new frameworks.
But how do you know it works, and how do you know that it will continue to work in this world of continuous delivery? This session will try to explain how to do end-to-edn testing of the system, how to test the application server code, and how to test the code the executes on the client.
Adobe AEM overview for Business Heads. How to build a team, What are the phases of development, Tools and technologies, Team composition, Estimations, Deployment and Migration, Sizing - Presented at Adobe Bangalore
A beginner's guide to setting up your development environment to build a very basic "Hello World" web part using the SharePoint Framework and resources on how to keep learning more about it.
In "Modern development", the presence of client-side code is increasingly present.
It is not least SharePoint, which thanks to the Online version introduced a new development framework based on client-side technologies called "SharePoint Framework " (SPFX).
In This session we will see a brief introduction about why this Framework was created, the principle of operation, the development tools, the programming languages, and the client-side frameworks that you can use to create Customizations such as Web parts and expensions.
Lessons learned from the worlds largest XPage projectMark Roden
Working on the world's largest XPages implementation has its challenges. Modernizing an IBM Notes client application used in over 105 countries by over 100,000 users teaches you a lot! In this session, we'll share some of the challenges and our appropach to overcoming them. We'll demonstrate a new XPinC performance feature in the upcoming Social Edition being added as a result of our work with IBM. We'll also demonstrate best practices in user interaction, share lessons learned on team development using a single .nsf file -- and much more. Come and find out more about how you can save time, money and avoid end-user frustration as we share our experiences - and open the covers of the largest XPages project in the world. Sample DB provided!
Presenting Data – An Alternative to the View ControlTeamstudio
In this webinar, Paul Della-Nebbia, an IBM Champion, will show how to implement a different alternative for displaying information from Domino views. Paul will cover how to use the Dojo Data Grid (included with XPages) to display a data grid that provides unique features like infinite scrolling, click to sort column headers, adjustable column widths, filtering, and the ability to drag and drop column headers to reorder. As the user scrolls through, the view data is retrieved as needed which improves performance and usability.
The Autobahn Has No Speed Limit - Your XPages Shouldn't Either!Teamstudio
Using XPages out of the box lets you build good-looking and well-performing applications. As XPage applications become bigger and more complex, performance can become an issue. There are several ways to improve scalability and performance that you should take into consideration. In this webinar, learn how to use partial refresh and partial execution mode and how to monitor its execution using a JSFLifeCycle monitor to avoid multiple re-calculations. See how readily available tools from OpenNTF will allow you to profile and analyze your code to improve the speed of your applications. Using Server Side Java Script and encountering a significant slow down when using Script Libraries? Learn how you can improve the speed of your application using JAVA instead of JavaScript, JSON and even @formulas.
Australian Service Manager User Group. Presentation deck from our Knowledge Event in February 2015. Head to our website to see a recording of the event.
Hear Ryan Millay, IBM Cloudant software development manager, discuss what you need to consider when moving from world of relational databases to a NoSQL document store.
You'll learn about the key differences between relational databases and JSON document stores like Cloudant, as well as how to dodge the pitfalls of migrating from a relational database to NoSQL.
Nwtl2017 extending and customizing ibm connections cloudAndré Luís Cardoso
Extending and customizing ibm connections cloud. How to customize your connections on the smartcloud. How to get better visual for your connections. IBM
Access Data from XPages with the Relational ControlsTeamstudio
Did you know that Domino and XPages allows for the easy access of relational data? These exciting capabilities in the Extension Library can greatly enhance the capability of your applications and allow access to information beyond Domino. Howard and Paul will discuss what you need to get started, what controls allow access to relational data, and the new @Functions available to incorporate relational data in your Server Side JavaScript programming.
The Web is until now mostly considered to be a Web of documents, more specifically a Web of HTML pages. However, the inventor of the Web Tim Berners Lee considers the Web not to have reached its fullest potential. The Data Web and Linked Data will enable more precise search services transforming the Web into a smarter and richer Web. Google for example uses Linked Data concepts to realize its own knowledge graph to process voice commands and voice queries for users. Linked Data concepts are not limited to the public Web. They can also be used to capture private knowledge in private company Webs making them potentially applicable as the backbone for future PLM solutions.
The Cytoscape Cyberinfrastructure extends Cytoscape and its community into web-connected services.The CI is a Service Oriented Architecture that supports network biology oriented computations that can be orchestrated into repeatable workflows.
Ext Js introduction and new features in Ext Js 6Sushil Shinde
This presentation covers an elementary introduction to Ext Js 5 and its architecture. It also provides the details of new version of Ext Js i.e Ext Js 6. There are few slides which discuss comparison between Ext Js and other UI development frameworks
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
2. About Dr. Marky
Over 16 years IBM Notes Domino® work
Senior Consultant at PSC Group LLC
• XPages® Developer
• Project Leader
• 2014 IBM Champion
Contact Information
•
•
•
•
2
Blog: http://www.xomino.com
Email: marky@xomino.com
Twitter: @markyroden
Skype: marky.roden
www.psclistens.com
@pscgroup
4. Agenda
What is Ext JS?
What are Ext JS Grids?
Adding Ext JS to an XPages application
Integration with REST services
– How many documents really?
What capabilities do Ext JS Grids provide?
User experience considerations
4
6. What is Ext JS?
Originally built as an add-on library extension of YUI by Jack Slocum (circa 2005)
Sencha Inc created June 2010
– Ext JS merged with JQTouch and Raphaël
Dual License JavaScript library
– Open Source GPL
– Commercial
6
13. What are Ext JS Grids?
Discrete subsection of Ext JS functionality
It’s akin to an IBM Notes client view on the web…
– With almost every additional feature you wished for
True evolution of web based data management
For examples see
http://docs.sencha.com/extjs/4.2.0/extjs-build/examples/#sample-3
13
14. What are Ext JS Grids?
Traditional notes views on the web
– Functional: 1997 Web experience
14
15. What are Ext JS Grids?
XPages View controls
– More Functional: 2008 Web Experience
15
16. What are Ext JS Grids?
Highly configurable data display containers
Ext JS Grid controls
– 2014 Web Experience
16
18. Adding Ext JS to an XPages application
Download the library from sencha.com
– 45M (you don’t need all that)
– Take the resources and src folders
– Add them to WebContent
18
19. Adding Ext JS to an XPages application
Add four things to your XPage
1. Reference links to the Ext JS JavaScript and CSS files
2. Custom CSJS file
3. A <DIV /> to display the grid in
19
21. Integration with REST
Anatomy of the custom csjs file
Ext.require([
'Ext.data.*',
'Ext.grid.*',
AMD Loading of
libraries
'Ext.ux.grid.FiltersFeature'
]);
Ext.define('Person', {
extend: 'Ext.data.Model',
fields: ['firstname', 'lastname', 'address', 'city', 'state']
});
21
Field model
22. Integration with REST
Create the data store
var store = Ext.create('Ext.data.Store', {
autoLoad: true,
autoDestroy: true,
Field Model
autoSync: false,
model: 'Person',
proxy: {
type: 'rest',
url: 'xRestService.xsp/byFirstName',
reader: {
type: 'json',
root: 'items'
},
writer: {
type: 'json'
},
noCache: false
}
});
22
The XPages REST service
23. Integration with REST
Define the Grid
var grid = Ext.create('Ext.grid.Panel', {
renderTo: 'gridHere',
//id of Div on the page
frame: true,
features: [filters],
//Add the Filter Feature
height: 400,
title: 'Users',
store: store,
//JSON data store from the REST
columns: [{
//Define each column
header: 'First123',
sortable: true,
dataIndex: 'firstname',
filterable: true
},
more columns]
});
});
23
//define column properties
24. Integration with REST
Display The Data
How many documents really?
– ~95,500 documents
– 43 seconds to download
– 4.5 M data
24
26. What capabilities do Ext JS Grids provide?
Demonstrations
To view the examples see
http://demo.xomino.com/xomino/ExtJS.nsf
26
27. What capabilities do Ext JS Grids provide?
Like a notes view
– Sorting Columns
– Categories
– Searches
• By Field
• By Date
– Column Totals
– Selecting single / multiple
documents
• Taking actions upon them
27
28. What capabilities do Ext JS Grids provide?
Better that a notes view
– Sorting by Multiple Columns
– At the same time
• On the fly
• By the user
• Programmatically
28
29. What capabilities do Ext JS Grids provide?
Better that a notes view
– Categories (Grouping )
• On the fly
• No design changes
• Any column
• Dynamic control of the Category
• Sorting and Categories work together
harmoniously!
29
30. What capabilities do Ext JS Grids provide?
Better that a notes view
– Reordering Columns on the fly
30
31. What capabilities do Ext JS Grids provide?
Better that a notes view
– Searching by column
• Not just by field
• Searching by multiple
column values
• Giving the power to
the users
31
32. What capabilities do Ext JS Grids provide?
Better that a notes view
– Editing of documents via the view
• Editing of row values within the grid
• REST CRUD Update
32
33. What capabilities do Ext JS Grids provide?
Better that a notes view
– Locking Columns - Like Excel
• Fixed columns
• Dynamic adding of locked
columns
•
• Sorting still works
33
34. What capabilities do Ext JS Grids provide?
Better that a notes view
– Column Totals (more than one)
• Totals on any column
• On the fly WITH search
• Any mathematical computation
not a total
34
35. What capabilities do Ext JS Grids provide?
Better that a notes view
– HTML formatting of columns
• Icons
• Grouping of icons
• Colors based on values
35
37. User considerations
When is too many documents?
How many documents?
– Connection speed
• 200 documents
• 20 columns
• 200K of text
• Time taken: 200ms
– Data overload reality
• Would you give someone a 100,000 line excel sheet to analyze ?
37
38. User considerations
Options for loading data
Loading data
– What is a better experience?
• Quicker loading
• Seeing progress as the data loads
– End user experience depends on multiple factors
• Network
• User expectations
• Data size
• Browser
38
39. User considerations
The BufferedRenderer object
Released with Ext JS 4.2
BufferedRenderer object
– Loads data dynamically
– Orders of magnitude less DOM elements created
• Significant consideration in XPiNC and IE8
– http://vimeo.com/59611158
39
41. User considerations
The BufferedRenderer object
Significantly reduces the number of DOM elements being managed in memory
14522 DOM elements
Without BufferedRenderer
41
707 DOM Elements
With BufferedRenderer
42. User considerations
Page refresh
That is a lot of data to load and reload
– Paging is possible
• Not desirable though - Ugly user experience
Action the selected documents not the whole grid
– 1000 document reloaded = 100K+
– 1 documents reloaded = <5 K
– 0 documents reloaded = 0 K !
42
43. User considerations
Only reload the data – don’t reload the page
Grid re-use improves user experience
– Change category ?
– Show the same grid – load different data
• Or
– Show the same data and programmatically filter it
31 documents displayed
43
1524 documents displayed
48. User considerations
Using LocalStorage
But what if something changes?
– Just like IBM Notes client – indicate something has changed !
– Check periodically for changes / deletions
– Use a different REST service to update individual items in the grid
48
49. Questions ?
For more information please check out
http://xomino.com/ExtJSConnect14
twitter: @MarkyRoden
Please don’t forget to do your evaluations
49
54. Integration with REST
Display The Data
How many documents really?
– ~95,500 documents
– 20 columns
(+6 bonus columns)
– 94 seconds to download
– 16M data
54
55. Integration with REST
Display The Data
How many documents really?
– ~95,500 documents
– 5 columns
(+6 bonus columns)
– 76 seconds to download
– 5.7 M data
55
56. User considerations
Opening and closing a document
– User experience is poor when they have to reload the grid and many documents
– Multiple solutions to the issue depending on user expectations
• New Window
• Tabs
• Dialogs
56