Angular - Chapter 9 - Authentication and AuthorizationWebStackAcademy
Authentication is the process of validating a user on the credentials (username and password)
and provide access to the web application(ex: Email)
Authorization helps you to control access rights by granting or denying specific permissions
to an authenticated user (Ex: User / Manager / Admin).
Oracle Commerce Using ATG & Endeca - Do It Yourself SeriesKeyur Shah
After 2 years of marathon run I was able to complete the self-published book on Oracle Commerce (ATG & Endeca) which covers both the commerce product installation, configuration, concepts, architecture, and some of the open source tools that you can use such as Vagrant, Elasticsearch, Kibana, Logstash, and Splunk.
This book is absolutely free as my contribution to the industry, colleagues, and the commerce community.
The motivation behind this book is “no books written on the subject” and “the goal to make the journey of beginners as painless as possible”.
Hope this will be useful to not just the beginners but also those who embrace open source tools and technologies along with branded products and services.
Angular - Chapter 9 - Authentication and AuthorizationWebStackAcademy
Authentication is the process of validating a user on the credentials (username and password)
and provide access to the web application(ex: Email)
Authorization helps you to control access rights by granting or denying specific permissions
to an authenticated user (Ex: User / Manager / Admin).
Oracle Commerce Using ATG & Endeca - Do It Yourself SeriesKeyur Shah
After 2 years of marathon run I was able to complete the self-published book on Oracle Commerce (ATG & Endeca) which covers both the commerce product installation, configuration, concepts, architecture, and some of the open source tools that you can use such as Vagrant, Elasticsearch, Kibana, Logstash, and Splunk.
This book is absolutely free as my contribution to the industry, colleagues, and the commerce community.
The motivation behind this book is “no books written on the subject” and “the goal to make the journey of beginners as painless as possible”.
Hope this will be useful to not just the beginners but also those who embrace open source tools and technologies along with branded products and services.
REST & RESTful Web Service
REST stands for Representational State Transfer
REST web services communicate over the HTTP specification, using HTTP vocabulary
If a service does not include all constraints it is not a RESTful web service.
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafThymeleaf
Introduction to the Thymeleaf java XML/XHTML/HTML5 template engine by José Miguel Samper and Daniel Fernández at Spring I/O 2012 Madrid, Feb 17th 2012.
Introduction, Technologies included in ajax,
Ajax Evolution,
Pro’s and Con’s,
Beginners Problem?,
Types and choices of request,
Ajax on hands (Example),
Global Ajax Event Handlers,
Helper Functions,
Low Level interface,
Shorthand Methods for Ajax request.
cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information about you, similar to a preference file created by a software application.
There are several JavaScript libraries available in the world of web programming. And, as the usage and complexity is increasing day by day, sometimes it becomes very difficult and confusing to understand and create modules using those libraries, especially for those having strong background of Object Oriented Languages.
So this one hour session will make an effort to go into the very basics of JavaScript and put a base for writing modular JavaScript code.
This session will provide information about what is Jhipster, what all technology it supports. How easily we can develop and deploy a spring application with full front end support and monitoring and logging of the service using Jhipster.
A simple tutorial for understanding the basics of angular JS. Very useful for the beginners. Also useful for the quick revision. Very attractive design for the tutorial of angular js.
Validating user input for accuracy and completeness helps in improving overall data quality. Angular and its form package turns up with a Validators class that has some beneficial validators like minLength, maxLength, required and pattern. However, occasionally if we wish to validate different fields under more complex/custom rules we can make optimum use of custom validator.
Defining custom validators while using Reactive Forms in Angular comes very easy as they are more of regular functions. One can conveniently generate function for custom validators within the component file in case the validator is not supposed to be used elsewhere.
Introduction To Angular's reactive formsNir Kaufman
Slides from my Angular Reactive Forms talk at JSHeroes conference. Most of the talk based on live coding demo, but the slides shows some general feeling and info.
REST & RESTful Web Service
REST stands for Representational State Transfer
REST web services communicate over the HTTP specification, using HTTP vocabulary
If a service does not include all constraints it is not a RESTful web service.
Spring I/O 2012: Natural Templating in Spring MVC with ThymeleafThymeleaf
Introduction to the Thymeleaf java XML/XHTML/HTML5 template engine by José Miguel Samper and Daniel Fernández at Spring I/O 2012 Madrid, Feb 17th 2012.
Introduction, Technologies included in ajax,
Ajax Evolution,
Pro’s and Con’s,
Beginners Problem?,
Types and choices of request,
Ajax on hands (Example),
Global Ajax Event Handlers,
Helper Functions,
Low Level interface,
Shorthand Methods for Ajax request.
cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information about you, similar to a preference file created by a software application.
There are several JavaScript libraries available in the world of web programming. And, as the usage and complexity is increasing day by day, sometimes it becomes very difficult and confusing to understand and create modules using those libraries, especially for those having strong background of Object Oriented Languages.
So this one hour session will make an effort to go into the very basics of JavaScript and put a base for writing modular JavaScript code.
This session will provide information about what is Jhipster, what all technology it supports. How easily we can develop and deploy a spring application with full front end support and monitoring and logging of the service using Jhipster.
A simple tutorial for understanding the basics of angular JS. Very useful for the beginners. Also useful for the quick revision. Very attractive design for the tutorial of angular js.
Validating user input for accuracy and completeness helps in improving overall data quality. Angular and its form package turns up with a Validators class that has some beneficial validators like minLength, maxLength, required and pattern. However, occasionally if we wish to validate different fields under more complex/custom rules we can make optimum use of custom validator.
Defining custom validators while using Reactive Forms in Angular comes very easy as they are more of regular functions. One can conveniently generate function for custom validators within the component file in case the validator is not supposed to be used elsewhere.
Introduction To Angular's reactive formsNir Kaufman
Slides from my Angular Reactive Forms talk at JSHeroes conference. Most of the talk based on live coding demo, but the slides shows some general feeling and info.
Search Engine Optimisation - Have you been crawled over?Marshal Yung
Valentine's Day on 2011 was a little different. I was invited to present a talk on the topic Search Engine Optimisation (SEO) to a group of students from Tunku Abdul Rahman College (Kuala Lumpur). Here are my slides on the love and hate between a search engine and a website.
All the changes made on the files and servers of the website come under on page optimization.Some common examples are changing the title tag of the website, changing the meta tags of the website, rewriting content, applying redirects, adding some commands in the robots.txt file etc.
In simple words, changes that one does on the website itself come under on page optimization to the meta description tag and the meta keywords tag.
All the changes made on the files and servers of the website come under on page optimization.
Some common examples are changing the title tag of the website, changing the meta tags of the website, rewriting content, applying redirects, adding some commands in the robots.txt file etc.
In simple words, changes that one does on the website itself come under on page optimization to the meta description tag and the meta keywords tag.
SIM Digital Marketing COURSES PPT.pptxShaileshBone
School of Internet Marketing is the best training institute for learning digital marketing course in PCMC as they provide theory and practical knowledge to their students.
Digital MarketingDigital marketing courses in Pune-SIM.pptxMaheshVarade3
School of Internet Marketing is the best training institute for digital marketing in Pune as they provide theory and practical knowledge to their students.
School of Internet Marketing is the best training institute for learning digital marketing course in PCMC as they provide theory and practical knowledge to their students.
Mastering Search Engine Optimization (SEO) in 2023: A Comprehensive Guide
In the ever-evolving landscape of the digital world, Search Engine Optimization (SEO) remains a critical component of any successful online presence. As we step into 2024, SEO has become even more complex and sophisticated, demanding a fresh perspective on strategies and techniques. In this guide, we will explore the latest trends, tools, and best practices for SEO in 2023 to help you stay ahead in the digital marketing game.
Content of SEO in 202 PPT
1. The State of SEO in 2023
1.1 The Evolution of Search Engines
1.2 The Importance of SEO in the Modern Digital Landscape
1.3 The Role of AI in SEO
2. On-Page SEO
2.1 Optimizing for User Experience
2.2 High-Quality Content Creation
2.3 Structured Data Markup
2.4 Mobile Optimization
3. Off-Page SEO
3.1 Building High-Quality Backlinks
3.2 Social Signals and Branding
3.3 Online Reputation Management
4. Technical SEO
4.1 Core Web Vitals
4.2 Website Speed and Performance
4.3 Mobile-First Indexing
4.4 Schema Markup
5. Local SEO
5.1 Google My Business Optimization
5.2 Local Citations
5.3 Customer Reviews and Ratings
7. Video SEO
7.1 The Popularity of Video Content
7.2 Optimizing Video Content for SEO
8. Content Marketing and SEO
8.1 Content Strategy for SEO
8.2 Content Distribution and Promotion
9. SEO Tools in 2023
9.1 SEO Analytics Tools
9.2 Keyword Research Tools
9.3 SEO Plugin and Software
10. Measuring SEO Success
10.1 Key Performance Indicators (KPIs)
10.2 Tracking and Reporting
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesCatalyst
While providing a dynamic and fast user experience, JavaScript-based sites (SPAs/PWAs) are not always “SEO friendly.” Therefore, it is crucial for developers to understand how search engines crawl, parse, eventually render, and index dynamic websites, to make sure bots get the experience they developed and the content of the site.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
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.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
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
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...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.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
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.
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.
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.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
2. Agenda
• Introduction to SEO
• SEO Techniques
• Implementation of SEO in Endeca
• Implementation of SEO in ATG
3. SEO Introduction
• Search Engine Optimization (SEO) is a term used to
describe a variety of techniques for making pages
more accessible to web spiders (also known as web
crawlers or robots), the scripts used by Internet
search engines to crawl the Web to gather pages for
indexing. The goal of SEO is to increase the ranking
of the indexed pages in 'natural' search results.
5. SEO Introduction (contd)
• How Crawlers find pages:
• Web Crawlers uses sophisticated computer
programs to determine the list of urls, how many
and when from hundreds and thousands of
webservers.
• It begins the crawling process with the list of urls,
generated from past crawl process and augmented
with sitemap urls. As it crawls, it detects new links
(hrefs , image SRC) and adds it to list of urls to crawl
further.
6. SEO Introduction (contd)
• Indexing & Search
• As web crawlers visits pages, it gathers information
from pages and keywords, locations are indexed, so
enabling search and lookup faster.
• Just like index of a book with keywords and page
numbers.
• As you search using keywords, search engine using
sophisticated ranking algorithms to determine best
possible matches and retrieves the search results.
7. SEO Introduction (contd)
• Disallow crawlers from indexing your pages
• Using robot.txt –
• A file used to specify the urls of the site that should
not be crawled. (eg: service agreement, terms and
conditions).
• Also used to Specify the location of the sitemap xml
files
• Should be placed in root of the web site folder.
8. SEO Introduction (contd)
• Robot.txt format
• User agent: *
• Disallow: /terms.html
• Sitemap:http://www.example.com/sitemap.xml
• Exclude individual page or links from indexing:
• <meta name="robots" content="noindex"/>
• <a href="www.example.com" rel="nofollow"/>
• <meta name="robots" content="nofollow"/>
10. • Way of increasing the page ranking in search engine results.
• Make it look more like static URL.
• short friendly urls <2048 charac. with minimum query parameters
• Include as much information in URL in the form of key words to
increase the ranking of the indexed page.
URL Recoding
11. • Examples:
• (Bad SEO links for product pages – Rogers.com)
http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=PhoneThe
nPlan&productType=normal&productId_Detailed=IP6PL64GRY
http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=PhoneThe
nPlan&productType=normal&productId_Detailed=IP6PL64GLD
URL Recoding (contd)
13. • There is no differentiation between Gold and Gray models, due to
same dynamic URL for both Gray and Gold phones varying only in
query parameters.
• Doesn't satisfy customers of what he looks for due to unfriendly
SEO urls.
URL Recoding (contd)
14. • Good examples: (to be recoded to below URLs)
http://www.rogers.com/wireless/phones/IPhone6-36GB-Gray
http://www.rogers.com/wireless/phones/IPhone6-36GB-Gold
• Benefits:
• Improved page ranking
• Customers got what he looked for in the very first search result.
URL Recoding (contd)
15. Customers got what he looked for in the very first search result.
Good image
URL Recoding (contd)
16. Different URLs pointing to same page, will reduce the ranking for the
particular page.
Eg: www.rogers.com
www.rogers.com/web/Rogers.portal
www.example.com/phones
www.example.com/phones.jsp
Using Link tag with proper Urls:
Using link tag under <head> tag in html, use a single consistent url as
a single url.
<link rel=”canonical” href=”www.example.com/phones”/>
Canonical Links
17. • Semantic HTML markup
• Avoid flash, javascript output, as crawlers are good at parsing
HTML
• proper <title>
• Meta tags <meta> tags, alt attribute for images
• help including keywords which ultimately increases page ranking.
SEO Tagging
19. • Site map helps web crawlers to access our site pages for indexing.
It includes URL paths to various site pages in the application to
index.
• Specified using XML file defined by www.sitemaps.org schema.
• Can contain multiple xml files linked using index sitemap file.
• Usually stored in root of the web application. Can be specified in
robot.txt.
• Sitemap xml can be submitted to search engines to validate.
Example Sitemap XML file:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
</url>
<url>
<loc>http://www.example.com/contact/</loc>
</url>
</urlset>
SiteMap
20. • Used In Category pages, Faced Navigation pages, also be used in
Product detail pages
• URL Recoding:
Non SEO or Traditional Endeca Urls: (constructed using
BasicUrlFormatter Endeca assembler API)
eg: rogers.com (category page, faceted navigation page)
http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=Pho
neThenPlan&productType=normal&N=11+52+4294948709&Nr=A
ND%28Language%3AEN%2CProvince%3AON%29
Implementing SEO techniques in
Endeca
21. • Optimized SEO friendly Endeca Urls: (using SEOUrlFormatter
Endeca Assembler API)
• Include keywords in Urls, to make it SEO friendly
http://www.rogers.com/wireless/smartphones/_/N-
11+52+4294948709?Nr=AND%28Language%3AEN%2CProvince%3
AON%29
http://www.rogers.com/wireless/smartphones/Android/_/N-
11+52+4294948709+277?Nr=AND%28Language%3AEN%2CProvinc
e%3AON%29
Implementing SEO techniques in
Endeca (contd)
22. Parts of the optimized Endeca Urls:
misc-path - /wireless/smartphones/Android
path-param-separator - _
path-params - N-11+52+4294948709
query string - ?Nr=AND%28Language%3AEN%2CProvince%3AON%29
Implementing SEO techniques in
Endeca (contd)
23. Configuring SEO friendly URLs in Endeca
• XML Configuration file – eg: endeca-seo-Config.xml
Easily configured using Spring framework
Core API classes – Endeca Assembler API – SEO classes -
BasicQueryBuilder, SeoUrlFormatter, SeoNavStateFormatter,
SeoNavStateCanonicalizer along with Endeca Experience Manager
Cartridge Handlers core APIs.
• Will be able to configure every aspect of URLs, like formatting,
canonicalizing, encoding.
• Sample reference XML configuration in appendix.
Implementing SEO techniques in
Endeca (contd)
24. • Site Map:
• Sitemap xml files generated using standalone batch command
RunSitemapGen.bat
• Configured using XML file specifying MDEX host, port, URL format
• Uses same xml file used for configuring application
• <URL_FORMAT_FILE>C:EndecaToolsAndFrameworks...WEB-
INFendeca-seo-config.xml</URL_FORMAT_FILE>
* Sample configuration file included in appendix.
Implementing SEO techniques in
Endeca (contd)
25. ATG Driven pages (usually in Product Detail pages )
URL Recoding:
• ATG SEO module detects Visitor either Human or Crawler using User
Agent Header from request and generates the page links
accordingly.
• Core API provided by ATG is in atg.repository.seo.* packages.
• Core ATG APIs:
atg.repository.seo.ItemLink servlet bean– translates to static
urls based on user agent.
atg.repository.seo.JumpServlet - incoming static URLs (for
example, if a user clicks a link returned by a Google search), and
translates these URLs into their dynamic equivalents.
Implementing SEO techniques in
ATG
26. URL Configuration:
Done using template classes provided Core ATG SEO.
URL Templates:
atg.repository.seo.DirectUrlTemplate
atg.repository.seo.IndirectUrlTemplate
# Url template format
urlTemplateFormat=/jump/{item.displayName}/productDetail/{item.p
arentCategory.displayName}/{item.id}/{item.parentCategory.id}/{locale
}
# Forward Url template
forwardUrlTemplateFormat={item.template.url,encode=false}?product
Id={item.id}&categoryId={item.parentCategory.id}&locale={locale}
&productPage=true
Implementing SEO techniques in
ATG (contd)
27. /atg/repository/seo/CatalogItemLink
$class=atg.repository.seo.ItemLink
# Map of UrlTemplateMapper components by item descriptor name
for this droplet
itemDescriptorNameToMapperMap=
product=/atg/repository/seo/ProductTemplateMapper
# Default parameter values
defaultRepository=/atg/commerce/catalog/ProductCatalog
defaultItemDescriptorName=product
Implementing SEO techniques in
ATG(contd)
28. /atg/repository/seo/ProductTemplateMapper
$class=atg.repository.seo.IndirectUrlTemplate
# Url template format
urlTemplateFormat=/jump/{item.displayName}/productDetail/{item.parentCategory.displayName}/{item.i
d}/{item.parentCategory.id}/{locale}
# Regex that matches above format
indirectRegex=.*/jump/[^/]*?/productDetail/[^/]*?/([^/].*?)/[^/]*?/([^/]*)(/.*?)*$
# Regex elements
regexElementList=
item | id |
/atg/commerce/catalog/ProductCatalog:product,
locale | string
# Forward Url template
forwardUrlTemplateFormat={item.template.url,encode=false}?productId={item.id}&categoryId={item.p
arentCategory.id}&locale={locale}&productPage=true
# Supported Browser Types
supportedBrowserTypes=
robot
Implementing SEO techniques in
ATG(contd)
29. ATG – Endeca Integration:
• Used in Experience Manager Cartridge Handlers
• ATG Nucleus component access Endeca SEO configuration spring
beans using ATG Spring Integration feature
• atg.nucleus.spring.NucleusPublisher
• <bean name="/NucleusPublisher" class="atg.nucleus.spring.NucleusPublisher"
• scope="singleton">
• <property name="nucleusPath">
• <value>/atg/spring/FromSpring</value>
• </property>
• </bean>
•
• <import resource="endeca-seo-url-config.xml"/>
• Now you use /atg/spring/FromSpring/[spring Bean Id] in your
Nucleus component
Implementing SEO techniques in
ATG(contd)
30. ATG – Endeca Integration:
A key bean in Endeca is
com.endeca.soleng.urlformatter.seo.SeoUrlFormatter
• Configure the
/atg/endeca/assembler/cartridge/manager/NavigationStateBuilder
component using the property
• urlFormatter = /atg/spring/FromSpring/seoUrlFormatter
Implementing SEO techniques in
ATG(contd)
31. Canonical Links
Using OOTB ATG
/atg/repository/seo/CanonicalItemLink
<link rel="canonical"
ref="http://www.example.com:80/crs/storeus/jump/
Dotted+Repp+Tie/productDetail/For+Him/xprod1001
/cat50067 " />
Implementing SEO techniques in
ATG(contd)
32. SiteMap Generation:
• Sitemap files are XML documents that contain URLs for the pages of your
site. These can be generated either manually using Dynamo Admin
console or in a scheduled mapper.
• Sitemap xmls are kept in root of the web application
ATG uses following OOTB components for sitemap generation:
Components is in folder /atg/sitemap/*
Implementing SEO techniques in
ATG(contd)
33. SiteMap Generation:
StaticSitemapGenerator - generates sitemap xml files for static urls
DynamicSitemapGenerator - generates files for dynamic urls.
SitemapIndexGenerator - generates index files for various sitemap files
generated by SiteMapGenerator components.
SitemapGeneratorService - Used for scheduled generation of sitemap xml files
and inserting entries in SiteMapRepository
SitemapWriterService - writes sitemap xml files using contents from
SiteMapRepository, should be run on every ATG instance.
Implementing SEO techniques in
ATG(contd)
34. SEO Tagging:
• ATG uses SEO tag repository for storing content of title, meta – keywords, description
tags.
• Register SEO tag repository using initialRepositories property of
/atg/repository/ContentRepositories component
<dsp:droplet name="/atg/dynamo/droplet/RQLQueryRange">
<dsp:param name="repository" value="/atg/seo/SEORepository" />
<dsp:param name="itemDescriptor" value="SEOTags" />
<dsp:param name="howMany" value="1" />
<dsp:param name="mykey" value="featured" />
<dsp:param name="queryRQL" value="key = :mykey" />
<dsp:oparam name="output">
<title><dsp:valueof param="element.title"/></title>
<dsp:getvalueof var="description" param="element.description"/>
<dsp:getvalueof var="keywords" param="element.keywords"/>
<meta name="description" content="${description}" />
<meta name="keywords" content="${keywords}"/>
</dsp:output>
</dsp:droplet>
Implementing SEO techniques in
ATG(contd)