SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Coding the Salesforce1
Platform User Interface
June 17, 2014
Keir Bowden
CTO, BrightGen
@bob_buzzard
What
Why
How
Agenda
What
What is Visualforce?
 User interface framework
 Component based
 Rich set of standard components
 HTML
 CSS
 JavaScript
MVC Framework
ViewModel Controller
Platform provided
/ Apex coded
Visualforce
Page
Database /
Custom classes
What
Why
How
Agenda
Why
Use case 1 – Override Standard Pages
Use Case 1 Features
 Standard Controller
– Required to override standard page
– Manages a Salesforce record
• Account in this example
– Declarative – no Apex code
Use case 2 – Standard Page Plus!
Use Case 2 Features
 Standard Controller
– As use case 1
– Managing Account
 Extension Controller
– Coded in Apex
– Extends Standard Controller
– Managing Contacts
– Delegate to Standard Controller
Use Case 3 – Custom Functionality
Use Case 3 Features
 Custom Controller
– No standard controller to extend
– Coded in Apex from scratch
– Method to execute search
– All data managed in properties
Use Case 4 – External Facing Web Page
Use Case 4 Features
 Any type of controller (including none)
 Exclude Salesforce Styling, Elements
 Regular HTML
 External CSS and JavaScript Libraries
 Surfaced through Force.com Site
What
Why
How
Agenda
How
Example Page - Markup
Page tag - container
Standard controller – no code!
Standard component with attributes
Regular HTML
Standard component – no attributes
Closing page tag
Example Page - Output
Components
 Elements on a page
– Standard library – 100+
– Custom components
• Functional Decomposition
• DRY
• Custom controller only
• Attributes influence behaviour
Example Component
Data Binding
 Merge syntax – {! <expression> }
 Display fields from managed record
– <apex:page StandardController=“Account”>
You are viewing <apex:outputField value=“{!Account.Name}”
/>.
Data Binding
 Update fields from managed record
<apex:page StandardController=“Account”>
<apex:form>
<apex:inputField value=“{!Account.Industry}” />
Data Binding
 Access properties from controller
– Public with public getter:
public String myStr {get; set;}
– <apex:page controller=“MyController”>
<apex:form>
Enter text: <apex:inputText value=“{!myStr}” />
Action Binding
 Access Methods from Controller
public PageReference edit() { ... }
<apex:page controller=“MyController”>
<apex:form>
<apex:CommandButton value=“Edit” action=“{!edit}” />
Where Next?
 https://developer.salesforce.com
– Developer Portal
– Documentation, Wiki, Blogs, Forums
 Developer Edition - http://bobbuzz.me.uk/1n2NND2
– All Salesforce features
– Restrictions on users and records
Where Next?
 Workbook - http://bobbuzz.me.uk/1lGluO9
 Developer’s Guide - http://bobbuzz.me.uk/1lrw4d5
 Cookbook – http://bobbuzz.me.uk/16BF214
 Developer Group - http://bit.ly/DUGLondon
Thank You

Weitere ähnliche Inhalte

Was ist angesagt?

Leveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSRLeveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSRSparkhound Inc.
 
SPTechCon 2014 - Boston - Worst practices of SharePoint
SPTechCon 2014 - Boston - Worst practices of SharePointSPTechCon 2014 - Boston - Worst practices of SharePoint
SPTechCon 2014 - Boston - Worst practices of SharePointDan Usher
 
Info path advanced development @ Sri Lanka SharePoint Forum
Info path advanced development @ Sri Lanka SharePoint ForumInfo path advanced development @ Sri Lanka SharePoint Forum
Info path advanced development @ Sri Lanka SharePoint ForumMelick Baranasooriya
 
oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training Nancy Thomas
 
Oracle ATG Commerce - Launch Management Framework
Oracle ATG Commerce - Launch Management FrameworkOracle ATG Commerce - Launch Management Framework
Oracle ATG Commerce - Launch Management FrameworkKeyur Shah
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africamagnificsmile
 
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...European Collaboration Summit
 
