SlideShare a Scribd company logo
1.
1.
Apache Server Side Includes (SSI) in AEM pages
What is SSI
SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the
pages are being served. They let you add dynamically generated content to an existing HTML page, without having
to serve the entire page via dynamic technology such as JSP.
How does SSI works
In Apache HTTP server, SSI module (mod_include) need to be loaded and enabled for the server to perform SSI.
SSI is purely Apache concept and has nothing to do with the underlying Dynamic technology used for e.g. in case
AEM it has nothing to with dispatcher or publish server. Dispatcher is the Adobe recommended way to cache html
page response for performance reasons.
In order to direct Apache server to include a dynamic content on server side the html page uses the following
include directive
<!--#include virtual="<path of html fragment to be included>" -->
e.g.
<!--#include virtual="/content/geometrixx/en/_jcr_content/par/datetest.nocache.html" --></div>
When the server encounters the above tag in HTML page it tries to include the html fragment from the mentioned
path relative to server document root. If the file is not found there, Apache requests the underlying Application server
for the file and creates the file at the path mentioned in include tag. If the file is not found in Application server then
Apache creates zero byte file.
Apache Configuration to enable SSI
Make sure that the following module in enabled/loaded in Apache config file (httpd.conf)
LoadModule include_module modules/mod_include.so
Add includes option in directory config element. This tells apache to permit files to be parsed for SSI directive
<Directory "c:/work/install/Apache22/htdocs">
Options Indexes FollowSymLinks MultiViews Includes
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
AddHandler server-parsed .html
AddHandler server-parsed .htm
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Integrating Apache with AEM
The following block diagram shows the AEM and Apache/Dispatcher configuration
In the local environment, Author is running on port 4502, Publish on 4503, Apache defaults to port 80
Configure dispatcher module in apache with its render pointed to AEM publish instance.
Dispatcher can be loaded and configured in apache as follows
LoadModule dispatcher_module modules/disp_apache2.2.dll
<IfModule disp_apache2.c>
DispatcherConfig conf/dispatcher.any
DispatcherLog logs/dispatcher.log
DispatcherLogLevel 3
DispatcherNoServerHeader 0
DispatcherDeclineRoot 0
DispatcherUseProcessedURL 0
DispatcherPassError 0
</IfModule>
<Directory />
<IfModule disp_apache2.c>
ModMimeUsePathInfo On
SetHandler dispatcher-handler
</IfModule>
SetOutputFilter INCLUDES
Options FollowSymLinks Includes
AllowOverride None
In the dispacther config file, configure the rendered to point to Publish instance.
/renders
{
/rend01
{
# Hostname or IP of the render
/hostname "127.0.0.1"
# Port of the render
/port "4503"
# Connect timeout in milliseconds, 0 to wait indefinitely
# /timeout "0"
}
}
Demonstrating AEM component fragment SSI inclusion
Above component is rendered as
2. SSI include the component on some other page where you want to display the same component.
3. Publish both the pages and check the page output for both pages on publish.
The page where we added the actual component will show component content
The other page we added the SSI include directive will not show the component content.
Now try and hit this same page with SSI directive via Apache/Dispatcher using the following url
http://localhost/content/geometrixx/en/products.html
This page will show the component content included using SSI directive.
Also check the Apache directory at the path mentioned in the SSI directive. You should notice a html file created
over there
Now next step is to change the component content in author on the page you placed the actual component
and publish it.
Changed the Name to "Deepak" and published the page.
On the publish server I can see that the page has changed. The Page where we SSI component doesn't show the
content if we hot it directly.
Now hit the Products page (Where we SSI component) via Apache. You should see the updated content i.e. the
name changed to "Deepak" even though we actually haven't published the Products page.
Conclusion: The above tests demonstrates the Use Case where we have a common component that may be
displayed on multiple pages of the website, common example is header/footer, which is being authored and
published once and the changes get reflected on all the pages where it is being used without actually publishing all
the pages. Including common component Via SSI allows for improved performance in publishing content (obviously
as less content is published).

More Related Content

What's hot

Mule with salesforce push topic notification copy
Mule with salesforce push topic notification   copyMule with salesforce push topic notification   copy
Mule with salesforce push topic notification copy
Sanjeet Pandey
 
Readme
ReadmeReadme
Deploy with maven
Deploy with mavenDeploy with maven
Deploy with maven
Son Nguyen
 
