This document discusses using the Model-View-ViewModel (MVVM) pattern with KnockoutJS for client-side development in SharePoint 2010. It provides an example of using KnockoutJS to bind a JSON data model to HTML form fields, and demonstrates how MVVM handles separating the user interface from the data layer and business logic. The document recommends KnockoutJS as it simplifies MVVM data binding and eliminates the need for many event handlers, instead using observables to update the viewmodel and view.
Web Components + Backbone: a Game-Changing CombinationAndrew Rota
Web Components promise to change how we think about modularity on the web, and when combined with the structure and organization of Backbone.js we can create portable, dynamic, encapsulated UI modules that fit into any web application.
Web Components + Backbone: a Game-Changing CombinationAndrew Rota
Web Components promise to change how we think about modularity on the web, and when combined with the structure and organization of Backbone.js we can create portable, dynamic, encapsulated UI modules that fit into any web application.
KnockoutJS and MVVM (Comes with a sample application) - It's a beginner's guide that discusses about Knockout in particular and MVVM pattern in general. Knockout is a very cool piece of technology that makes your view code less cluttered. This ppt reaches every (not all :-) detail of Knockout. By following this ppt you'll surely be in position to get started with Knockout on your own projects. This ppt comes with an application which you can access from this url https://github.com/manvendrasinghkadam/koshopping. This application is built on Grails. More details on this application can be found on github repo.
Building web front ends using single page applicationsDavid Voyles
How to build and deploy an ASP.NET applicaton.
This entire series can be found here: http://www.davevoyles.com/slides-and-code-for-my-asp-net-presentation/
Serverless with azure functions the rebel serviceChristos Matskas
Azure Serverless introduction around Functions and LogicApps. It's all about creating microservices and event-driven solutions with the power of the cloud
Learn to port desktop applications to HTML5 from an experienced web developer. We'll help you minimize the cost of learning new paradigms when you're migrating from MVVM, .NET and XAML to web.
You'll leave this 60-minute session understanding how to create nearly-identical XAML and HTML5 applications in a smooth transition!
JsViews - Next Generation jQuery TemplatesBorisMoore
Come and see the future of jQuery Templates, as it moves from Beta1 towards a V1 product. The new jQuery Templates is taking two forms: JsRender – lean and mean, for fast rendering of templates as strings, and JsViews – for powerful interactive browser apps in which Data Link and Templates work hand-in-hand. See how with declarative data linking and templating together, creating powerful data-driven UI is easy, whether using MVVM patterns or binding directly to JSON, and whatever the richness or complexity of the underlying data.
jQuery UI is already building its future data-bound widgets on top of this technology. With JsViews and JsRender integration between jQuery UI controls and your own data and UI becomes trivially straightforward.
Marketing Automation with dotCMS Presentation from BootCamp 2014
DotCMS + Content + REST + Workflows + OSGI + Actionlets = Very flexible marketing automation tool. Will Ezell shares how to use the out of the box features in dotCMS to deliver customized marketing experiences, enable ecommerce and Salesforce integration. This session will give you insight into how dotCMS can be leveraged as one very powerful and ultra-flexible marketing automation machine.
MV* presentation frameworks in Javascript: en garde, pret, allez!Roberto Messora
HTML5 is the playing area, the strip, Javascript presentation frameworks are the fences and they are fierce and proud. In this presentation we will attend an interesting match between two of the emerging contenders in the MV* family: KnockoutJS and BackboneJS. We'll try to understand how they solve the same issues in modern web software development to better decide which one is suitable in our scenario.
KnockoutJS and MVVM (Comes with a sample application) - It's a beginner's guide that discusses about Knockout in particular and MVVM pattern in general. Knockout is a very cool piece of technology that makes your view code less cluttered. This ppt reaches every (not all :-) detail of Knockout. By following this ppt you'll surely be in position to get started with Knockout on your own projects. This ppt comes with an application which you can access from this url https://github.com/manvendrasinghkadam/koshopping. This application is built on Grails. More details on this application can be found on github repo.
Building web front ends using single page applicationsDavid Voyles
How to build and deploy an ASP.NET applicaton.
This entire series can be found here: http://www.davevoyles.com/slides-and-code-for-my-asp-net-presentation/
Serverless with azure functions the rebel serviceChristos Matskas
Azure Serverless introduction around Functions and LogicApps. It's all about creating microservices and event-driven solutions with the power of the cloud
Learn to port desktop applications to HTML5 from an experienced web developer. We'll help you minimize the cost of learning new paradigms when you're migrating from MVVM, .NET and XAML to web.
You'll leave this 60-minute session understanding how to create nearly-identical XAML and HTML5 applications in a smooth transition!
JsViews - Next Generation jQuery TemplatesBorisMoore
Come and see the future of jQuery Templates, as it moves from Beta1 towards a V1 product. The new jQuery Templates is taking two forms: JsRender – lean and mean, for fast rendering of templates as strings, and JsViews – for powerful interactive browser apps in which Data Link and Templates work hand-in-hand. See how with declarative data linking and templating together, creating powerful data-driven UI is easy, whether using MVVM patterns or binding directly to JSON, and whatever the richness or complexity of the underlying data.
jQuery UI is already building its future data-bound widgets on top of this technology. With JsViews and JsRender integration between jQuery UI controls and your own data and UI becomes trivially straightforward.
Marketing Automation with dotCMS Presentation from BootCamp 2014
DotCMS + Content + REST + Workflows + OSGI + Actionlets = Very flexible marketing automation tool. Will Ezell shares how to use the out of the box features in dotCMS to deliver customized marketing experiences, enable ecommerce and Salesforce integration. This session will give you insight into how dotCMS can be leveraged as one very powerful and ultra-flexible marketing automation machine.
MV* presentation frameworks in Javascript: en garde, pret, allez!Roberto Messora
HTML5 is the playing area, the strip, Javascript presentation frameworks are the fences and they are fierce and proud. In this presentation we will attend an interesting match between two of the emerging contenders in the MV* family: KnockoutJS and BackboneJS. We'll try to understand how they solve the same issues in modern web software development to better decide which one is suitable in our scenario.
What Is Angular 2 | Angular 2 Tutorial For Beginners | Angular Training | Edu...Edureka!
This Edureka "What is Angular 2" tutorial will help you understand all the basics of Angular 2. Learn Angular 2 and Typescript to develop highly scalable, fast, and testable web client-side applications. Below are the topics covered in this tutorial:
1) Evolution of Web Development
2) What is AngularJS?
3) Angular 2 Features
4) Components of Angular 2
5) Angular 2 Architecture
6) Angular 2 Program Components
7) Your First Angular 2 program
8) Angular 2 Applications
Subscribe to our channel to get updates. Check our complete Angular playlist here: https://goo.gl/09KsDC
Angular - Chapter 4 - Data and Event HandlingWebStackAcademy
In Angular , events such as button click or any other sort of events can also be handled very easily. The events get triggered from the html page and are sent across to Angular JS class for further processing.
Data binding is a core concept in Angular and allows to define communication between a component and the DOM, making it very easy to define interactive applications without worrying about pushing and pulling data. There are four forms of data binding and they differ in the way the data is flowing.
Migrating MVC to theFront-end usingBackbone JS.
Planbox is a single-page web application for Agile project management. It was built using the traditional MVC stack with CodeIgniter (PHP) and jQuery (Javascript). AJAX was heavily used to update DOM elements to offer a dynamic user experience. UX logic code quickly became spread across Javascript and PHP. The application code base quickly became unmanageable and scaling functionality became difficult. Things had to change.
A decision was made to change architecture: bring all the UX logic in the front-end, and turn the back-end into an engine in charge of business logic.
This talk is about this experience. How we moved the MVC stack from the back-end to the front-end. How we used Backbone JS as the foundation of our front-end framework and built on top. How the backend became a black-box with a Restful API. What lessons we learned, what benefits we gained, and what reflections we made about the future of MVC in Javascript.
Integrate MongoDB & SQL data with a single REST APIEspresso Logic
Webinar slides. Describes how you create a backend application, in the cloud or on premise, that join data from MongoDb and SQL databases with a single RESTful API.
Please join our live launch event for Wijmo 5, our brand new generation of JavaScript Controls! With the launch of Wijmo 5 we’ll introduce a new HTML5/JavaScript product that takes full advantage of all the latest and greatest web technologies without making compromises to support legacy browsers. This webcast will focus on the evolution of JavaScript controls, from jQueryUI-based widgets to Wijmo 5.
World 2013 - Pushing MicroStrategy to the Limit, The Hacker WayBryan Brandow
This presentation was delivered jointly with two colleagues. The original slides have been stripped down and blog links have been added where videos used to be.
Optimizing Code Reusability for SharePoint using Linq to SharePoint & the MVP...Sparkhound Inc.
Whether developing a small customization or a large enterprise solution, one goal is to minimize redundancy in Code. In this presentation, Sparkhound Consultant Ted Wagner shows how the MVP design pattern is used in SharePoint to create business models that can be reused easily between other ASP or C# application.
The Complete Web Developer Course - Build 5 Websites course at GoLogica begins from the rudiments of web advancement like HTML components, styling the HTML components with CSS, utilizing recently presented highlights in HTML5 and CSS3 to conveying the sites on Amazon Simple Storage Service.
Yeoman AngularJS and D3 - A solid stack for web appsclimboid
This was a course given in Bangalore India for JSChannel conf 2013. It encompases the use of angular js and d3 in a harmonious way and gives an overview over each of the frameworks / libraries.
Learning AngularJS - Complete coverage of AngularJS features and conceptsSuresh Patidar
AngularJS learning sessions tailored for 6 days/12 hours. Complete coverage of AngularJS features that will be helpful for both beginner as well as expert. Also covers common development use cases and their answer/solution in AngularJS. A good coverage on tooling required for development and testing.
Similar to MVVM Magic in SharePoint 2010 using Knockoutjs! (20)
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
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.
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.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
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.
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
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.
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
2. About Me
• SharePoint “jack of all trades”
• Booz Allen Hamilton
• 5 years working exclusively with SharePoint
2003/2007/2010
• Things that excite me:
• Well-constructed SharePoint solutions
• HTML5
• Mountain biking
• Craft beer
• @ajaynayak
• ajaynayak {at} gmail {dot} com
3. Client-side Development
• Coding on the client (HTML, JavaScript, CSS) vs.
the server (.NET, Java)
• Modern browsers combined with new standards
(HTML5) and powerful frameworks (jQuery)
• Users have come to expect asynchronous
operations and rich UI interaction
4. What about SharePoint?
• Client-side tools at our disposal
• SP2010 client-side object model
• SPServices library
• REST web services to interact with
• Reasons for developing client-side applications
• Easy to deploy
• Simple as pushing element files into document
libraries
• “Cloud ready”
• The SP2013 “Cloud App Model” encourages JS on
the client and RESTful services in the cloud
5. The Dilemma…
• How do we manage the interaction between
HTML, JavaScript, CSS, and web services?
• jQuery provides us a powerful framework, but
how do we structure our app in a way that
preserves functionality, but reduces “code
bloat”?
6. Model-View-Viewmodel
• Architectural pattern created by Microsoft for WPF
development
• Separates UI from the Data layer and Business Logic
• Model
• Defines the objects
• View
• Defines the user interface
• Viewmodel
• Defines how the user interface (View) is integrated with the data
(Model)
7. Common MVVM Scenario
• The Model is defined server-side and is sent to the client in
the form of a JSON (JavaScript Object Notation) string
• Ex. person: { age: 23, name: ‘john doe’ }
• The View is defined via HTML and ASP.NET code
• <div id=“personRecord”>
• <div id=“age”>Age: <input id=“ageValue” ></input></div>
• <div id=“name”>Name: <input id=“nameValue” </input></div>
• </div>
• In this scenario, the Viewmodel would bind the JSON “person”
object to the input fields contained in the “personRecord” div
element
• The Viewmodel would also handle getting fresh data or sending
updates to the server
8. KnockoutJS
• Open-source JavaScript MVVM library created by Steve
Sanderson
• Simplifies the MVVM data-binding process
• Uses “observables” to dynamically change Viewmodel properties
upon changes to the view
• Eliminates the need for event handlers in the UI
• Handles retrieving and updating data from web services
• Extremely easy to learn
• Knockoutjs.com contains a live tutorial and ample documentation
• Very few commands to learn, yet very powerful and extendable
9. Example
• View
• <p>First name: <input data-bind="value: firstName" /></p>
• <p>Last name: <input data-bind="value: lastName" /></p>
• <h2>Hello, <span data-bind="text: fullName"> </span>!</h2>
• ViewModel
• function ViewModel() {
• this.firstName = ko.observable("Planet");
• this.lastName = ko.observable("Earth");
• this.fullName = ko.computed(function() {
• return this.firstName() + " " + this.lastName();
• }, this);
• }
• ko.applyBindings(new ViewModel());
• Explanation
• The “data-bind” attribute binds an HTML element to a variable in the
Viewmodel
• ko.observable() tells Knockout to “observe” this variable in the View, and
update the variable with any changes
• ko.applyBindings() ties all declared bindings in the Viewmodel to “data-
bind” attributes in the View