Share point developement Introduction for students
Share point developement Introduction for studentsShare point developement Introduction for students
Share point developement Introduction for studentsMelick Baranasooriya
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocketandrejusb
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesDimitri Gielis
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsEric Shupps
 
2014 08-15 - Getting Started with Office 365 - Office 365 Ramp Up
2014 08-15 - Getting Started with Office 365 - Office 365 Ramp Up2014 08-15 - Getting Started with Office 365 - Office 365 Ramp Up
2014 08-15 - Getting Started with Office 365 - Office 365 Ramp UpDan Usher
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSSharePointInstitute
 

Was ist angesagt? (20)

Controls in asp.net
Controls in asp.netControls in asp.net
Controls in asp.net
 
Leveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSRLeveraging SharePoint 2013 Search and CSR
Leveraging SharePoint 2013 Search and CSR
 
Standard control in asp.net
Standard control in asp.netStandard control in asp.net
Standard control in asp.net
 
SPTechCon 2014 - Boston - Worst practices of SharePoint
SPTechCon 2014 - Boston - Worst practices of SharePointSPTechCon 2014 - Boston - Worst practices of SharePoint
SPTechCon 2014 - Boston - Worst practices of SharePoint
 
Info path advanced development @ Sri Lanka SharePoint Forum
Info path advanced development @ Sri Lanka SharePoint ForumInfo path advanced development @ Sri Lanka SharePoint Forum
Info path advanced development @ Sri Lanka SharePoint Forum
 
oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training oracle adf training | oracle adf course | oracle adf certification training
oracle adf training | oracle adf course | oracle adf certification training
 
Oracle ATG Commerce - Launch Management Framework
Oracle ATG Commerce - Launch Management FrameworkOracle ATG Commerce - Launch Management Framework
Oracle ATG Commerce - Launch Management Framework
 
Oracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africaOracle fusion adf_online_training_in_africa
Oracle fusion adf_online_training_in_africa
 
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
ECS 19 Bert Jansen - Taking your SharePoint to the next level – Transforming ...
 
Apps for SharePoint 2013
Apps for SharePoint 2013Apps for SharePoint 2013
Apps for SharePoint 2013
 
Share point developement Introduction for students
Share point developement Introduction for studentsShare point developement Introduction for students
Share point developement Introduction for students
 
Apps for SharePoint
Apps for SharePointApps for SharePoint
Apps for SharePoint
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
 
APEX 5 Demo and Best Practices
APEX 5 Demo and Best PracticesAPEX 5 Demo and Best Practices
APEX 5 Demo and Best Practices
 
Asp dot net final (2)
Asp dot net   final (2)Asp dot net   final (2)
Asp dot net final (2)
 
Vf ppt (1)
Vf ppt (1)Vf ppt (1)
Vf ppt (1)
 
SharePoint 2013 Performance Enhancements
SharePoint 2013 Performance EnhancementsSharePoint 2013 Performance Enhancements
SharePoint 2013 Performance Enhancements
 
Oracle fusion dba online training
Oracle fusion  dba online trainingOracle fusion  dba online training
Oracle fusion dba online training
 
2014 08-15 - Getting Started with Office 365 - Office 365 Ramp Up
2014 08-15 - Getting Started with Office 365 - Office 365 Ramp Up2014 08-15 - Getting Started with Office 365 - Office 365 Ramp Up
2014 08-15 - Getting Started with Office 365 - Office 365 Ramp Up
 
Building SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJSBuilding SharePoint Single Page Applications Using AngularJS
Building SharePoint Single Page Applications Using AngularJS
 

Ähnlich wie Coding the Salesforce1 Platform User Interface

SFDC UI - Introduction to Visualforce
SFDC UI -  Introduction to VisualforceSFDC UI -  Introduction to Visualforce
SFDC UI - Introduction to VisualforceSujit Kumar
 
