SUGUK Cambridge - Display Templates & JSLink for IT ProsPaul Hunt
This is another evolution of my Display Templates session. A few of the slides have been updated. The key differences between each session however is the demos.
These slides do contain the links called out during the session however.
These are the slides from my #SPSBE session #SPSBE23 on Display Templates and JSLink for IT Pros. This is a slightly amended version of the session that I've uploaded for SPSUK and SPSSTHLM as a result of feedback from those earlier sessions.
As a result of conversations from this session and a twitter jam during the journey home, I'll announcing some great news about a community effort to make Display Template samples from many great speakers around the world available in one location.
Watch twitter using hashtag #SPCSR for more info as we announce it.
#SPSLondon - Session 2 JSLink for IT ProsPaul Hunt
These are the slides from my second session at SPSLondon, there's a little cross over between the two sessions if you went to both!
This one covers an introduction to Display Templates for IT Pros, show the what, why and how of Display Templates in List View Web Parts with an IT Pro focus.
Novell Teaming offers excellent functionality out of the box. It also offers limitless possibilities for customization based on your organization's needs. Attend this session to learn how easily you can create custom branding elements for your Novell Teaming environment—and how you can create extensions from Novell Teaming to other applications. You'll receive step-by-step instructions on the process from Novell Teaming engineers and experts.
SUGUK Cambridge - Display Templates & JSLink for IT ProsPaul Hunt
This is another evolution of my Display Templates session. A few of the slides have been updated. The key differences between each session however is the demos.
These slides do contain the links called out during the session however.
These are the slides from my #SPSBE session #SPSBE23 on Display Templates and JSLink for IT Pros. This is a slightly amended version of the session that I've uploaded for SPSUK and SPSSTHLM as a result of feedback from those earlier sessions.
As a result of conversations from this session and a twitter jam during the journey home, I'll announcing some great news about a community effort to make Display Template samples from many great speakers around the world available in one location.
Watch twitter using hashtag #SPCSR for more info as we announce it.
#SPSLondon - Session 2 JSLink for IT ProsPaul Hunt
These are the slides from my second session at SPSLondon, there's a little cross over between the two sessions if you went to both!
This one covers an introduction to Display Templates for IT Pros, show the what, why and how of Display Templates in List View Web Parts with an IT Pro focus.
Novell Teaming offers excellent functionality out of the box. It also offers limitless possibilities for customization based on your organization's needs. Attend this session to learn how easily you can create custom branding elements for your Novell Teaming environment—and how you can create extensions from Novell Teaming to other applications. You'll receive step-by-step instructions on the process from Novell Teaming engineers and experts.
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...Anindita Bhattacharya
An SUG Bangalore Session on Overview of Sitecore Experience Accelerator by Pratik Satikunvar, at the Meetup organized on 24th March 2018 @ Sapient, Bangalore.
This session introduces the Spring Web Scripts and the Spring Surf framework describing how they are used to underpin the Alfresco Share user interface. As well as covering the basic concepts, this session will cover the history and future roadmap for the frameworks.
Mit Oracle Application Express entwickelt man im Browser Applikationen, die im Browser laufen. Damit ist der Browser eines der wichtigsten Werkzeuge eines APEX Entwicklers. Beim Entwickeln mit SQL oder PL/SQL nutzen wir die reiche Funktionalitäten von IDEs (SQL Developer, TOAD, PLSQL Developer, ...) um produktive zu arbeiten. Das bauen von Webapplikationen beschränkt sich aber nicht die Datenbank. Man wird auch mit Techniken wie HTML, CSS und JavaScript konfrontiert.
Obwohl APEX die Komplexität, die diese Techniken mit sich mitbringen, zu einem großen Teil mit dem deklarativen Aufbau des Frameworks verbergen kann, desto mehr man mit APEX entwickelt, desto mehr wird man gezwungen sich mit der darunterliegenden Technik zu befassen. Das ist der Moment, dass man als Entwickler den Browser nicht allein als Applikations-Fenster, sondern auch als modernes Entwickeltool einsetzt.
Debugging, Testen, Performance Tuning, dies sind nur rein paar Möglichkeiten die durch den Browser unterstützt werden. In meiner Präsentation werde ich die wichtigsten Funktionen und Features moderner Browser, die für uns APEX Entwickler das Leben einfacher machen, erläutern und demonstrieren.
WordCamp NEO 2016 presentation "Custom Responsive Theme Workshop" by David Brattoli
While we could use many different frameworks, premium and free themes to build our sites, I have found you need a truly custom framework to build a base to build new themes quickly to meet your project needs. This method to create a framework and then to create a child theme for the look of the site, will allow you build future sites quickly and efficiently. The session will cover why we choose this method and framework, the challenges we faced, how we tackled the challenge, and what we ended up building to solve the problem. I'll also reveal the pitfalls we discovered and how we overcame those as well.
Coding samples can be found here:
http://bit.ly/wceno-crtw-samples
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slidesJer Clarke
These are the slides from my talk at WordCamp Montreal 2013.
Talk description:
==Keep your code organized! Templates, functions.php and custom plugins==
If you've written PHP for a theme you should know by now that you need to keep anything complicated outside the templates. Functions.php can be a good place for this but there are many pitfalls and considerations you should keep in mind before (over)using it. This talk will examine your choices for organizing the code that makes up a WP site, ensuring you have plugin code in plugins and theme code in themes (it's not hard!).
Very basic introduction to HTML5, explaining what it is and how it can be used today.
Presented at the Adobe User Group Belgium Web SIG Event, 27th May 2010. http://mths.be/abh
SXA is just not a toolbox. SXA is a complete package of design, structure, data and all these with Helix principles. It covers what all comes in boundary of SXA. How development can be accelerated in real world.
SPSSTHLM - Using JSLink and Display Templates for ITProsPaul Hunt
These are the slides from my session at SharePoint Saturday Stockholm, where I look at JavaScript Display Templates and how ITPros doing first and second tier development can use the JSLink functionality to implement them.
This session focussed on List View Web Parts and looked at the way we previously visualised data in old version of SharePoint and how we would approach that now in SharePoint 2013.
Please note: The upload of the pptx is failing for some reason, so I've added the slides as a PDF which doesn't include the notes on some of the slides. if you do have any questions, please reach out to me on twitter (@cimares) with any questions.
My session slides from SharePoint Saturday UK IT Pro track. See my blog for more details and the demonstration videos. http://www.myfatblog.co.uk/index.php/2013/11/sharepoint-saturday-uk-wrap-up/
SUG Bangalore - Overview of Sitecore Experience Accelerator with Pratik Satik...Anindita Bhattacharya
An SUG Bangalore Session on Overview of Sitecore Experience Accelerator by Pratik Satikunvar, at the Meetup organized on 24th March 2018 @ Sapient, Bangalore.
This session introduces the Spring Web Scripts and the Spring Surf framework describing how they are used to underpin the Alfresco Share user interface. As well as covering the basic concepts, this session will cover the history and future roadmap for the frameworks.
Mit Oracle Application Express entwickelt man im Browser Applikationen, die im Browser laufen. Damit ist der Browser eines der wichtigsten Werkzeuge eines APEX Entwicklers. Beim Entwickeln mit SQL oder PL/SQL nutzen wir die reiche Funktionalitäten von IDEs (SQL Developer, TOAD, PLSQL Developer, ...) um produktive zu arbeiten. Das bauen von Webapplikationen beschränkt sich aber nicht die Datenbank. Man wird auch mit Techniken wie HTML, CSS und JavaScript konfrontiert.
Obwohl APEX die Komplexität, die diese Techniken mit sich mitbringen, zu einem großen Teil mit dem deklarativen Aufbau des Frameworks verbergen kann, desto mehr man mit APEX entwickelt, desto mehr wird man gezwungen sich mit der darunterliegenden Technik zu befassen. Das ist der Moment, dass man als Entwickler den Browser nicht allein als Applikations-Fenster, sondern auch als modernes Entwickeltool einsetzt.
Debugging, Testen, Performance Tuning, dies sind nur rein paar Möglichkeiten die durch den Browser unterstützt werden. In meiner Präsentation werde ich die wichtigsten Funktionen und Features moderner Browser, die für uns APEX Entwickler das Leben einfacher machen, erläutern und demonstrieren.
WordCamp NEO 2016 presentation "Custom Responsive Theme Workshop" by David Brattoli
While we could use many different frameworks, premium and free themes to build our sites, I have found you need a truly custom framework to build a base to build new themes quickly to meet your project needs. This method to create a framework and then to create a child theme for the look of the site, will allow you build future sites quickly and efficiently. The session will cover why we choose this method and framework, the challenges we faced, how we tackled the challenge, and what we ended up building to solve the problem. I'll also reveal the pitfalls we discovered and how we overcame those as well.
Coding samples can be found here:
http://bit.ly/wceno-crtw-samples
Keep Your Code Organized! WordCamp Montreal 2013 Presentation slidesJer Clarke
These are the slides from my talk at WordCamp Montreal 2013.
Talk description:
==Keep your code organized! Templates, functions.php and custom plugins==
If you've written PHP for a theme you should know by now that you need to keep anything complicated outside the templates. Functions.php can be a good place for this but there are many pitfalls and considerations you should keep in mind before (over)using it. This talk will examine your choices for organizing the code that makes up a WP site, ensuring you have plugin code in plugins and theme code in themes (it's not hard!).
Very basic introduction to HTML5, explaining what it is and how it can be used today.
Presented at the Adobe User Group Belgium Web SIG Event, 27th May 2010. http://mths.be/abh
SXA is just not a toolbox. SXA is a complete package of design, structure, data and all these with Helix principles. It covers what all comes in boundary of SXA. How development can be accelerated in real world.
SPSSTHLM - Using JSLink and Display Templates for ITProsPaul Hunt
These are the slides from my session at SharePoint Saturday Stockholm, where I look at JavaScript Display Templates and how ITPros doing first and second tier development can use the JSLink functionality to implement them.
This session focussed on List View Web Parts and looked at the way we previously visualised data in old version of SharePoint and how we would approach that now in SharePoint 2013.
Please note: The upload of the pptx is failing for some reason, so I've added the slides as a PDF which doesn't include the notes on some of the slides. if you do have any questions, please reach out to me on twitter (@cimares) with any questions.
My session slides from SharePoint Saturday UK IT Pro track. See my blog for more details and the demonstration videos. http://www.myfatblog.co.uk/index.php/2013/11/sharepoint-saturday-uk-wrap-up/
Highs, lows & random rants on SharePoint 2013 - Experiences from implementing a governance and quality management in SharePoint 2013. Presented at Norwegian SharePoint Community June 17th, 2013.
#SPSLondon - Session 1 - Building an faq for end usersPaul Hunt
These are the slides to accompany my first session on building an FAQ in SharePoint. It follows the evolution of the idea from a basic single site/list implementation through to an enterprise focussed application.
Add-On Development: EE Expects that Every Developer will do his Dutyreedmaniac
Add-Ons are what make ExpressionEngine the flexible powerhouse that it is today. Being able to write your own simple plugins or incredibly expansive modules allows you to mold ExpressionEngine to nearly any task that your website might require. However, with that power comes a great responsibility to insure that your code is not slowing down the entire site or unduly stressing the server through bad code architecture.
There are simple tools already built into ExpressionEngine and PHP that you can use to see precisely what your Add-On is doing during page processing and where it might be doing more work than is absolutely necessary. Every developer should use these to optimize their work from the very beginning of development, prior to release. This workshop will explain these tools and how you can use them effectively. It will also delve deeper into optimization techniques and tricks that will keep your code light and clean, while finding a balance between functionality and performance.
Add-On Development: EE Expects that Every Developer will do his DutyLeslie Doherty
A presentation on Add-On Development: EE Expects that Every Developer will do his Duty as given at the EECI2009 conference in Leiden by Paul Burdick, lead developer at Solspace.
My sldies from a talk including an intro to features, exportables, issues with features, state of features and how to implmenet the exportable and feature API
Creating an FAQ for end users, An evolution of an idea - SharePoint Saturday ...Paul Hunt
These are the slides of my second session at SharePoint Saturday Jersey in which I look at evolving the creation of an FAQ from the basic list, through to a fully search integrated enterprise offering.
Pearls and Must-Have Tools for the Modern Web / .NET DeveloperOfer Zelig
We are all flooded with information: blogs, videos, millions of open source projects. In this presentation I share my insights: what are the must-know and must-have tools, frameworks and techniques you can use today (or at least know about) in order to be up-to-date.
SharePoint 2013 Sandbox Solutions for On Premise or Office 365Ed Musters
SharePoint 2013 Declarative (no code) Sandbox Solutions presentation delivered Nov 5 at the Houston SharePoint TechFest. Were Sandbox solutions not “deprecated”? In this session you will learn that for the developer, Declarative (No Code) Sandbox solutions are still an extremely valid and completely supported way for you to create solutions that are either targeted for On Premise or Office 365. We will look at the types of features and solutions you can create with Visual Studio 2013 and the practical scenarios they enable. Examples include deployment of site columns, content types, list definitions, ribbon buttons, design assets, site pages with JavaScript, web templates, and more!
Envision IT - Application Lifecycle Management for SharePoint in the EnterpriseEnvision IT
SharePoint has become mission critical, complex, and wide-ranging in most enterprises. How do we apply the best practices of ALM in this environment?
Learn more from this presentation, delivered by Envision IT, Leaders in SharePoint Solutions
Learntek is global online training provider on Big Data Analytics, Hadoop, Machine Learning, Deep Learning, IOT, AI, Cloud Technology, DEVOPS, Digital Marketing and other IT and Management courses.
Exploring conditional access to content stored in Office 365 - SPS HelsinkiPaul Hunt
The slides from my session on Conditional Access, presented at SPS Helsinki. This deck includes slides around entitlement packages and terms of use that old decks don't have.
Exploring conditional access to content stored in Office 365Paul Hunt
Aug 2019 - The latest slides for my Conditional Access in Office 365 session, covering ADFS, O365 E1/E3/E5, EM+S E3/E5 and the various capabilties of each.
Spunite exploring identity management options in office 365Paul Hunt
These are the slides from my Exploring Officer 365 Identity Management session at SPUnite 2017. A most excellent event that I heartily recommend people attend when it returns!
Iw411 migrating content by search from 2010 into 2013 - minifiedPaul Hunt
IW411 This is my slide deck from the SharePoint Evolutions 2013 Conference where I looked at content by search in 2010, then migrating and building from scratch in 2013.
"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.
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/
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
JSLink for ITPros - SharePoint Saturday Jersey
1. Using JSLink and Display
Templates with the List
View Web Part for ITPros
#SPSJE
Paul Hunt
Solutions Architect
Trinity
@Cimares
www.myfatblog.c
o.uk
2. Who Am I?
• SharePoint Architect for Trinity
Expert Systems
• Co-organiser of SUGUK London
Region
• Member of the SharePoint
community since 2007
• In my spare time I’m a
woodturner, making Pots, Pens
and artistic pieces!
• Paul Hunt
• Twitter: @Cimares
• www.myfatblog.co.uk
• www.trinityservice.co.
uk
3. What is this session all about?
• The List View Web Part
4. Who’s this session for?
• Primarily First/Second tier developers
• ITPros who customised 2010 list views in SPD
• ITPros that used to write their own XSLT in SP2010
• Developers that want to know what's available before opening
VS2012
• On Premises or Office 365 Deployments
• Might not be ideal for someone who isn’t comfortable with JavaScript,
HTML and CSS.
– Though if you used to play in SPD 2010 you’re halfway there!
– If you want to know what's achievable without deployed solutions
5.
6.
7. What did we used to do?
• We used SPD and the Design View
• We did conditional formatting
• Played with colours
• Injected Hyperlinks
8. What did we used to do?
• But
• No design view anymore!
9. What did we used to do?
• We used XSLT Overrides (Still exist, but deprecated!)
10. What did we used to do?
• We used XSLT Overrides (Still exist, but deprecated!)
• Which took boring list data views
11. What did we used to do?
• We used XSLT Overrides (Still exist, but deprecated!)
• And transformed them into engaging visual representations
12. What did we used to do?
• We used custom code solutions (We still can!)
• Custom CAML Rendering Templates
• Custom List Views
• Custom Web Parts
• All bring additional headaches
14. So why the focus on Client Side
Rendering?
• It’s client side, moving the impact of customisations off of the
web server and onto the often powerful and under utilised
client machine
SETI@Home
Folding@Home
15. So why the focus on Client Side
Rendering?
• It’s client side, moving the impact of customisations off of the
web server and onto the often powerful and under utilised
client machine
• Some client machines may struggle with heavy Javascript loads!
16. Specifically why JavaScript, HTML and
CSS?
• It’s easier to develop..
• Much simpler than XSLT
• Certainly easier to troubleshoot than XSLT
• Likely to have the skills in house
• Cross-platform (ish!)
• Some frameworks such as jQuery help with this
17.
18. Exactly what is a JavaScript Display
Template?
• A small piece of JavaScript code that is called by the
browser AFTER the page has been delivered.
• They are prolific in SharePoint 2013
• Some examples
• Search Results
• Field Rendering
• Search Refiners
• List Forms
• List views
• eDiscovery
19. Display Template Content Types
• There are 5 Content Types that represent
display templates.
• JavaScript Display Template
• Control Display Template
• Group Display Template
• Item Display Template
• Filter Display Template
These 4 relate to Search.
20.
21. LVWP Templates != Search Display
Templates
• LVWP Display Templates are JavaScript only.
• They do not start life as HTML like Display Templates
for search do.
• They do not require embedded properties.
• CONTEXT (ctx) is king!
21
22. We’re just looking at:-
• List View Display Templates
• These provide the ability to override the rendering of an entire view
• Field Rendering Display Templates
• These provide the ability to override the rendering of a single field in
a list view
24. Page lifecycle – The Foundations
• SharePoint outputs JSLink in the Header of the page
• This registers our Display Template
25. Page lifecycle – The Foundations
• SharePoint LVWP outputs the list data into the page
• JSON Object Format
26. Page lifecycle – The Foundations
• And finally after setting things up
• Calls the RenderListView() function for the web part.
• Which in turn:
– Calls the GetTemplates()
27. Page lifecycle – The Result
• Which compares the Context object to the list of registered
overrides
• And if everything is in place, our
override wins the battle!
30. ###CALLOUT – Internal Name Pain
• Internal names get encoded once, then URL encoded when displayed
in the browser adding to the confusion!
• The internal name of: The_x0020_number_x0020_of_x0020_
• Is actually displayed in the browser as :-
The%5Fx0020%5Fnumber%5Fx0020%5Fof%5Fx0020%5F
• Special characters such as & add to the fun!
31. ###CALLOUT – Internal Name Pain
• Multiple long field names lose meaning
• The_x0020_number_x0020_of_x0020_ • The_x0020_number_x0020_of_x0020_0
32. ###CALLOUT – Internal Name Pain
• Creating your fields carefully will save you this pain!
Create Renam
e
33. ###CALLOUT – Internal Name Pain
• SharePoint 2013 introduces some new pain with the quick
edit list functionality.
35. ###CALLOUT – Internal Name Pain
• I’m not a Dev, why do I care?
• Your Developers (if you have them) will love you!
36.
37. Anatomy of a List View Display Template
• Start with an empty .JS (Or copy example templates)
• Define a Function to register the Display Template
• Define the Function called by the Display Template for each
item.
• Call the register function (This is processed when the DT is
loaded)
38. Anatomy of a List View Display Template
• Define a Function to register the Display Template
For a list of template types see - http://bit.ly/169AbS9
39. Anatomy of a List View Display Template
• Define the Function called by the Display Template
• Note the use of ctx.CurrentItem.Title
– Any field in the view can be obtained this way
– You must use the internal name
• Obtained from the edit column screen
– Beware the double encoding issue!
• Or using the browser debugger
40. Anatomy of a List View Display Template
• Call the function we defined when the page loads.
41. Anatomy of a Field Rendering Display
Template
• All that really changes is the override set-up
• This time there are no headers/footers
• We only specify the Base View ID/Field Name
42. Anatomy of a Field Rendering Display
Template
• The render function is similar to the list view item function
43. How do we use them with List Views?
• First we need to upload/create them in the MasterPage
gallery
44. How do we use them with List Views?
• Set some metadata
45. How do we use them with List Views?
• Add a link into the JSLink on the web part
• Note the ~token in use
– ~sitecollection
– ~site
– ~layouts
– ~sitecollectionlayouts
– ~sitelayouts
• You can have multiple JSLinks
– Join them with |
46.
47. How do we troubleshoot?
• IE Developers Toolbar (Other debuggers exist!)
48. How do we troubleshoot?
• Fiddler – HTTP Proxy
49. How do we troubleshoot?
• Fiddler – HTTP Proxy
51. There has to be a catch?
• Minimal Download Strategy
• Multiple list views on a page
• Changing SharePoint functionality
52. There has to be a catch?
• Minimal Download Strategy
• Our display templates work on page load
• But fail during a refresh.
• This is because our JavaScript doesn’t get called a second time
• Two workarounds!
• Turn off the Minimal Download Feature in each Web
• Include the relevant JavaScript in your Display Template code
53. There has to be a catch?
• Multiple list views on a page
• Because of the way Display Templates are registered, it’s not
possible to have two on the page if the list templates are the same.
(E.g. Custom TemplateType = 100)
• There is a workaround though published on my blog
• http://bit.ly/JSLinkIssues
54. There has to be a catch?
• Changing/Breaking SharePoint functionality
• For example, overriding the Tasks view breaks SharePoint rendering.
• This is fixed in the earlier Field demo with a couple of lines of
JavaScript.
58. Call to Action!
• Take a look at these sites for more detailed info
• Wes Preston – JS Link a primer - http://bit.ly/102fcNa
• Martin Hatch – JSLink 7 part series - http://bit.ly/Hh5zFk
• My blog
• Solving the multiple list view issue - http://bit.ly/JSLinkIssues
• Editing local JS files using fiddler - http://bit.ly/EditUsingFiddler
58
59. Don’t forget SharePint!
• SHARE·PINT: [SHAIR-PAHYNT]
Noun
1. An assembly or meeting in relation to Microsoft SharePoint,
accompanied with an alcoholic beverage.
60. Thank You!
Raffle Prizes at 16:00
1st #SharePint in the Hotel Bar
sponsored by Cloudshare 16:30
Editor's Notes
I also do woodturning! SharePoint can be a lot like woodturning.. If you don’t pay attention to what you’re doing, it’s easy to make a mistake and go through the bottom of the bowl!
This session is all about dropping a list view web part on the page and doing something visually with it using the tools that Microsoft provide and no serious custom development. A lot of what you see about display templates on the web is all about the Search Web Parts.. We’re not looking at those today!
We’re targeting First/Second Tier developers..
That’s the UI and Client side to you and me..
You’ll need to know Javascript, HTML and CSS..
But not a lot, start small and work up!
Primarily we worked server side
Though Marc Anderson and others championed what could be done client side with jQuery and similar
The design view has now gone.
Lots of discussion as to why.
Can’t now use (in visual design mode):-
the conditional format builder
The xPath expression builder
Web part connections
Web Part filters
We did use XSLT over rides
Difficult to troubleshoot
A single wrong character could break the rendering!
Very difficult to troubleshoot without access to the ULS logs (Or even with the logs!)
This example is a project status dashboard, fed from a project list.
But these bring their own headaches.
Deployment,
Support
Upgrades
In my opinion it’s about the cloud.
MS wants to offer a platform that’s scalable.
Moving the customisations as far away from that platform makes sense..
A large majority of Business and Home PC’s spend a massive amount of their time doing nothing.
Several large Grid computing projects rely on this
Notably Folding@Home looking at causes of Cancer and other Degenerative diseases.
And Seti@Home searching Radio Telescope signals for signs of ET!
Warning though, Some small format PC’s may struggle.
I’ve had personal issues with ARM processor based systems
Cross-platform: Some browsers have different ways of handling some javascript.
The use of jQuery helps alleviate this
You can find them in the MasterPage catalog /Display Templates subfolder
Note: I added this page after the Stockholm event in response to a question that was posed to me after the event.
List View Display Templates are JavaScript from start to finish.
There is no requirement to embed the properties in the same way (But the field you want MUST be in the list view!).
Everything you need should be available through the CTX context object passed in when called.
Before we jump into how a display template is created, a note on Field Naming!
Create your fields with a sensible name first and edit afterwards.
This creates a short internal name for use in scripts.
Before we jump into how a display template is created, a note on Field Naming!
Create your fields with a sensible name first and edit afterwards.
This creates a short internal name for use in scripts.
Note how the Space in names is encoded for the URL..
The actual internal name is The_x0020_number_x0020_of_x0020_
Creating with a nice short name, and then renaming, retains the sensible internal name whilst keeping the users happy.
SharePoint Quick edit, shown here creates all columns with a random 4 character name.. And even that isn’t safe from being encoded as I’ve found out to my cost!
Note how the Space in names is encoded for the URL..
The actual internal name is The_x0020_number_x0020_of_x0020_
Note how the Space in names is encoded for the URL..
The actual internal name is The_x0020_number_x0020_of_x0020_
We’ll go through each step in the next few slides.
BaseViewID & ListTemplateType both used to match the template required
Loaded when the page is first processed.
This function is called for EACH item the list will render. E.g. If you have a list view with 20 items, this function will run 20 times and each time ctx.CurrentItem will the next item in the list.
Note: Fields called in the view MUST be selected when the view is created.
Note: Field internal names that include encoded characters will be URL encoded too… A space becomes %5Fx0020%5F which is actually an internal name of _x0020_ (See next couple of slides!)
We call our register function at the in the main script file. This ensures our functions are called.
We only base this on BaseViewID, ListTemplateType has no impact
The field name is specified in the Templates collection
Note: We’re only affecting the View mode here.. But you can do Edit too.
.
You can do this directly through the UI,
Or in SPD 2013, but they don’t have to be! File system, Asset library… anything works..
This is good practice.. But not essential..they will work anyway!
This just ensures they show up in the right place in Designer mostly!
You can define List Views with JSLinks, or add them through PowerShell
Tokens courtesy of Martin Hatch’s blog
~site – reference to the current SharePoint site (or “Web”)
~sitecollection – reference to the current SharePoint site collection (or “Site”)
~layouts – version specific reference to the web application Layouts folder (so it will automatically swap out /_layouts/14 or /_layouts/15 for you)
~sitecollectionlayouts – reference to the layouts folder in the current site collection (e.g. /sites/team/_layouts/15)
~sitelayouts – reference to the layouts folder in the current site (e.g. /sites/teams/subsite/_layouts/15)
Setting up the Field render on SPSUK Tasks.
~sitecollection/_catalogs/masterpage/Display Templates/csr_ovr_PercentComplete_Field.js
Open the Developers Toolbar with F12
Switch to the Script tag
Select the drop down near the “Start Debugging” button
Select our template file
Start Debugging
In the normal flow, IE makes the request directly to SharePoint.
Fiddler injects itself as a proxy between your browser requests and the outbound network connection.
This allows us to inspect and event alter the requests and responses being made
If time..one of the other benefits of fiddler is off-line editing.
Using auto-responders, fiddler can return a LOCAL file instead of the server file.
This can be a local copy of your display template that you are editing, thus NOT affecting the live site, but
Working with live data.
Using the demo we created earlier, we’ll show how to trap the code and step through.
Shortcut leads to - http://msdn.microsoft.com/library/ie/bg182326(v=vs.85) The F12 developer tools site.
Martin Hatches blog has more details on some of the other breaking issues with Display templates.
If plenty of time (show the multiple list view issues)
Tasks (If not done already)
Average Temps (Charting)
Belgian Beers – Styling, linked webparts, broken webparts
Belgian Beers – Set in powershell
About My Team
Game Shows
Office 365