Weblogic monitoring
Weblogic monitoringWeblogic monitoring
Weblogic monitoring
Aditya Bhuyan
 
Integrate to retrieve data microsoft azure
Integrate to retrieve data microsoft azureIntegrate to retrieve data microsoft azure
Integrate to retrieve data microsoft azure
Son Nguyen
 
Anypoint lessons
Anypoint lessonsAnypoint lessons
Anypoint lessons
Dwight Cavalcanti
 
Force.com Migration Tool
Force.com Migration ToolForce.com Migration Tool
Force.com Migration Tool
Atul Gupta(8X)
 
Deploying and running mule standalone
Deploying and running mule standaloneDeploying and running mule standalone
Deploying and running mule standalone
mdfkhan625
 
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress ThemesPhilip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore
 
Integrate with facebook connector
Integrate with facebook connectorIntegrate with facebook connector
Integrate with facebook connector
Son Nguyen
 
Integration with CMIS using Mule ESB
Integration with CMIS using Mule ESBIntegration with CMIS using Mule ESB
Integration with CMIS using Mule ESB
Sanjeet Pandey
 
Deploying and running in mule standalone
Deploying and running in mule standaloneDeploying and running in mule standalone
Deploying and running in mule standalone
Anirban Sen Chowdhary
 
Integration with dropbox
Integration with dropboxIntegration with dropbox
Integration with dropbox
Son Nguyen
 
Mule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutesMule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutes
Gennaro Spagnoli
 
Mule management console installation
Mule management console installation Mule management console installation
Mule management console installation
javeed_mhd
 
Rack
RackRack
Salesforce ANT migration
Salesforce ANT migration Salesforce ANT migration
Salesforce ANT migration
Cloud Analogy
 
Mule integration with linkedin
Mule integration with linkedinMule integration with linkedin
Mule integration with linkedin
Khasim Saheb
 
Using ajax in mule
Using ajax in muleUsing ajax in mule
Using ajax in mule
Anirban Sen Chowdhary
 

What's hot (19)

Mule with salesforce push topic notification copy
Mule with salesforce push topic notification   copyMule with salesforce push topic notification   copy
Mule with salesforce push topic notification copy
 
Readme
ReadmeReadme
Readme
 
Deploy with maven
Deploy with mavenDeploy with maven
Deploy with maven
 
Weblogic monitoring
Weblogic monitoringWeblogic monitoring
Weblogic monitoring
 
Integrate to retrieve data microsoft azure
Integrate to retrieve data microsoft azureIntegrate to retrieve data microsoft azure
Integrate to retrieve data microsoft azure
 
Anypoint lessons
Anypoint lessonsAnypoint lessons
Anypoint lessons
 
Force.com Migration Tool
Force.com Migration ToolForce.com Migration Tool
Force.com Migration Tool
 
Deploying and running mule standalone
Deploying and running mule standaloneDeploying and running mule standalone
Deploying and running mule standalone
 
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress ThemesPhilip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
Philip Arthur Moore: Best Practices — On Breaking and Fixing WordPress Themes
 
Integrate with facebook connector
Integrate with facebook connectorIntegrate with facebook connector
Integrate with facebook connector
 
Integration with CMIS using Mule ESB
Integration with CMIS using Mule ESBIntegration with CMIS using Mule ESB
Integration with CMIS using Mule ESB
 
Deploying and running in mule standalone
Deploying and running in mule standaloneDeploying and running in mule standalone
Deploying and running in mule standalone
 
Integration with dropbox
Integration with dropboxIntegration with dropbox
Integration with dropbox
 
Mule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutesMule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutes
 
Mule management console installation
Mule management console installation Mule management console installation
Mule management console installation
 
Rack
RackRack
Rack
 
Salesforce ANT migration
Salesforce ANT migration Salesforce ANT migration
Salesforce ANT migration
 
Mule integration with linkedin
Mule integration with linkedinMule integration with linkedin
Mule integration with linkedin
 
Using ajax in mule
Using ajax in muleUsing ajax in mule
Using ajax in mule
 

Viewers also liked

Child care presentation
Child care presentationChild care presentation
Child care presentation
lizard2012
 