Best salesforce training Institute in Hyderabad
Best salesforce training Institute in HyderabadBest salesforce training Institute in Hyderabad
Best salesforce training Institute in HyderabadN Benchmark IT Solutions
 
SFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSujit Kumar
 
Modernising the way System Customisers Configure the Model-Driven Apps for Us...
Modernising the way System Customisers Configure the Model-Driven Apps for Us...Modernising the way System Customisers Configure the Model-Driven Apps for Us...
Modernising the way System Customisers Configure the Model-Driven Apps for Us...Linn Zaw Win
 
Overview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company indiaOverview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company indiaJignesh Aakoliya
 
Why Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationWhy Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationJerod Johnson
 
Why Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationWhy Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationNordic APIs
 
Site activity & performance analysis
Site activity & performance analysisSite activity & performance analysis
Site activity & performance analysisEyal Vardi
 
Engage 2013 - Flexible Data Access with APIs
Engage 2013 - Flexible Data Access with APIsEngage 2013 - Flexible Data Access with APIs
Engage 2013 - Flexible Data Access with APIsWebtrends
 
Spring MVC
Spring MVCSpring MVC
Spring MVCyuvalb
 
C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfoliocummings49
 
CTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVCCTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVCBarry Gervin
 
Salesforce Developer Online Training.pdf
Salesforce Developer Online Training.pdfSalesforce Developer Online Training.pdf
Salesforce Developer Online Training.pdfSpiritsoftsTraining
 
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationMark Gu
 

Ähnlich wie Coding the Salesforce1 Platform User Interface (20)

Visualforce
VisualforceVisualforce
Visualforce
 
SFDC UI - Introduction to Visualforce
SFDC UI -  Introduction to VisualforceSFDC UI -  Introduction to Visualforce
SFDC UI - Introduction to Visualforce
 
Best salesforce training Institute in Hyderabad
Best salesforce training Institute in HyderabadBest salesforce training Institute in Hyderabad
Best salesforce training Institute in Hyderabad
 
SFDC UI - Advanced Visualforce
SFDC UI - Advanced VisualforceSFDC UI - Advanced Visualforce
SFDC UI - Advanced Visualforce
 
Modernising the way System Customisers Configure the Model-Driven Apps for Us...
Modernising the way System Customisers Configure the Model-Driven Apps for Us...Modernising the way System Customisers Configure the Model-Driven Apps for Us...
Modernising the way System Customisers Configure the Model-Driven Apps for Us...
 
Overview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company indiaOverview of ASP.Net by software outsourcing company india
Overview of ASP.Net by software outsourcing company india
 
L13 Presentation Layer Design
L13 Presentation Layer DesignL13 Presentation Layer Design
L13 Presentation Layer Design
 
Why Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationWhy Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API Integration
 
Introducing Visualforce
Introducing VisualforceIntroducing Visualforce
Introducing Visualforce
 
Jsf2.0 -4
Jsf2.0 -4Jsf2.0 -4
Jsf2.0 -4
 
Why Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API IntegrationWhy Standards-Based Drivers Offer Better API Integration
Why Standards-Based Drivers Offer Better API Integration
 
Site activity & performance analysis
Site activity & performance analysisSite activity & performance analysis
Site activity & performance analysis
 
Engage 2013 - Flexible Data Access with APIs
Engage 2013 - Flexible Data Access with APIsEngage 2013 - Flexible Data Access with APIs
Engage 2013 - Flexible Data Access with APIs
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
C# .NET Developer Portfolio
C# .NET Developer PortfolioC# .NET Developer Portfolio
C# .NET Developer Portfolio
 
CTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVCCTTDNUG ASP.NET MVC
CTTDNUG ASP.NET MVC
 
Salesforce Developer Online Training.pdf
Salesforce Developer Online Training.pdfSalesforce Developer Online Training.pdf
Salesforce Developer Online Training.pdf
 
