This document provides a summary of a presentation on using AngularJS and IBM Domino to build modern web applications.
The presentation introduces AngularJS, an open-source JavaScript framework, and how it uses a model-view-controller architecture. It also discusses using IBM Domino as a RESTful backend service via Domino Access Services or a custom REST API.
The presentation demonstrates a sample conference scheduling app built with AngularJS, Bootstrap, and data from an IBM Domino database. The app runs entirely on the client-side and shows how AngularJS allows building portable web apps that can run on any device or platform.
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).
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSMark Leusink
Â
Slides from my ICON UK 2016 session. Session abstract:
Modernization of IBM Notes applications is a topic that is on the map for many IBM customers. With one of my customers, a Norwegian manufacturing company, we started a project last year to modernize a business critical Notes application. We decided early on to keep using Domino in the backend, but switch to AngularJS for the frontend. In the session I'll talk about how we approached the project and got to a working prototype. Topics I will cover include responsibilities, development workflow, technical setup and issues we ran into. I'll explain the architecture that we are using, the components involved and how we integrated with IBM Connections and Infor. Keywords for this session: AngularJS, Nginx, REST, IBM Domino, Connections, Infor M3 and Infor Document Management.
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
Â
A presentation given at ESPC 2017, discussing common pitfalls in SPFx development. Includes discussion of versioning and dependency issues, code re-use, SPFx component bundles, Office UI Fabric and more.
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).
ICON UK 2016: Modernizing an IBM Notes applicaton using with AngularJSMark Leusink
Â
Slides from my ICON UK 2016 session. Session abstract:
Modernization of IBM Notes applications is a topic that is on the map for many IBM customers. With one of my customers, a Norwegian manufacturing company, we started a project last year to modernize a business critical Notes application. We decided early on to keep using Domino in the backend, but switch to AngularJS for the frontend. In the session I'll talk about how we approached the project and got to a working prototype. Topics I will cover include responsibilities, development workflow, technical setup and issues we ran into. I'll explain the architecture that we are using, the components involved and how we integrated with IBM Connections and Infor. Keywords for this session: AngularJS, Nginx, REST, IBM Domino, Connections, Infor M3 and Infor Document Management.
Chris OBrien - Pitfalls when developing with the SharePoint Framework (SPFx)Chris O'Brien
Â
A presentation given at ESPC 2017, discussing common pitfalls in SPFx development. Includes discussion of versioning and dependency issues, code re-use, SPFx component bundles, Office UI Fabric and more.
The fundamental problems of GUI applications and why people choose ReactOliver N
Â
Instead of asking people which JavaScript framework to learn, let's look back into GUI application architecture (which Web Front-end is a case). Then you will understand why people created those library & frameworks and why React became so popular.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, âŚ
3. This is not another talk about NodeJS!
IBM Digital Experience Theme CustomizationVan Staub, MBA
Â
This presentation is from IBM's New Way to Learn 2016 partner enablement. The topic is an introduction to theme customization in WebSphere Portal aka IBM Digital Experience.
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 next version of ASP.NET is more than just a minor upgrade. The surface may seem familiar, but the underlying framework represents nothing less than a paradigm shift. Rewritten from scratch to support modern tooling and guidelines, ASP.NET MVC 6 can run just about everywhere and has a ton of features designed to support SPAs, including Angular apps.
This presentation, which was given at the AngularJS-IL Meetup, introduces ASP.NET 5 and MVC 6 and focuses on features that benefit Angular apps.
http://www.meetup.com/AngularJS-IL/events/223123549/
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
Â
This presentation was held at the international Joomla! conference JandBeyond 2014 in KĂśnigstein im Taunus, Germany.
Note: This is a shortened version of the entire presentation since I have added only my part.
Application Lifecycle Management for Office 365 developmentChris O'Brien
Â
For teams doing cloud-friendly SharePoint or Office 365 development, apps will be a key area of focus - be they SharePoint add-ins or the newer Office 365/Azure AD apps. ASP.NET (typically MVC) is a common platform here, and fortunately ALM and Continuous Integration become MUCH easier - finally, an end to "itâs harder because it's SharePoint!" We'll demonstrate how Visual Studio Online and Azure Web Apps are a winning combination for âcontinuous deploymentâ, and also how features such as "Deployment Slots" in Azure can help with dev and test environments, and also the upgrade/push-to-live process. Several demos will ensure youâre covered for developing both SharePoint add-ins and Office 365 apps.
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
Â
presented by @johnhead and @davidvia
Some organizations are neglecting or under-utilizing one of the greatest IT assets in their portfolio today - the Notes/Domino application platform. Some are even considering re-coding Domino applications in other languages and development tools. In this session we present the business case and technical merits of Notes and Domino in direct comparison to other tools such as Microsoft SharePoint. Based on data collected from real-world engagements we will demonstrate the positive return on investment of the Notes platform. We will also discuss PSCâs âApplication Modernizationâ strategy and how it helps move customers from merely maintaining Notes applications to increasing their value with XPages and advanced collaboration functionality.
The fundamental problems of GUI applications and why people choose ReactOliver N
Â
Instead of asking people which JavaScript framework to learn, let's look back into GUI application architecture (which Web Front-end is a case). Then you will understand why people created those library & frameworks and why React became so popular.
1. Isomorphic JavaScript is the pattern of running JavaScript code on both server & client.
2. People are using it for production today. Ask Facebook, Yahoo, Asana, Airbnb, Rising Stack, âŚ
3. This is not another talk about NodeJS!
IBM Digital Experience Theme CustomizationVan Staub, MBA
Â
This presentation is from IBM's New Way to Learn 2016 partner enablement. The topic is an introduction to theme customization in WebSphere Portal aka IBM Digital Experience.
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 next version of ASP.NET is more than just a minor upgrade. The surface may seem familiar, but the underlying framework represents nothing less than a paradigm shift. Rewritten from scratch to support modern tooling and guidelines, ASP.NET MVC 6 can run just about everywhere and has a ton of features designed to support SPAs, including Angular apps.
This presentation, which was given at the AngularJS-IL Meetup, introduces ASP.NET 5 and MVC 6 and focuses on features that benefit Angular apps.
http://www.meetup.com/AngularJS-IL/events/223123549/
Joomla! multiplied - How to run Multi-Sites - JandBeyond 2014Viktor Vogel
Â
This presentation was held at the international Joomla! conference JandBeyond 2014 in KĂśnigstein im Taunus, Germany.
Note: This is a shortened version of the entire presentation since I have added only my part.
Application Lifecycle Management for Office 365 developmentChris O'Brien
Â
For teams doing cloud-friendly SharePoint or Office 365 development, apps will be a key area of focus - be they SharePoint add-ins or the newer Office 365/Azure AD apps. ASP.NET (typically MVC) is a common platform here, and fortunately ALM and Continuous Integration become MUCH easier - finally, an end to "itâs harder because it's SharePoint!" We'll demonstrate how Visual Studio Online and Azure Web Apps are a winning combination for âcontinuous deploymentâ, and also how features such as "Deployment Slots" in Azure can help with dev and test environments, and also the upgrade/push-to-live process. Several demos will ensure youâre covered for developing both SharePoint add-ins and Office 365 apps.
The Notes/Domino Application Development Competitive Advantage - IamLUGJohn Head
Â
presented by @johnhead and @davidvia
Some organizations are neglecting or under-utilizing one of the greatest IT assets in their portfolio today - the Notes/Domino application platform. Some are even considering re-coding Domino applications in other languages and development tools. In this session we present the business case and technical merits of Notes and Domino in direct comparison to other tools such as Microsoft SharePoint. Based on data collected from real-world engagements we will demonstrate the positive return on investment of the Notes platform. We will also discuss PSCâs âApplication Modernizationâ strategy and how it helps move customers from merely maintaining Notes applications to increasing their value with XPages and advanced collaboration functionality.
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesbeglee
Â
Bootstrap has recently been integrated into the XPages core framework, allowing the creation of sleek, polished, responsive XPages applications. Using this new feature your apps will look great, with a consistent look and feel from the web browser to the mobile experience on phones & tablets. This session will demonstrate all of the tools now at your disposal, such as the Bootstrap-ized XPages controls, icons, fonts, CSS, new controls, themes and jQuery! We'll show you why this new feature is one that you can't ignore.
IBM ConnectED 2015 BP110: Mastering Your Logs, Everything You Should Know abo...Benedek Menesi
Â
Properly logging and monitoring what happens in your Domino environment is critically important for both security and performance. In order to get the most out of your log data when things go wrong, itâs vital to understand its structure, how and what is (or isnât) logged, and how to search logs effectively. In this in-depth session we will talk about the inner workings of various Domino logging mechanisms by dissecting the structure of log event documents such as Miscellaneous, Replication, Usage Session, User Activity etc. Youâll learn how to deal with verbose logging, retention best practices, monitoring bottlenecks, as well as behind-the-scenes data such as status codes and how to best use them. After this presentation you will walk away with a solid understanding of your log architecture, the means to set up notifications for when things go wrong and faster ways to find what youâre looking for.
IBM ConnectED 2015 - BP106 From XPages Hero To OSGi Guru: Taking The Scary Ou...Paul Withers
Â
BP106 From XPages Hero To OSGi Guru: Taking The Scary Out Of Building Extension Libraries. From IBM ConnectED 2015, delivered jointly with Christian Guedemann
BP201 Creating Your Own Connections Confection - Getting The Flavour RightGabriella Davis
Â
IBM Connections 5 comes in a variety of exciting flavours - fancy a vanilla install, or maybe you want to add some extra sauce like External users or IBM Docs? A sprinkling of File Viewer and a few Surveys or maybe a dollop of Sametime. In this session we'll take a look at how to build the right flavour combination of Connections for your business from deciding what features you want through to architecting a solution. We will have plenty of "How Tos" such as how to add external users to your Connections communities securely and what does their experience look like? How much Sametime is just enough? What's the difference between IBM Docs, File Viewer and EditLive in features and deployment? If you're new to Connections, planning a move to Connections 5 or even considering what Connections features you might want to add, this is your session, low fat and calorie free!
Connections Directory Integration: A Tour Through Best Practices for Directo...Gabriella Davis
Â
Presentation from Connections 2015 with Terri Warren
In this directory, data integration and single sign on session, we'll explore best practices for successful integration of social software with your existing directory data. Learn how to utilize Single Sign On across your environment as well as how to successfully utilize directory information across all of the Connections applications.
From IBM Connected 2015
Connections 5 introduces us to a new model of access - the external user. Originally designed to have limited rights within your Connections environment, the security surrounding external user access is deliberately very restrictive. Â To achieve appropriate access for the external user, we must tell Connections how to identity an external user by flagging either an LDAP attribute or a new LDAP source. Â In this session weâll discuss the options for external user configuration, how to manage registration and passwords as well as how everyone in your Connections world can work together.
IBM Connections enables you to connect and socialize with colleagues, find experts, and quickly share and organize information to get work done. As a developer, you can leverage the IBM Connections data to provide a better experience for your users. In this session, you learn what features you can extend, leverage and use to build a compelling experience. The session highlights how best to extend and work with the IBM Connections Cloud.
Updated file adds pointers to other sessions throughout the week.
My presentation about how to couple Asp.NEt MVC and Angular on how to use this 2 web technologies to achieve a solution. This presentation born from the experience i had in the last 1 year with this couple.
Angular jS Introduction by Google
A to Z angular introduction about Angular Framework which is single page application.
Angular JS and angular is very important for single page applications.
Learn how to build apps using Angular JS with Firebase(backend-as-a-service)!!
Room 6 (2nd Floor Conference Room)
In this presentation, we'll be using Angular JS and Firebase to create a simple web application from scratch and explore the awesome real-time syncing features provided by firebase. Combining Bootstrap, Angular JS with Firebase and Azure, we can build and deploy cross-platform HTML5 apps.
One of the biggest news of SharePoint 2013 is the app model, which allows creating apps for selling them through a public marketplace, the Microsoft Office Store, as well as for publishing them in a corporate App Catalog.
In this session you will learn what an app is, what are the available hosting models, how you can leverage the Client Side Object Model and the REST API to enrich your solutions. Moreover, you will learn how to publish your apps to the Office Store, or on the corporate App Catalog.
The overall goal of the session is to make you aware of the real potentials of this new capability. To attend this session you should have a good understanding of developing with .NET and general knowledge of SharePoint 2013.
Introductory slide set on the new client side framework on SharePoint platform which introduces by Microsoft. This slide-deck has been used by me in the local user group speak-up had in the year 2016. @kushanlahiru
As presented to the Milwaukee Alt.Net group on November 21st, 2011.
UPDATE April 19, 2012: added some domain logic organization slides using Fowler's 4 basic patterns.
Slides of my session at DanNotes on the use of Bootstrap with XPages, including using the Bootstrap4XPages plugin.
View the demos at http://bootstrap4xpages.com
Dev Dives: Train smarter, not harder â active learning and UiPath LLMs for do...UiPathCommunity
Â
đĽ Speed, accuracy, and scaling â discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Miningâ˘:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing â with little to no training required
Get an exclusive demo of the new family of UiPath LLMs â GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
đ¨âđŤ Andras Palfi, Senior Product Manager, UiPath
đŠâđŤ Lenka Dulovicova, Product Program Manager, UiPath
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Â
Are you looking to streamline your workflows and boost your projectsâ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, youâre in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part âEssentials of Automationâ series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Hereâs what youâll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
Weâll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Donât miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Â
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as âpredictable inferenceâ.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
Â
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
Â
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
⢠The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
⢠Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
⢠Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
⢠Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
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
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.
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.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
Â
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Â
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
Â
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
2. BTE 102: The Future of Web
Development Write Once, Run
Everywhere with AngularJS and
Domino
Marky Roden Mark Leusink
Senior Solutions Architect LinQed
PSC Group LLC
3. About Mark
ď§ Freelance consultant/ developer
â XPages, web, mobile, Unplugged
ď§ 15 years experience (that makes me younger than Marky)
ď§ Fan of everything web dev (Angular, Bootstrap, web components)
ď§ Open source (OpenNTF, GitHub)
â XPages Debug Toolbar, Bootstrap4XPages, Bootcards
ď§ Blog: http://linqed.eu
ď§ Twitter: @markleusink
ď§ Email: m.leusink@linqed.eu
4. About Marky
ď§ Over 17 years IBM Notes DominoÂŽ work
ď§ Senior Solutions Architect at PSC Group
⢠XPages Developer
⢠Project Leader
⢠AngularJS Protagonist
ď§ Contact Information
⢠Blog: http://www.xomino.com
⢠Twitter: @markyroden
⢠Skype: marky.roden
www.psclistens.com @pscgroup
5. Š 2013 IBM Corporation
F O U N D E D I N 1 9 9 0
The Largest, Most Experienced
XPages
Service Firm in North America
PSC Group, LLC
Congratulates our
5 IBM Champions!
Brad Balassaitis Andrew Barickman Kathy Brown John Head Mark Roden
6. Agenda
⢠Introduction to MVC/ REST architectures
â True Separation of UI and Business Logic
⢠Introduction to AngularJS
â Why Angular?
â Components and capabilities
â Examples of capabilities
⢠Domino as a REST Service
⢠Demo app
â Application Architecture
â How to run the same app âeverywhereâ
8. About the demo app
The Demo app is built with
â AngularJS
â Bootstrap
â IBM Domino data
â Zero XPages
And to make it better
â A Bootstrap theme from Bootswatch.com (âUnitedâ)
â Font Awesome for icons
â Animate.css for animations
â FastClick.js for a snappier UI
â angular-local-storage for local storage
Sessions data from the Totally Unofficial Totally Unsupported session database
10. Introduction to MVC / REST Architecture
⢠MVC (Model-View-Controller) is an architectural design pattern that encourages
improved application organization through a separation of concerns.
â The Model manages the data
â The View is the HTML representation of the data through the use of Templates
⢠What your users see
â The Controller is the application code which is used to determine the way the Model is
populated and displayed.
⢠Glues the Model and View together
⢠Angular provides the framework to do client-side MVC
11. Introduction to MVC / REST Architecture
⢠Representational state transfer (REST) is an architecture style for designing
networked applications
â Uses simple HTTP calls
â JSON
⢠Performant
⢠Scalable
⢠Simple interface
⢠Portable
12. ServerClient
Introduction to MVC / REST Architecture
⢠Weâve been building web apps like this
Request page
- process request
- get data
- create HTML
Response
⢠HTML
⢠CSS
⢠JavaScript
(display)
13. Client
Introduction to MVC / REST Architecture
⢠But this is getting popular
Webserver
Request page/ app
Response
(static HTML, JS,
CSS)
(process)
REST
API
Data (JSON)
Request data
14. Client
Introduction to MVC / REST Architecture
⢠Or this variation
Webserver
Response
(static HTML, JS,
CSS)
(process)
REST
API
Data (JSON)
Request data
Request page/ app
16. ď§ AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your
template language and lets you extend HTML's syntax to express your application's
components clearly and succinctly. Angular's data binding and dependency injection
eliminate much of the code you currently have to write.
âAngular is what HTML would have been had it been designed for applicationsâ
The AngularJS team
17. What is AngularJS
⢠Web application framework
â Designed as a boilerplate model for an application
â Out of the box capabilities and best practices
â Built with test driven development (TDD) in mind
⢠Runs in the browser, all client side JavaScript
â Unlike e.g. XPages or C# (SharePoint) where most processing is done server side.
⢠Helps to create dynamic sites / Single Page Applications
â Partials? Dynamic? Been there, done that!
18. Why AngularJS ?
⢠Large developer community
â ~75,000 questions tagged on Stackoverflow.com
⢠Backed by
â Developed by Google and the community
â Open source (MIT license)
⢠Stable, mature and performant
â Initial release 2009
â Version 1 released Jun 2012
â Current version 1.3.5 (Dec 2014)
â Version 2 scheduled for end of 2015
19. Why AngularJS?
⢠Ready for the web of tomorrow
⢠Many Concepts adopted by Web Components standard
⢠Data driven
⢠Custom elements (functional custom attributes)
⢠HTML Imports
⢠DOM Templating
21. Angular Route Control
⢠UI-Router, state based management
⢠Configures the app
⢠When a route is encountered
â Use this template
â Use this Page Title
â Use this controller
⢠http://beyondtheeveryday.com/#/sessionsAll
⢠http://beyondtheeveryday.com/#/favorites
23. ⢠Lazily instantiated, only when they are needed
â âAngular services are substitutable objects that are wired together using dependency injection (DI). You
can use services to organize and share code across your appâ
var app = angular.module("sessionsApp.services", []);
app.factory('SessionsFactory', function($http) {
return {
all : function() {
return $http.get(âdb.nsf/collections/name/sessions')
.then(
function(res) {
return res.data;
});
},
...
AngularJS: Factories and Services
24. AngularJS: Directives
⢠Tells Angular that it needs to âdoâ something
⢠Interact with the browser based on the controllerâs instructions
⢠Re-usable components
⢠Much of Angularâs core functionality Directive based
<div class="row" ng-repeat="speaker in session.speakers">
<div class="col-xs-12 col-sm-12">
{{speaker}}
</div>
</div>
25. AngularJS in depth
⢠Dependency injections
A software design pattern that deals with how components get hold of their dependencies.
The Angular injector subsystem is in charge of creating components, resolving their dependencies,
and providing them to other components as requested.
31. AngularJS in depth
⢠How does AngularJS integrate with XPages ?
⢠An application written using AngularJS uses 4 main things
â HTML Pages
â JavaScript files
â CSS
â A Data Service
⢠One or many of those can be âXPagesâ
33. Domino as REST service
⢠Three options to use Domino as a data store for an Angular application:
â Domino Access Services
⢠Built-in, easiest to enable
â REST service component from the Extension Library
⢠More customization options
â Do-it-yourself REST service
⢠Fully customizable, requires more work
34. Domino as REST service - Domino Access Services (DAS)
⢠Consists of 3 services: core, data and
calendar
â For the demo app weâve only used the
data service
⢠Must be enabled on server level, app
level and form/ view level
⢠Gives you the data from all fields
(documents) or columns (views)
35. Domino as REST service - Domino Access Services (DAS)
http://beyondtheeveryday.com/beyond/connect2015.nsf/api/data/collections/name/sessionsAll
Server Database path DAS View name
36. Domino as REST service - ExtLib REST
⢠Drag on an XPage
⢠Link to data source (view, bean, âŚ)
⢠Set path
⢠Done
<xe:restService pathInfo="contactjson">
<xe:this.service>
<xe:viewJsonService viewName="AllContacts" var="entry"
contentType="text/plain" count="10" defaultColumns="true">
</xe:viewJsonService>
</xe:this.service>
</xe:restService>
37. Domino as REST service - custom REST service
public class MyRESTService {
public static String doGet(HttpServletRequest request, HttpServletResponse response)
{
JsonJavaObject json = new JsonJavaObject();
json.put("userName", ExtLibUtil.getCurrentSession().getEffectiveUserName() );
return JsonGenerator.toJson(JsonJavaFactory.instanceEx, json);
}
}
<!--?xml version="1.0" encoding="UTF-8"?-->
<![CDATA[#{javascript:
var externalContext = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
writer.write(
eu.linqed.MyRESTService.doGet(
externalContext.getRequest(),externalContext.getResponse()
));
writer.endDocument();
}
}]]>
38. Domino as REST service
⢠More on this: âREST Services and IBM Domino/XWorkâ by John Dalsgaard
â http://www.slideshare.net/JohnDalsgaard/dannotes-19-20-november-2014
41. Demo app
⢠Demonstration you just saw was hosted onâŚ.
â IBM Domino ÂŽ
â IBM Bluemix ÂŽ
â Microsoft SharePoint ÂŽ
â IBM MobileFirst Platform Foundation ÂŽ (previously: IBM Worklight)
â IBM Connections
⢠Open source
â http://github.com/markleusink/BeyondSessionsApp
43. Conclusion
⢠AngularJS: MVC front end client side framework
⢠Add structure to your code
⢠Enables hybrid mobile web apps
â PhoneGap, Cordova, Worklight
⢠Use Domino as a NoSQL app server
â Out-of-the-Box, Proven, Stable, Rock solid security
44. Conclusion
⢠Modernize Domino Applications smartly
⢠Running Domino apps within other server platforms
⢠Make your application code portable
46. Engage Online
ď§ SocialBiz User Group socialbizug.org
â Join the epicenter of Notes and Collaboration user groups
ď§ Social Business Insights blog ibm.com/blogs/socialbusiness
â Read and engage with our bloggers
ď§ Follow us on Twitter
â @IBMConnect and @IBMSocialBiz
ď§ LinkedIn http://bit.ly/SBComm
â Participate in the IBM Social Business group on LinkedIn
ď§ Facebook https://www.facebook.com/IBMConnected
â Like IBM Social Business on Facebook
47. Notices and Disclaimers
Copyright Š 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include
unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR
IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION,
LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results
they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for
informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customerâs responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory
requirements that may affect the customerâs business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or
products will ensure that the customer is in compliance with any law.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection
with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the
suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBMâs products. IBM EXPRESSLY DISCLAIMS ALL
WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right.
IBM, the IBM logo, ibm.com, BrassRingÂŽ, Connectionsâ˘, DominoÂŽ, Global Business ServicesÂŽ, Global Technology ServicesÂŽ, SmartCloudÂŽ, Social BusinessÂŽ, KenexaÂŽ, NotesÂŽ, PartnerWorldÂŽ, Prove It!ÂŽ,
PureSystemsÂŽ, SametimeÂŽ, Verseâ˘, Watsonâ˘, WebSphereÂŽ, WorklightÂŽ, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service
names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.