Child Care Presentation, Best Start Network
Child Care Presentation, Best Start NetworkChild Care Presentation, Best Start Network
Child Care Presentation, Best Start Network
David Plumstead
 
Childcare Web Application
Childcare Web ApplicationChildcare Web Application
Childcare Web Application
Diego Perdomo
 
Drupal security lecture
Drupal security lectureDrupal security lecture
Drupal security lecture
slide9991
 
4. Lesson Four - Setting up your childcare business
4. Lesson Four - Setting up your childcare business4. Lesson Four - Setting up your childcare business
4. Lesson Four - Setting up your childcare business
YorkLearning
 
High Quality and Flexible Childcare
High Quality and Flexible ChildcareHigh Quality and Flexible Childcare
High Quality and Flexible Childcare
Fountainhead Montessori
 
Awesome Beginnings Childcare
Awesome Beginnings ChildcareAwesome Beginnings Childcare
Awesome Beginnings Childcare
Lisa Boerum
 
ESR 505 final presentation Quality Childcare Team
ESR 505 final presentation Quality Childcare TeamESR 505 final presentation Quality Childcare Team
ESR 505 final presentation Quality Childcare Team
Marlene Allen-Harrison
 
All Things Childcare
All Things ChildcareAll Things Childcare
All Things Childcare
sarahjowatkins
 
Day care facility business model
Day care facility business modelDay care facility business model
Day care facility business model
Ankit Uttam
 
Day care center
Day care centerDay care center
Day care center
Farhan Ahmed
 
Preschool program design presentation
Preschool program design presentationPreschool program design presentation
Preschool program design presentation
landrews1994
 
Zool Kids Day Care Proposal
Zool Kids Day Care ProposalZool Kids Day Care Proposal
Zool Kids Day Care Proposal
Zool Kids
 
Day Care Center Business Plan
Day Care Center Business PlanDay Care Center Business Plan
Day Care Center Business Plan
kashfi28
 
Open a Pre School
Open a Pre SchoolOpen a Pre School
Open a Pre School
Harshal Mistry
 
Child care Presentation
Child care PresentationChild care Presentation
Child care Presentation
monicaandreapangan
 
Pre school ppt
Pre school pptPre school ppt
Small step child care - Business Plan
Small step child care - Business PlanSmall step child care - Business Plan
Small step child care - Business Plan
Micha Paramitha
 

Viewers also liked (18)

Child care presentation
Child care presentationChild care presentation
Child care presentation
 
Child Care Presentation, Best Start Network
Child Care Presentation, Best Start NetworkChild Care Presentation, Best Start Network
Child Care Presentation, Best Start Network
 
Childcare Web Application
Childcare Web ApplicationChildcare Web Application
Childcare Web Application
 
Drupal security lecture
Drupal security lectureDrupal security lecture
Drupal security lecture
 
4. Lesson Four - Setting up your childcare business
4. Lesson Four - Setting up your childcare business4. Lesson Four - Setting up your childcare business
4. Lesson Four - Setting up your childcare business
 
High Quality and Flexible Childcare
High Quality and Flexible ChildcareHigh Quality and Flexible Childcare
High Quality and Flexible Childcare
 
Awesome Beginnings Childcare
Awesome Beginnings ChildcareAwesome Beginnings Childcare
Awesome Beginnings Childcare
 
ESR 505 final presentation Quality Childcare Team
ESR 505 final presentation Quality Childcare TeamESR 505 final presentation Quality Childcare Team
ESR 505 final presentation Quality Childcare Team
 
All Things Childcare
All Things ChildcareAll Things Childcare
All Things Childcare
 
Day care facility business model
Day care facility business modelDay care facility business model
Day care facility business model
 
Day care center
Day care centerDay care center
Day care center
 
Preschool program design presentation
Preschool program design presentationPreschool program design presentation
Preschool program design presentation
 
Zool Kids Day Care Proposal
Zool Kids Day Care ProposalZool Kids Day Care Proposal
Zool Kids Day Care Proposal
 
Day Care Center Business Plan
Day Care Center Business PlanDay Care Center Business Plan
Day Care Center Business Plan
 
Open a Pre School
Open a Pre SchoolOpen a Pre School
Open a Pre School
 
Child care Presentation
Child care PresentationChild care Presentation
Child care Presentation
 
Pre school ppt
Pre school pptPre school ppt
Pre school ppt
 