L10 Web Programming
L10 Web ProgrammingL10 Web Programming
L10 Web Programming
 
ASP.NET Lecture 2
ASP.NET Lecture 2ASP.NET Lecture 2
ASP.NET Lecture 2
 
Developing Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web ApplicationDeveloping Next-Gen Enterprise Web Application
Developing Next-Gen Enterprise Web Application
 

Mehr von Keir Bowden

LC 2022 - Second Generation Packaging
LC 2022 - Second Generation PackagingLC 2022 - Second Generation Packaging
LC 2022 - Second Generation PackagingKeir Bowden
 
Mutation Testing.pdf
Mutation Testing.pdfMutation Testing.pdf
Mutation Testing.pdfKeir Bowden
 
London Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce ReleaseLondon Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce ReleaseKeir Bowden
 
London Salesforce Developer January 2022
London Salesforce Developer January 2022London Salesforce Developer January 2022
London Salesforce Developer January 2022Keir Bowden
 
Winter 22 for Developers
Winter 22 for DevelopersWinter 22 for Developers
Winter 22 for DevelopersKeir Bowden
 
Londons Calling 2021
Londons Calling 2021Londons Calling 2021
Londons Calling 2021Keir Bowden
 
London Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global GatheringLondon Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global GatheringKeir Bowden
 
Helsinki developer group march 2020
Helsinki developer group march 2020Helsinki developer group march 2020
Helsinki developer group march 2020Keir Bowden
 
London's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-InLondon's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-InKeir Bowden
 
Lightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JSLightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JSKeir Bowden
 
Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet Keir Bowden
 
Salesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 FeaturesSalesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 FeaturesKeir Bowden
 
UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019Keir Bowden
 
Salesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 featuresSalesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 featuresKeir Bowden
 
Quickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLIQuickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLIKeir Bowden
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018Keir Bowden
 
Getting started with public speaking
Getting started with public speakingGetting started with public speaking
Getting started with public speakingKeir Bowden
 
London's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No ProblemLondon's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No ProblemKeir Bowden
 
No Connection? No Problem!
No Connection? No Problem!No Connection? No Problem!
No Connection? No Problem!Keir Bowden
 

Mehr von Keir Bowden (20)

LC 2022 - Second Generation Packaging
LC 2022 - Second Generation PackagingLC 2022 - Second Generation Packaging
LC 2022 - Second Generation Packaging
 
Mutation Testing.pdf
Mutation Testing.pdfMutation Testing.pdf
Mutation Testing.pdf
 
London Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce ReleaseLondon Non-Profit Spring 22 Salesforce Release
London Non-Profit Spring 22 Salesforce Release
 
London Salesforce Developer January 2022
London Salesforce Developer January 2022London Salesforce Developer January 2022
London Salesforce Developer January 2022
 
Winter 22 for Developers
Winter 22 for DevelopersWinter 22 for Developers
Winter 22 for Developers
 
Londons Calling 2021
Londons Calling 2021Londons Calling 2021
Londons Calling 2021
 
London Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global GatheringLondon Salesforce Developers TDX 20 Global Gathering
London Salesforce Developers TDX 20 Global Gathering
 
Helsinki developer group march 2020
Helsinki developer group march 2020Helsinki developer group march 2020
Helsinki developer group march 2020
 
London's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-InLondon's calling 2020 Documentor Plug-In
London's calling 2020 Documentor Plug-In
 
Lightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JSLightning User Interface Testing with Selenium and Node JS
Lightning User Interface Testing with Selenium and Node JS
 
Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet Salesforce CLI Cheat Sheet
Salesforce CLI Cheat Sheet
 
Salesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 FeaturesSalesforce Spring 19 release top 10 Features
Salesforce Spring 19 release top 10 Features
 
UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019UI Testing with Selenium and Node - London's Calling 2019
UI Testing with Selenium and Node - London's Calling 2019
 
Salesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 featuresSalesforce Winter 19 release top 10 features
Salesforce Winter 19 release top 10 features
 
Quickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLIQuickstart Templates with the Salesforce CLI
Quickstart Templates with the Salesforce CLI
 
TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018TrailheaDX Global Gathering London 2018
TrailheaDX Global Gathering London 2018
 
Getting started with public speaking
Getting started with public speakingGetting started with public speaking
Getting started with public speaking
 
Salesforce CLI
Salesforce CLISalesforce CLI
Salesforce CLI
 
London's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No ProblemLondon's Calling 2018 - No Connection, No Problem
London's Calling 2018 - No Connection, No Problem
 
No Connection? No Problem!
No Connection? No Problem!No Connection? No Problem!
No Connection? No Problem!
 

Kürzlich hochgeladen

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Kürzlich hochgeladen (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

Coding the Salesforce1 Platform User Interface

  • 1. Coding the Salesforce1 Platform User Interface June 17, 2014
  • 4. What is Visualforce?  User interface framework  Component based  Rich set of standard components  HTML  CSS  JavaScript
  • 5. MVC Framework ViewModel Controller Platform provided / Apex coded Visualforce Page Database / Custom classes
  • 7. Use case 1 – Override Standard Pages
  • 8. Use Case 1 Features  Standard Controller – Required to override standard page – Manages a Salesforce record • Account in this example – Declarative – no Apex code
  • 9. Use case 2 – Standard Page Plus!
  • 10. Use Case 2 Features  Standard Controller – As use case 1 – Managing Account  Extension Controller – Coded in Apex – Extends Standard Controller – Managing Contacts – Delegate to Standard Controller
  • 11. Use Case 3 – Custom Functionality
  • 12. Use Case 3 Features  Custom Controller – No standard controller to extend – Coded in Apex from scratch – Method to execute search – All data managed in properties
  • 13. Use Case 4 – External Facing Web Page
  • 14. Use Case 4 Features  Any type of controller (including none)  Exclude Salesforce Styling, Elements  Regular HTML  External CSS and JavaScript Libraries  Surfaced through Force.com Site
  • 16. Example Page - Markup Page tag - container Standard controller – no code! Standard component with attributes Regular HTML Standard component – no attributes Closing page tag
  • 17. Example Page - Output
  • 18. Components  Elements on a page – Standard library – 100+ – Custom components • Functional Decomposition • DRY • Custom controller only • Attributes influence behaviour
  • 20. Data Binding  Merge syntax – {! <expression> }  Display fields from managed record – <apex:page StandardController=“Account”> You are viewing <apex:outputField value=“{!Account.Name}” />.
  • 21. Data Binding  Update fields from managed record <apex:page StandardController=“Account”> <apex:form> <apex:inputField value=“{!Account.Industry}” />
  • 22. Data Binding  Access properties from controller – Public with public getter: public String myStr {get; set;} – <apex:page controller=“MyController”> <apex:form> Enter text: <apex:inputText value=“{!myStr}” />
  • 23. Action Binding  Access Methods from Controller public PageReference edit() { ... } <apex:page controller=“MyController”> <apex:form> <apex:CommandButton value=“Edit” action=“{!edit}” />
  • 24. Where Next?  https://developer.salesforce.com – Developer Portal – Documentation, Wiki, Blogs, Forums  Developer Edition - http://bobbuzz.me.uk/1n2NND2 – All Salesforce features – Restrictions on users and records
  • 25. Where Next?  Workbook - http://bobbuzz.me.uk/1lGluO9  Developer’s Guide - http://bobbuzz.me.uk/1lrw4d5  Cookbook – http://bobbuzz.me.uk/16BF214  Developer Group - http://bit.ly/DUGLondon

Hinweis der Redaktion

  1. Must be wrapped in form, as will generate an HTML input element. Note that the appropriate input for the field type is generated – in this case the field is a picklist, so a select input is generated to allow the user to choose one of the defined picklist values.