This document describes how to implement SEO-friendly URLs in WebSphere Portal by removing the context URL and rich state from portal and WCM content URLs. It involves:
1) Configuring portal properties and themes to remove rich state
2) Editing navigation JSPs and creating a Java filter to clean WCM URLs
3) Setting up an Apache reverse proxy to route URLs and modify response payloads by removing "/wps/portal" and adding it to base tags.
Serverless integration with Knative and Apache Camel on Kubernetes
This presentation will introduce Knative, an open source project that adds serverless capabilities on top of Kubernetes, and present Camel K, a lightweight platform that brings Apache Camel integrations in the serverless world. Camel K allows running Camel routes on top of any Kubernetes cluster, leveraging Knative serverless capabilities such as “scaling to zero”.
We will demo how Camel K can connect cloud services or enterprise applications using its 250+ components and how it can intelligently route events within the Knative environment via enterprise integration patterns (EIP).
Target Group: Developers, architects and other technical people - a basic understanding of Kubernetes is an advantage
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
The document provides an overview of Kubernetes concepts and architecture. It begins with an introduction to containers and microservices architecture. It then discusses what Kubernetes is and why organizations should use it. The remainder of the document outlines Kubernetes components, nodes, development processes, networking, and security measures. It provides descriptions and diagrams explaining key aspects of Kubernetes such as architecture, components like Kubelet and Kubectl, node types, and networking models.
With Apache Kafka 0.9, the community has introduced a number of features to make data streams secure. In this talk, we’ll explain the motivation for making these changes, discuss the design of Kafka security, and explain how to secure a Kafka cluster. We will cover common pitfalls in securing Kafka, and talk about ongoing security work.
The document provides an overview of Red Hat OpenShift Container Platform, including:
- OpenShift provides a fully automated Kubernetes container platform for any infrastructure.
- It offers integrated services like monitoring, logging, routing, and a container registry out of the box.
- The architecture runs everything in pods on worker nodes, with masters managing the control plane using Kubernetes APIs and OpenShift services.
- Key concepts include pods, services, routes, projects, configs and secrets that enable application deployment and management.
Running more than one containerized application in production makes teams look for solutions to quickly deploy and orchestrate containers. One of the most popular options is the open-source project Kubernetes. With the release of the Amazon Elastic Container Service for Kubernetes (EKS), engineering teams now have access to a fully managed Kubernetes control plane and time to focus on building applications. This workshop will deliver hands-on labs to support you getting familiar with Amazon's EKS.
This session is focused on diving into the AWS IAM policy categories to understand the differences, learn how the policy evaluation logic works, and go over some best practices. We will then walk through how to use permission boundaries to truly delegate administration in AWS.
This document discusses Istio, an open source service mesh that provides traffic management, telemetry and security for microservices applications. It describes Istio's architecture including its data and control planes. The data plane uses Envoy proxies that are injected as sidecars to intercept and manage traffic between services. The control plane includes Pilot for service discovery and traffic management and Mixer for policy enforcement. The document provides examples of how Istio manages issues like ingress, egress, security and provides a sample BookInfo application.
An in depth overview of Kubernetes and it's various components.
NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)
Slide deck related to the Microsoft Reactor Benagluru event on September 1 2021.
https://www.meetup.com/en-AU/microsoft-reactor-bengaluru/events/280353882
During the session following topics were covered
- Scaling options in Kubernetes including HPA, Cluster Autoscaler, Manual scaling
- Need for Kubernetes based Event Driven Autoscaling (KEDA)
- Live demos of Producer and Consumer for RabbitMQ queue
- KEDA Architecture
- KEDA scalers and event sources
Kubernetes design principles, patterns and ecosystemSreenivas Makam
Kubernetes began as Google's internal container orchestration system called Borg and was open sourced as Kubernetes in 2014. It uses a declarative model where users describe their application components and infrastructure as code to manage the desired state. Key principles include being extensible through custom resources and controllers, meeting users where they are through integration with applications, and decoupling applications from infrastructure. Common extension points allow customizing authorization, scheduling, resources, and controllers. Operators help manage custom applications and Prometheus is a widely used monitoring operator. Best practices for day 2 operations focus on cluster design, application patterns, and security. A rich ecosystem of tools has grown around Kubernetes.
Blue-green deploys with Pulsar & Envoy in an event-driven microservice ecosys...StreamNative
The document discusses Toast's adoption and use of Apache Pulsar for asynchronous messaging in their microservices architecture. It describes how they built a "Pulsar Toggle" leveraging Envoy proxy to enable blue/green deployments of Pulsar consumers. The Pulsar Toggle allows consumers to be paused and resumed based on their status in the Envoy control plane, improving the reliability and usability of deploying changes to Pulsar-based services. Toast has seen increased adoption of Pulsar and benefits from its stability and scalability.
Serverless integration with Knative and Apache Camel on KubernetesClaus Ibsen
This presentation will introduce Knative, an open source project that adds serverless capabilities on top of Kubernetes, and present Camel K, a lightweight platform that brings Apache Camel integrations in the serverless world. Camel K allows running Camel routes on top of any Kubernetes cluster, leveraging Knative serverless capabilities such as “scaling to zero”.
We will demo how Camel K can connect cloud services or enterprise applications using its 250+ components and how it can intelligently route events within the Knative environment via enterprise integration patterns (EIP).
Target Group: Developers, architects and other technical people - a basic understanding of Kubernetes is an advantage
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
The document provides an overview of Kubernetes concepts and architecture. It begins with an introduction to containers and microservices architecture. It then discusses what Kubernetes is and why organizations should use it. The remainder of the document outlines Kubernetes components, nodes, development processes, networking, and security measures. It provides descriptions and diagrams explaining key aspects of Kubernetes such as architecture, components like Kubelet and Kubectl, node types, and networking models.
With Apache Kafka 0.9, the community has introduced a number of features to make data streams secure. In this talk, we’ll explain the motivation for making these changes, discuss the design of Kafka security, and explain how to secure a Kafka cluster. We will cover common pitfalls in securing Kafka, and talk about ongoing security work.
The document provides an overview of Red Hat OpenShift Container Platform, including:
- OpenShift provides a fully automated Kubernetes container platform for any infrastructure.
- It offers integrated services like monitoring, logging, routing, and a container registry out of the box.
- The architecture runs everything in pods on worker nodes, with masters managing the control plane using Kubernetes APIs and OpenShift services.
- Key concepts include pods, services, routes, projects, configs and secrets that enable application deployment and management.
Running more than one containerized application in production makes teams look for solutions to quickly deploy and orchestrate containers. One of the most popular options is the open-source project Kubernetes. With the release of the Amazon Elastic Container Service for Kubernetes (EKS), engineering teams now have access to a fully managed Kubernetes control plane and time to focus on building applications. This workshop will deliver hands-on labs to support you getting familiar with Amazon's EKS.
This session is focused on diving into the AWS IAM policy categories to understand the differences, learn how the policy evaluation logic works, and go over some best practices. We will then walk through how to use permission boundaries to truly delegate administration in AWS.
This document discusses Istio, an open source service mesh that provides traffic management, telemetry and security for microservices applications. It describes Istio's architecture including its data and control planes. The data plane uses Envoy proxies that are injected as sidecars to intercept and manage traffic between services. The control plane includes Pilot for service discovery and traffic management and Mixer for policy enforcement. The document provides examples of how Istio manages issues like ingress, egress, security and provides a sample BookInfo application.
An in depth overview of Kubernetes and it's various components.
NOTE: This is a fixed version of a previous presentation (a draft was uploaded with some errors)
This document discusses using AWS Amplify to build applications in a lean and agile way. It provides an overview of AWS Amplify, including that it is a CLI and toolchain for client development that allows creating sophisticated serverless backends fast using services like Amazon Cognito, AWS AppSync, Amazon S3, and AWS Lambda. It then demonstrates building a note taking app using these AWS services with AWS Amplify.
This presentation includes information on Kubernetes Architecture, Container Orchestration, Internal Routing, External Routing, Configuration Management, Credentials Management, Persistent Volumes, Rolling Out Updates, Autoscaling, Package Management, and a Hello World example using Helm.
This document provides an overview of Azure Kubernetes Service (AKS). It begins with introductions to containers and Kubernetes, then describes AKS's architecture and features. AKS allows users to quickly deploy and manage Kubernetes clusters on Azure without having to manage the master nodes. It reduces the operational complexity of running Kubernetes in production. The document outlines how to interact with AKS using the Azure portal, CLI, and ARM templates. It also lists AKS features like identity and access control, scaling, storage integration, and monitoring.
Event driven workloads on Kubernetes with KEDANilesh Gule
Slide deck of the presentation done at the Pune User Group on 27th February 2021. Demonstrate how Kubernetes based event driven autoscaling (KEDA) can be used with RabbitMQ as the event source.
Kubernetes Application Deployment with Helm - A beginner Guide!Krishna-Kumar
Google DevFest2019 Presentation at Infosys Campus Bangalore. Application deployment in Kubernetes with Helm is demo'ed in Google Kubernetes Engine (GKE). This is an introductory session on Helm. Several references are given in it to further explore helm3 as it is in Beta state now.
Introduction
Benefits
Concepts
Templates
CLI Tool
Cloud Formation Demo
Cloud Former (Intro)
Questions
The tutorial includes an introduction to Cloud formation, benefits to Cloud formation, concepts of Cloud formation, CLI tool, Cloud formation demo, introduction to Cloud former. The tutorial begins with an introduction to Cloud formation subsequent to which, there is another section talking about the benefits of Cloud formation. It also includes the services which are used by Cloud formation.
The next section is based on the concepts of Cloud formation. This section is important as it explains the concepts of Cloud formation which are template and stack. The Template section includes the description, objects, sample template, parameters, resources, types of resources and also the steps to create a template. Whereas, the Stack section includes the collection of resources, resources which are created or deleted. Afterward comes the CLI Tool. This section includes the CLI tool called CFN.
The CLI tool section is then followed by a Cloud formation demo. It not only gives a demo of Cloud formation and which templates would be useful. But, it also includes the issues which are present in the Cloud formation demo. The last section includes an introduction to Cloud former. It provides the description of Cloud former as to which tool and architecture it uses and also the things which are possible while using Cloud former.
Prometheus was recently accepted into the Cloud Native Computing Foundation, making it the second project after Kubernetes to be given their blessing and acknowledging that Prometheus and Kubernetes make an awesome combination. In this talk we'll cover common patterns for running Prometheus on Kubernetes, how to monitor services on Kubernetes, and some cool tips and hacks to ensure you get the most out of your Prometheus + Kubernetes deployment.
This document provides information about search engine optimization (SEO) functionality in WebSphere Commerce. It describes how to set up SEO on a starter store, including shortening the store URL context root, testing SEO-friendly URLs, and using pattern files to construct SEO-friendly URLs. It also covers optimizing page metadata, URL redirects, generating sitemaps, and customizing the SEO component configuration.
This document describes how to create a custom theme for WebSphere Portal 8.5 CF1. It outlines extracting the dynamic and static parts of an existing theme, preparing the development environment, creating dynamic content spots, and deploying the custom theme. The dynamic part is extracted from an existing theme and packaged in a WAR. The static files are also extracted and packaged separately. Plugin.xml is used to define dynamic content spots for the custom theme.
This document describes how to use the menu framework in WebSphere Portal Theme. It discusses both the client-side and server-side aspects. The key steps are:
1. Create a custom module that provides a JSON menu file and JSP markup
2. Configure the module in the portal theme
3. Test that the menu is rendered correctly on portal pages
This document describes how to create a custom theme for WebSphere Portal 8.0.0.1 with CTC modules and social rendering features. It explains extracting the dynamic and static parts of an existing theme, preparing them in RAD 8.5.1 to create WAR files, and packaging them into an EAR file for deployment. It also covers enabling necessary features, creating dynamic content spots, installing and registering the theme, and testing it on a new page.
The user synchronization is normally made via sync_all_dns script that synchronize users information from LDAP to the EMPINST.EMPLOYEE table. If you synchronize a field such as “telephone number” when a user edits the value in IBM Connections at next run of sync_all_dns script the change is lost. To avoid this problem you must setup the synchronization from EMPLOYEE table to LDAP by using the script process_draft_updates.sh
This document discusses troubleshooting user data propagation in IBM Connections. It describes the data flow process where user information is pulled from the LDAP into the EMPLOYEE table and then synchronized across applications. The document outlines different areas that can be troubleshot, including checking LDAP connectivity, reviewing logs for update errors, ensuring the scheduler is running properly, and verifying messages are consumed and data is updated in member tables.
This document provides instructions for setting up IBM WebSphere Portal Integrator for SAP to connect an IBM WebSphere Portal instance to an SAP NetWeaver Portal. It describes downloading and installing required packages, configuring the AjaxProxy and single sign-on authentication, integrating SAP navigation pages into Portal, and setting access controls. The setup creates a Credential Vault for storing SAP user credentials, displays SAP content using an iView portlet, and shares the SSO cookie to allow single sign-on between the systems.
This document provides instructions for setting up IBM WebSphere Portal Integrator for SAP to connect an IBM WebSphere Portal to an SAP NetWeaver Portal. It describes downloading and installing required packages, configuring the AjaxProxy and single sign-on settings, setting up an iView portlet and navigation integration, and restricting access to authorized users. The setup creates a Credential Vault for storing SAP credentials, integrates SAP navigation and an SAP application into Portal, and passes the SAP SSO cookie to allow single sign-on.
This document provides a style guide for branding SharePoint 2013 portals and sites. It covers topics such as customizing the master page, styling elements like the ribbon bar, top navigation, search control, and left navigation. It also discusses adding a footer, using fixed widths, sticky footers, and various user controls. The guide is intended for designers and developers and provides code snippets and screenshots for reference. The last section lists additional resources on SharePoint 2013, requirements, installation, and theming.
This document provides an overview and instructions for using the UrlRewritingNet.UrlRewrite module. It allows rewriting URLs in ASP.NET applications for search engine optimization and user-friendly URLs. Key features include rewriting URLs based on regular expressions, support for themes and master pages, and adding custom rewrite providers. Limitations include only rewriting requests handled by ASP.NET and not supporting rewriting without file extensions or cross-page postbacks without disabling security checks. The document covers installation, configuration, server settings, changing rules at runtime, and creating custom providers.
1. Developing web applications has become increasingly complex over the years, requiring developers to choose frameworks, configure apps, and handle deployment.
2. Templates can help streamline development by providing pre-configured starting points for common stacks and handling boilerplate configuration.
3. Tools like Vagrant and Docker can help isolate development environments and more easily simulate production.
4. Frameworks like Brunch and Yeoman can automate frontend tasks like compilation, minification, and live reloading.
This document discusses WordPress 3.0 and the new features it includes. WordPress 3.0 allows for custom post types and taxonomies, improved theme customization options like custom headers and menus, and better integration of WordPress Multisite. It was downloaded over 12 million times in its first 9 weeks and aims to make WordPress a full content management system while maintaining its ease of use, performance, and scalability.
BISP is committed to provide BEST learning material to the beginners and advance learners.In the same series, we have prepared a complete end-to end Hands-on Guide for WebLogicAdministration. The document focuses on detailed information about WebLogic Admin Consoleand Scripting tool. Join our professional training program and learn from experts
The document is a website analysis report prepared by TechMaza Infotech for Progear Sports Apparel website. It provides an analysis of various on-page and off-page SEO factors of the website. Key recommendations include adding footer links, optimizing the XML sitemap, fixing broken links, improving on-page content and internal linking, adding breadcrumbs and social sharing. It also suggests using HTML tags to improve pagination and analyzing external links for opportunities.
The document discusses how to deploy Rails applications using Capistrano. It covers setting up the Rails environment with Ruby, RubyGems, Rails, Mongrel, Subversion, and Capistrano. It then discusses configuring Capistrano, Apache virtual hosts, and Mongrel clusters. It provides details on the deploy.rb file configuration including database, mongrel cluster, and roles.
A High-Performance Solution To Microservices UI CompositionAlexey Gravanov
So you have decided to go for Microservices and you want to achieve maximum autonomy for your teams. However, at the front end your services still have to be joined into a single page.Here you have two options: Either have a single UI layer which all teams depend on or let each service render its own UI and compose these UI pieces later on.
In the course of moving the Autoscout24 platform - one of Europe’s leading internet car portals - to an AWS-hosted Microservice architecture, we favored autonomy and therefore decided for the UI Composition approach. During this process we faced all the challenges of UI Composition, such as performance, consistency, isolation, and testing. Learn how we started off with a rather complex attempt and then managed to greatly improve and simplify our solution.
I. Spoon is a browser extension and server platform that allows apps to be run from Spoon's servers and virtualized in Spoon's ecosystem. It provides a browser sandbox and app library.
II. Mouseflow is a click and movement analytics tool that generates heatmaps showing where users click and move their mouse on websites. It can be installed via JavaScript code or a WordPress plugin.
III. The document discusses Internet Explorer compatibility issues and introduces the new X-UA-Compatible meta tag to control document rendering mode in IE versions.
I. Spoon is a browser extension and server platform that allows apps to be run from Spoon's servers and virtualized in Spoon's ecosystem. It provides a browser sandbox and app library.
II. Mouseflow is a click and movement analytics tool that generates heatmaps showing where users click and move their mouse on websites. It can be installed via JavaScript code or a WordPress plugin.
III. The document discusses Internet Explorer compatibility issues and introduces the new X-UA-Compatible meta tag to control document rendering mode in IE versions.
This document discusses strategies for improving SEO, including using microformats and schema to increase click-through rate, reducing page load times to decrease bounce rates, and properly handling links and redirects to maintain link juice. It provides examples of implementing microformats, measuring page speed, and types of redirects. The document recommends names, titles, and URLs to help pages rank better in search engines.
This document provides an introduction to the Spring MVC framework. It discusses where web development has been with traditional servlet-based approaches, and how MVC frameworks like Spring provide better structure. Spring uses inversion of control (IoC) and dependency injection to reduce tight coupling between objects. The document provides an example Spring MVC application that uses a controller to handle requests and bind them to a form backing object using Spring's tag library. It discusses configuration in the Spring XML file and how validation would work. Overall the summary introduces the key concepts of Spring MVC including IoC, dependency injection, controllers, and form handling.
An introduction to Web Components describes why we should use web components for Web App development and how Polymer Javascript library from Google can help build web components faster.
Brad Williams gives a presentation on securing WordPress websites. He begins by providing an example of how a WordPress site was hacked by link injection, which resulted in over 375 spam links being added per page. He then outlines various steps to improve WordPress security, such as changing the admin username, setting proper file permissions, moving critical files like wp-config.php out of the root directory, using strong passwords, secret keys, and a unique table prefix. He also recommends always keeping WordPress, themes, and plugins updated and using security-focused plugins.
Web Parts allow for greater flexibility in designing pages by enabling editors to modify content, appearance and behavior directly in a browser. They are similar to Dynamic Content but can also contain Dynamic Content. The presentation is separated from the Web Part markup to allow for uneven zone widths. Properties and names can be translated. Static Web Parts are useful for template functionality.
The document discusses several SEO best practices for a WebSphere Commerce site including:
1. Simplifying URLs and using SEO-friendly URLs for store pages.
2. Configuring page titles and meta descriptions for search engine optimization.
3. Generating an XML sitemap to inform search engines of the site structure.
Similar to Enable seo friendly url in websphere portal (20)
Understanding Cybersecurity Breaches: Causes, Consequences, and PreventionBert Blevins
Cybersecurity breaches are a growing threat in today’s interconnected digital landscape, affecting individuals, businesses, and governments alike. These breaches compromise sensitive information and erode trust in online services and systems. Understanding the causes, consequences, and prevention strategies of cybersecurity breaches is crucial to protect against these pervasive risks.
Cybersecurity breaches refer to unauthorized access, manipulation, or destruction of digital information or systems. They can occur through various means such as malware, phishing attacks, insider threats, and vulnerabilities in software or hardware. Once a breach happens, cybercriminals can exploit the compromised data for financial gain, espionage, or sabotage. Causes of breaches include software and hardware vulnerabilities, phishing attacks, insider threats, weak passwords, and a lack of security awareness.
The consequences of cybersecurity breaches are severe. Financial loss is a significant impact, as organizations face theft of funds, legal fees, and repair costs. Breaches also damage reputations, leading to a loss of trust among customers, partners, and stakeholders. Regulatory penalties are another consequence, with hefty fines imposed for non-compliance with data protection regulations. Intellectual property theft undermines innovation and competitiveness, while disruptions of critical services like healthcare and utilities impact public safety and well-being.
Profiling of Cafe Business in Talavera, Nueva Ecija: A Basis for Development ...IJAEMSJORNAL
This study aimed to profile the coffee shops in Talavera, Nueva Ecija, to develop a standardized checklist for aspiring entrepreneurs. The researchers surveyed 10 coffee shop owners in the municipality of Talavera. Through surveys, the researchers delved into the Owner's Demographic, Business details, Financial Requirements, and other requirements needed to consider starting up a coffee shop. Furthermore, through accurate analysis, the data obtained from the coffee shop owners are arranged to derive key insights. By analyzing this data, the study identifies best practices associated with start-up coffee shops’ profitability in Talavera. These findings were translated into a standardized checklist outlining essential procedures including the lists of equipment needed, financial requirements, and the Traditional and Social Media Marketing techniques. This standardized checklist served as a valuable tool for aspiring and existing coffee shop owners in Talavera, streamlining operations, ensuring consistency, and contributing to business success.
Response & Safe AI at Summer School of AI at IIITHIIIT Hyderabad
Talk covering Guardrails , Jailbreak, What is an alignment problem? RLHF, EU AI Act, Machine & Graph unlearning, Bias, Inconsistency, Probing, Interpretability, Bias
A brand new catalog for the 2024 edition of IWISS. We have enriched our product range and have more innovations in electrician tools, plumbing tools, wire rope tools and banding tools. Let's explore together!
In May 2024, globally renowned natural diamond crafting company Shree Ramkrishna Exports Pvt. Ltd. (SRK) became the first company in the world to achieve GNFZ’s final net zero certification for existing buildings, for its two two flagship crafting facilities SRK House and SRK Empire. Initially targeting 2030 to reach net zero, SRK joined forces with the Global Network for Zero (GNFZ) to accelerate its target to 2024 — a trailblazing achievement toward emissions elimination.
Exploring Deep Learning Models for Image Recognition: A Comparative Reviewsipij
Image recognition, which comes under Artificial Intelligence (AI) is a critical aspect of computer vision,
enabling computers or other computing devices to identify and categorize objects within images. Among
numerous fields of life, food processing is an important area, in which image processing plays a vital role,
both for producers and consumers. This study focuses on the binary classification of strawberries, where
images are sorted into one of two categories. We Utilized a dataset of strawberry images for this study; we
aim to determine the effectiveness of different models in identifying whether an image contains
strawberries. This research has practical applications in fields such as agriculture and quality control. We
compared various popular deep learning models, including MobileNetV2, Convolutional Neural Networks
(CNN), and DenseNet121, for binary classification of strawberry images. The accuracy achieved by
MobileNetV2 is 96.7%, CNN is 99.8%, and DenseNet121 is 93.6%. Through rigorous testing and analysis,
our results demonstrate that CNN outperforms the other models in this task. In the future, the deep
learning models can be evaluated on a richer and larger number of images (datasets) for better/improved
results.
Paharganj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Enable seo friendly url in websphere portal
1. Enable SEO URL in
WebSphere Portal
Michele Buccarello
2/4/2015
This document describe a way to implement friendly SEO URL in WebSphere Portal
2. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 1
Table of Contents
Abstract ............................................................................................................................................................. 2
REMOVING THE RICH STATE FROM PORTAL AND WCM CONTENT .................................................................. 2
Configuring portal for friendly url ................................................................................................................. 3
Enable base url in theme............................................................................................................................... 5
Edit the navigation jsp................................................................................................................................... 6
Create a java filter for WCM url .................................................................................................................... 7
Conclusion about rich state........................................................................................................................... 9
Remove the context url /wps/portal............................................................................................................... 10
Create an apache reverse proxy.................................................................................................................. 10
Enable modules ........................................................................................................................................... 10
Configure Apache as reverse proxy............................................................................................................. 10
How it works................................................................................................................................................ 11
Routing rules............................................................................................................................................ 11
Payload management.............................................................................................................................. 12
Rewrite rule explanation ......................................................................................................................... 12
Proxy Pass and mod_substitute .............................................................................................................. 13
CONCLUSION ................................................................................................................................................... 13
3. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 2
Abstract
In WebSphere Portal the concept around the URL are complex because are not simply URL but are RICH
URL. Portal URL are structured in this way:
Rich state is an xml that contain the portal state, this xml is gzipped and enconded with a modified base64
codec, the only way to decode the state in xml format is use the portal poc ( piece of content ) servlet. In
this presentation http://www.socialbizug.org/files/app#/file/443ae822-48ad-40d1-b106-8750f0e79447 you
could find all information about all concept around the WebSphere Portal URL, is important read this pdf to
understand what you lose if a customer want full friendly SEO url and not partial like normal Portal url.
What we do in this article?
We want display Portal url without context and rich state, in other words :
- From /wps/portal/home/shop/shoes/!ut/p/104_05dsffds90..
- To /home/shop/shoes
What are the assumption we need to archive this goal?
1) Portal Page doesn’t have portlets that made a post to the same page or other page.
2) Portlet wiring attach rich state, don’t use it!
3) WCM url are cleaned with a WCM url filter, without it all WCM url have rich state.
REMOVING THE RICH STATE FROM PORTAL AND WCM CONTENT
In this step we configure portal to remove the rich state from Portal and WCM content. The basics of this
operations are described in this wikis document:
- http://www-01.ibm.com/support/knowledgecenter/SSHRKX_8.5.0/mp/admin-
system/mp_friendly_short_url.dita?lang=en
- http://www-
10.lotus.com/ldd/portalwiki.nsf/xpDocViewer.xsp?lookupName=IBM+Web+Content+Manager+8+P
roduct+Documentation#action=openDocument&res_title=Example_2_Generate_a_friendly_URL_f
or_web_content_wcm8&content=pdcontent
4. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 3
- http://www-
10.lotus.com/ldd/portalwiki.nsf/dx/Implementing_a_clean_URL_in_IBM_WebSphere_Portal_8-
based_WCM_rendering
Configuring portal for friendly url
In the administrative console under resource environment provider click on WP ConfigService
Click on custom properties
5. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 4
Click on button new…
Add the property into the was
6. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 5
Click save
Enable base url in theme
In the Portal theme definition add the property
<parameter name="com.ibm.portal.theme.hasBaseURL" type="string" update="set">true</parameter>
add in the xmlaccess register script this parameter
If you’re theme is already registered retrieve the unique name and run the xml access below
<?xml version="1.0" encoding="UTF-8"?>
<request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="PortalConfig_8.5.0.xsd" type="update">
<portal action="locate">
<theme action="update" uniquename="com.ibm.portal.custom.theme.theme85" >
<parameter name="com.ibm.portal.theme.hasBaseURL" type="string" update="set">true</parameter>
</theme>
</portal>
</request>
7. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 6
Edit the navigation jsp
In the navigation.jsp add keepNavigationalState="false" in the portal navigation tags, this particular
property remove the rich state from the portal navigation URL.
Search this string:
- <a href="?uri=nm:oid:${nodeID}"
Replace with this:
- <portal-navigation:urlGeneration contentNode="${nodeID}" keepNavigationalState="false"
allowRelativeURL="true">
<a href="<%wpsURL.write(out);%>"
See the image below.
8. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 7
After the replaced string search the first “</a>” and replace it with </a></portal-navigation:urlGeneration>,
see the image below.
Create a java filter for WCM url
Create new dynamic project with the same projectname and ear name like the image below.
9. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 8
In src package create a package named:
- com.ibm.workplace.wcm.api.rewrite
create into it two java class:
- FriendlyUrlGenerationFilter.java
- FriendlyUrlGenerationFilterFactory.java
The functional sample content is located in this links:
- http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Example_2_Filter_class_wcm8
- http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Example_2_Filter_factory_class_wcm8
Under the webcontent WEB-INF create the plugin.xml and write the information below:
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="com.ibm.workplace.wcm.api.rewrite.plugin" name="URL generation filter"
version="1.0.0" provider-name="IBM">
<extension
point="com.ibm.workplace.wcm.api.ContentUrlGenerationFilter"
id="UrlGenerationFilter">
<factory
class="com.ibm.workplace.wcm.api.rewrite.FriendlyUrlGenerationFilterFactory"
weight="4"/>
</extension>
</plugin>
The structure must be like the image below.
At this point you could install the ear in portal and set the startup behavior to a number upper than WCM
ear startup number (normally 21 is a right number). We need to do this change to ensure the connections
between WCM and the filter extension point.
10. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 9
Conclusion about rich state
With this four step after e Portal restart we successful remove the rich state from all page that use the
theme with the customized navigation jsp and from all WCM contents.
11. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 10
Remove the context url /wps/portal
Websphere Portal for security reason have two area, one for anonymous users and one for authenticated
users:
- /wps/portal anonymous
- /wps/myportal authenticated
We remove the context root only for anonymous user to prevent security related problems.
Create an apache reverse proxy
To create an apache reverse proxy we a lot of way, personally I prefer opensuse because have a built in
apache with a structured folders, in this guide http://en.opensuse.org/SDB:Apache_installation you could
find all information about apache installation. After a successful installation we need to create a virtualhost
as documented in the guide.
Enable modules
Apache 2.2 has a lot of built-in modules, opensuse by default don’t enable it when you do the first
installation, to enable it you need to edit the file /etc/sysconfig/apache2 , inside it there is a variabile
called APACHE_MODULES append to the end of this variabile this modules:
- rewrite http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
- proxy http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
- proxy_http http://httpd.apache.org/docs/2.2/mod/mod_proxy_http.html
- substitute http://httpd.apache.org/docs/2.2/mod/mod_substitute.html
This modules are required to configure apache to act as a reverse proxy and manipulate http requests and
payload. In the apache foundation site you could find all information for every modules.
Configure Apache as reverse proxy
Below the piece of configuration you need to configure routing and payload manipulation to the
WebSphere Portal Installation request and response.
# used for mantain old link in external forum and site and with a 301 redirect
RewriteRule ^/holidays/old-link?$ /holidays/new-link [L,R=301]
# this rewrite rule with proxy transparent use a regulare expresion to manage all context root different
to the main route /wps/portal
# the /wps escape all route to the servlets poc mypoc contenthandler mycontenthandler and all portlets
# customThemeStatic and customThemeDynamic are the context root to my custom theme
12. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 11
RewriteCond %{REQUEST_URI} !/(wps/|customThemeStatic/|customThemeDynamic/)
RewriteRule ^(.*)$ /wps/portal$1 [L,PT]
#this rewrite masquerade the landing page and remove the path to it
RewriteCond %{HTTP_HOST} ^www.example.it
RewriteCond %{REQUEST_URI} ^(/)?$
RewriteRule ^(/)?$ /wps/portal/home [PT,NC]
ProxyPass / http://www.example.it/
<Location / >
ProxyPassReverse http://www.example.it/
#this output filter simly parse the HTTP payload and remove /wps/portal from it, finally add /wps/portal
only to the html tag base url
#this is required to the portal javascript framework
AddOutputFilterByType SUBSTITUTE text/html
# remove /wps/portal from the payload
Substitute "s|/wps/portal||nfq"
# add to the base url tag /wps/portal to prevent issue with the portal javascript framework
Substitute "s|www.example.it|www.example.it/wps/portal|nfq"
</Location>
How it works
In this area we explain how the solution it works.
Routing rules
To archive this result we divide all uri in two groups:
- All uri different from “/wps/portal”
- All uri that match “/wps/portal”
In the first group there are:
- all common servlet like poc (/wps/poc) , mypoc (/wps/mypoc) , contenthandler
(/wps/contenthandler), mycontenthandler (/wps/mycontenthandler)
- all authenticated portal uri (/wps/mycontenthandler)
- all portlets (/wps/PA_* )
- all predeployed portlet (/custom_context_root)
- all filters, OSGI plugin and so on (/custom_context_root)
13. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 12
In the second group we identify all uri that must be routed to /wps/portal. To identify this uri we must use
a negative approach because with the mod_substitute we remove /wps/portal from the payload.
With these assumptions we made all rewrite rule to setup the right routing.
Payload management
There are two possibile way to manage the payload:
- Application server side with a servlet filter
- HTTP Server side with HTTP Filter module
We choose the second way because:
- From apache 2.2 we have a built solution that provide an in memory payload rewrite with the
mod_substitute.
- Performance scalability, it is quite simple to install more HTTP server than install more WebSphere
Portal installation.
- A servlet filter interact with all HTTP request and response, portal have a set of built-in servlet
filter, this means you must understand how to manage the servlet filter chain.
- With a simple regular expression we could manage all routing request directly from the HTTP
Server.
Rewrite rule explanation
This rewrite url match with a negative condition all http request that must be routed to /wps/portal
RewriteCond %{REQUEST_URI} !/(wps/|customThemeStatic/|customThemeDynamic/)
RewriteRule ^(.*)$ /wps/portal$1 [L,PT]
This rewrite rule masquerade the homepage url
RewriteCond %{HTTP_HOST} ^www.example.it
RewriteCond %{REQUEST_URI} ^(/)?$
RewriteRule ^(/)?$ /wps/portal/home [PT,NC]
14. Enable SEO URL in WebSphere Portal
Websphere Portal SEO Friendly URL
Author:Michele Buccarello Page 13
Proxy Pass and mod_substitute
All HTTP request skipped in the first rewrite rule are routed with the proxy pass directive
ProxyPass / http://www.example.it/
All response are manage inside the <location /> tag, inside this you could see the substitute that rewrite
the payload.
<Location / >
ProxyPassReverse http://www.example.it/
AddOutputFilterByType SUBSTITUTE text/html
Substitute "s|/wps/portal||nfq"
Substitute "s|www.example.it|www.example.it/wps/portal|nfq"
</Location>
CONCLUSION
In this article you have a way and set of rules to implement SEO url in portal, but remember what we say in
the abstract, the /wps/portal don’t affect the SEO ranking of the site.