Small step child care - Business Plan
Small step child care - Business PlanSmall step child care - Business Plan
Small step child care - Business Plan
 

Similar to Apache serversideincludes(ssi)inae mpages

Weblogic Plugin
Weblogic PluginWeblogic Plugin
Weblogic Plugin
Aditya Bhuyan
 
Weblogic Cluster monitoring
Weblogic Cluster monitoringWeblogic Cluster monitoring
Weblogic Cluster monitoring
Aditya Bhuyan
 
Weblogic Server Plugin
Weblogic Server PluginWeblogic Server Plugin
Weblogic Server Plugin
Aditya Bhuyan
 
Weblogic plug in
Weblogic plug inWeblogic plug in
Weblogic plug in
Aditya Bhuyan
 
How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...
Appear
 
vitepress-en.pdf
vitepress-en.pdfvitepress-en.pdf
vitepress-en.pdf
ssuser65180a
 
Plug in development
Plug in developmentPlug in development
Plug in development
Lucky Ali
 
Step by step guide for creating wordpress plugin
Step by step guide for creating wordpress pluginStep by step guide for creating wordpress plugin
Step by step guide for creating wordpress plugin
Mainak Goswami
 
ASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites Appearance
Randy Connolly
 
Asp.net web page syntax overview
Asp.net web page syntax overviewAsp.net web page syntax overview
Asp.net web page syntax overview
Salam Khan
 
Apache installation and configurations
Apache installation and configurationsApache installation and configurations
Apache installation and configurations
Nikhil Jain
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questions
Akhil Mittal
 
Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimization
Stevie T
 
Offline Storage
Offline StorageOffline Storage
Offline Storage
SP Balamurugan
 
Andy Bosch - JavaServer Faces in the cloud
Andy Bosch -  JavaServer Faces in the cloudAndy Bosch -  JavaServer Faces in the cloud
Andy Bosch - JavaServer Faces in the cloud
Andy Bosch
 
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Ajax Experience 2009
 
Apache
Apache Apache
Apache
Gouthaman V
 
Apache
ApacheApache
Apache
Raghu nath
 
CMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg BrownCMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg Brown
hannonhill
 
Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007
SharePoint Experts
 

Similar to Apache serversideincludes(ssi)inae mpages (20)

Weblogic Plugin
Weblogic PluginWeblogic Plugin
Weblogic Plugin
 
Weblogic Cluster monitoring
Weblogic Cluster monitoringWeblogic Cluster monitoring
Weblogic Cluster monitoring
 
Weblogic Server Plugin
Weblogic Server PluginWeblogic Server Plugin
Weblogic Server Plugin
 
Weblogic plug in
Weblogic plug inWeblogic plug in
Weblogic plug in
 
How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...How to build integrated, professional enterprise-grade cross-platform mobile ...
How to build integrated, professional enterprise-grade cross-platform mobile ...
 
vitepress-en.pdf
vitepress-en.pdfvitepress-en.pdf
vitepress-en.pdf
 
Plug in development
Plug in developmentPlug in development
Plug in development
 
Step by step guide for creating wordpress plugin
Step by step guide for creating wordpress pluginStep by step guide for creating wordpress plugin
Step by step guide for creating wordpress plugin
 
ASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites Appearance
 
Asp.net web page syntax overview
Asp.net web page syntax overviewAsp.net web page syntax overview
Asp.net web page syntax overview
 
Apache installation and configurations
Apache installation and configurationsApache installation and configurations
Apache installation and configurations
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questions
 
Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimization
 
Offline Storage
Offline StorageOffline Storage
Offline Storage
 
Andy Bosch - JavaServer Faces in the cloud
Andy Bosch -  JavaServer Faces in the cloudAndy Bosch -  JavaServer Faces in the cloud
Andy Bosch - JavaServer Faces in the cloud
 
Chanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling PagecacheChanhao Jiang And David Wei Presentation Quickling Pagecache
Chanhao Jiang And David Wei Presentation Quickling Pagecache
 
Apache
Apache Apache
Apache
 
Apache
ApacheApache
Apache
 
CMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg BrownCMS Lessons Learned at Vassar by Megg Brown
CMS Lessons Learned at Vassar by Megg Brown
 
Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007
 

Recently uploaded

Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
SitimaJohn
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 

Recently uploaded (20)

Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptxOcean lotus Threat actors project by John Sitima 2024 (1).pptx
Ocean lotus Threat actors project by John Sitima 2024 (1).pptx
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 

Apache serversideincludes(ssi)inae mpages

  • 1. 1. 1. Apache Server Side Includes (SSI) in AEM pages What is SSI SSI (Server Side Includes) are directives that are placed in HTML pages, and evaluated on the server while the pages are being served. They let you add dynamically generated content to an existing HTML page, without having to serve the entire page via dynamic technology such as JSP. How does SSI works In Apache HTTP server, SSI module (mod_include) need to be loaded and enabled for the server to perform SSI. SSI is purely Apache concept and has nothing to do with the underlying Dynamic technology used for e.g. in case AEM it has nothing to with dispatcher or publish server. Dispatcher is the Adobe recommended way to cache html page response for performance reasons. In order to direct Apache server to include a dynamic content on server side the html page uses the following include directive <!--#include virtual="<path of html fragment to be included>" --> e.g. <!--#include virtual="/content/geometrixx/en/_jcr_content/par/datetest.nocache.html" --></div> When the server encounters the above tag in HTML page it tries to include the html fragment from the mentioned path relative to server document root. If the file is not found there, Apache requests the underlying Application server for the file and creates the file at the path mentioned in include tag. If the file is not found in Application server then Apache creates zero byte file. Apache Configuration to enable SSI Make sure that the following module in enabled/loaded in Apache config file (httpd.conf) LoadModule include_module modules/mod_include.so Add includes option in directory config element. This tells apache to permit files to be parsed for SSI directive <Directory "c:/work/install/Apache22/htdocs"> Options Indexes FollowSymLinks MultiViews Includes AddType text/html .shtml AddOutputFilter INCLUDES .shtml AddHandler server-parsed .html AddHandler server-parsed .htm AllowOverride None Order allow,deny Allow from all
  • 2. </Directory> Integrating Apache with AEM The following block diagram shows the AEM and Apache/Dispatcher configuration In the local environment, Author is running on port 4502, Publish on 4503, Apache defaults to port 80 Configure dispatcher module in apache with its render pointed to AEM publish instance. Dispatcher can be loaded and configured in apache as follows LoadModule dispatcher_module modules/disp_apache2.2.dll <IfModule disp_apache2.c> DispatcherConfig conf/dispatcher.any DispatcherLog logs/dispatcher.log DispatcherLogLevel 3 DispatcherNoServerHeader 0 DispatcherDeclineRoot 0 DispatcherUseProcessedURL 0 DispatcherPassError 0 </IfModule> <Directory /> <IfModule disp_apache2.c> ModMimeUsePathInfo On SetHandler dispatcher-handler
  • 3. </IfModule> SetOutputFilter INCLUDES Options FollowSymLinks Includes AllowOverride None In the dispacther config file, configure the rendered to point to Publish instance. /renders { /rend01 { # Hostname or IP of the render /hostname "127.0.0.1" # Port of the render /port "4503" # Connect timeout in milliseconds, 0 to wait indefinitely # /timeout "0" } } Demonstrating AEM component fragment SSI inclusion Above component is rendered as
  • 4. 2. SSI include the component on some other page where you want to display the same component. 3. Publish both the pages and check the page output for both pages on publish. The page where we added the actual component will show component content The other page we added the SSI include directive will not show the component content.
  • 5. Now try and hit this same page with SSI directive via Apache/Dispatcher using the following url http://localhost/content/geometrixx/en/products.html This page will show the component content included using SSI directive. Also check the Apache directory at the path mentioned in the SSI directive. You should notice a html file created over there
  • 6. Now next step is to change the component content in author on the page you placed the actual component and publish it. Changed the Name to "Deepak" and published the page. On the publish server I can see that the page has changed. The Page where we SSI component doesn't show the content if we hot it directly.
  • 7. Now hit the Products page (Where we SSI component) via Apache. You should see the updated content i.e. the name changed to "Deepak" even though we actually haven't published the Products page. Conclusion: The above tests demonstrates the Use Case where we have a common component that may be displayed on multiple pages of the website, common example is header/footer, which is being authored and published once and the changes get reflected on all the pages where it is being used without actually publishing all the pages. Including common component Via SSI allows for improved performance in publishing content (obviously as less content is published).