SlideShare a Scribd company logo
1 of 53
Download to read offline
LIFERAY DEVELOPER CONFERENCE
Using the Recycle Bin in
your applications
Giving a second chance to your content
Julio Camarero @juliocamarero
Sergio González @sgonzalezortiz
#LRDevCon2013
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Adding Recycle
Bin to your app
30 min
millions of users
easy
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
* Entities (service builder)
* Assets (helps)
* Indexed Entities
(see later talk)
* Workflow (helps)
Prerequisites
https://github.com/juliocamarero/jukebox
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Moving entries to the
Recycle Bin
Step 1
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Set trash-enabled=true in Service Builder
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Set trash-enabled=true in Service Builder
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Set trash-enabled=true in Service Builder
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Implement TrashHandlers
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
and define it in liferay-portlet.xml
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Service methods moveSongToTrash()
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Service methods moveSongToTrash()
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Service methods moveSongToTrash()
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
... called from Action (MVC Portlet)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
... called from Action (MVC Portlet)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
... called from Action (MVC Portlet)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
... called from Action (MVC Portlet)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
... Used from the UI
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
trashRenderer
Implement your own and define it in in liferay-portlet.xml
OR
Reuse AssetRenderer
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Restoring entries
from the Recycle Bin
Step 2
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Restore from trash
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Restore from trash
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Restore from trash
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Restore from trash
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Restore from trash
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Restore from trash
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Apply to trashHandler
Implement restoreTrashEntry method by calling to the new
service method
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Upss.... (undo)
Step 3
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
... the code to restore the song...
the code to display the taglib...
demo
the code to display the taglib...
demo
the code to display the taglib...
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Moving/restoring
albums to the
Recycle Bin
Step 4
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Container-model=true in Service Builder
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Container-model=true in Service Builder
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Container-model=true in Service Builder
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Special care with containers
Methods moveDependentsToTrash and
restoreDependentsFromTrash
1. Update status of the song
2. Add trashVersion entity (instead of trashEntry)
3. Update asset visibility
4. Reindex the new entity
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Resolving conflicts
Step 5
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
1. Rename on removal (TrashUtil.getTrashTitle)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
1. Rename on removal (TrashUtil.getTrashTitle)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
1. Rename on removal (TrashUtil.getTrashTitle)
2. Restore name on restoral (TrashUtil.getOriginalTitle)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
1. Rename on removal (TrashUtil.getTrashTitle)
2. Restore name on restoral (TrashUtil.getOriginalTitle)
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
1. Rename on removal (TrashUtil.getTrashTitle)
2. Restore name on restoral (TrashUtil.getOriginalTitle)
3. Put the name logic on the trashRenderer
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
1. Rename on removal (TrashUtil.getTrashTitle)
2. Restore name on restoral (TrashUtil.getOriginalTitle)
3. Put the name logic on the trashRenderer
4. Implement 2 methods in the trashHandler:
checkDuplicateTrashEntry / updateTitle
demo
LIFERAY DEVELOPER CONFERENCE 2013DEV
CON
LIFERAY
Thank you!
@juliocamarero
@sergiogonzalez
julio.camarero@liferay.com
sergio.gonzalez@liferay.com
if you liked it, vote in the app :)

More Related Content

Similar to Using the Recycle Bin Framework in Liferay 6.2

TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...
TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...
TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...tdc-globalcode
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesAdrian Cockcroft
 
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...apidays LIVE Australia 2020 - Federating API Development at Australia’s large...
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...apidays
 
Fast Delivery DevOps Israel
Fast Delivery DevOps IsraelFast Delivery DevOps Israel
Fast Delivery DevOps IsraelAdrian Cockcroft
 
MySQL Developer Day conference: MySQL Replication and Scalability
MySQL Developer Day conference: MySQL Replication and ScalabilityMySQL Developer Day conference: MySQL Replication and Scalability
MySQL Developer Day conference: MySQL Replication and ScalabilityShivji Kumar Jha
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Henning Jacobs
 
Delta-Experience-Center_Review_space
Delta-Experience-Center_Review_spaceDelta-Experience-Center_Review_space
Delta-Experience-Center_Review_spaceChris Schowalter
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Bram Adams
 
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in ActionBill Scott
 
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...apidays
 
10 Steps to Cloud Happiness
10 Steps to Cloud Happiness10 Steps to Cloud Happiness
10 Steps to Cloud HappinessAll Things Open
 
La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)
La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)
La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)Data Driven Innovation
 
Sadeem cloud native السحابة الطبيعية
Sadeem cloud native السحابة الطبيعيةSadeem cloud native السحابة الطبيعية
Sadeem cloud native السحابة الطبيعيةTaher Boujrida
 
Envisioning Labs Executive Summary 2020
Envisioning Labs Executive Summary 2020Envisioning Labs Executive Summary 2020
Envisioning Labs Executive Summary 2020Envisioning Labs
 
11 Free ServiceNow Resources
11 Free ServiceNow Resources11 Free ServiceNow Resources
11 Free ServiceNow ResourcesStave
 
gRPC:更高效的微服務介面
gRPC:更高效的微服務介面gRPC:更高效的微服務介面
gRPC:更高效的微服務介面William Yeh
 
Guide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete DeckGuide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete DeckSlideTeam
 
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへSocial coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへRyunosuke SATO
 
CICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker HubCICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker HubCarlos Cavero Barca
 
Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!Rico Lin
 

Similar to Using the Recycle Bin Framework in Liferay 6.2 (20)

TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...
TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...
TDC2016POA | Trilha UX Design - Teste de usabilidade na Sprint; Entrega contí...
 
Dockercon State of the Art in Microservices
Dockercon State of the Art in MicroservicesDockercon State of the Art in Microservices
Dockercon State of the Art in Microservices
 
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...apidays LIVE Australia 2020 - Federating API Development at Australia’s large...
apidays LIVE Australia 2020 - Federating API Development at Australia’s large...
 
Fast Delivery DevOps Israel
Fast Delivery DevOps IsraelFast Delivery DevOps Israel
Fast Delivery DevOps Israel
 
MySQL Developer Day conference: MySQL Replication and Scalability
MySQL Developer Day conference: MySQL Replication and ScalabilityMySQL Developer Day conference: MySQL Replication and Scalability
MySQL Developer Day conference: MySQL Replication and Scalability
 
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
Why we don’t use the Term DevOps: the Journey to a Product Mindset - Destinat...
 
Delta-Experience-Center_Review_space
Delta-Experience-Center_Review_spaceDelta-Experience-Center_Review_space
Delta-Experience-Center_Review_space
 
Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!Modern Release Engineering in a Nutshell - Why Researchers should Care!
Modern Release Engineering in a Nutshell - Why Researchers should Care!
 
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
6 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
 
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...APIdays Paris 2019 - Maintain & Evolve a Public  GraphQL API by Aurélien Davi...
APIdays Paris 2019 - Maintain & Evolve a Public GraphQL API by Aurélien Davi...
 
10 Steps to Cloud Happiness
10 Steps to Cloud Happiness10 Steps to Cloud Happiness
10 Steps to Cloud Happiness
 
La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)
La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)
La Fabbrica Intelligente (Antimo Musone, EY - Matteo Valoriani, Fifth Ingenium)
 
Sadeem cloud native السحابة الطبيعية
Sadeem cloud native السحابة الطبيعيةSadeem cloud native السحابة الطبيعية
Sadeem cloud native السحابة الطبيعية
 
Envisioning Labs Executive Summary 2020
Envisioning Labs Executive Summary 2020Envisioning Labs Executive Summary 2020
Envisioning Labs Executive Summary 2020
 
11 Free ServiceNow Resources
11 Free ServiceNow Resources11 Free ServiceNow Resources
11 Free ServiceNow Resources
 
gRPC:更高效的微服務介面
gRPC:更高效的微服務介面gRPC:更高效的微服務介面
gRPC:更高效的微服務介面
 
Guide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete DeckGuide To Continuous Deployment Containerization With Docker Complete Deck
Guide To Continuous Deployment Containerization With Docker Complete Deck
 
Social coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへSocial coding をもっと楽しみたいあなたへ
Social coding をもっと楽しみたいあなたへ
 
CICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker HubCICD With GitHub, Travis, SonarCloud and Docker Hub
CICD With GitHub, Travis, SonarCloud and Docker Hub
 
Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!Embrace Community! Embrace a better life!
Embrace Community! Embrace a better life!
 

More from Julio Camarero

Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0Julio Camarero
 
Reaching the right audience
Reaching the right audienceReaching the right audience
Reaching the right audienceJulio Camarero
 
How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)Julio Camarero
 
Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2Julio Camarero
 
Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2Julio Camarero
 
Optimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móvilesOptimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móvilesJulio Camarero
 
Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2Julio Camarero
 
Liferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidadLiferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidadJulio Camarero
 
Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2Julio Camarero
 
Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Julio Camarero
 
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1Julio Camarero
 
Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1Julio Camarero
 
Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1Julio Camarero
 
What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?Julio Camarero
 
Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Julio Camarero
 
Implementing Acessibility in Liferay 6.1
Implementing Acessibility in Liferay 6.1Implementing Acessibility in Liferay 6.1
Implementing Acessibility in Liferay 6.1Julio Camarero
 

More from Julio Camarero (17)

Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0Make the most of Audience Targeting 2.0
Make the most of Audience Targeting 2.0
 
Reaching the right audience
Reaching the right audienceReaching the right audience
Reaching the right audience
 
How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)How to Extend Audience Targeting (Liferay 6.2)
How to Extend Audience Targeting (Liferay 6.2)
 
Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2Leverage OSGI to create Extensible plugins for Liferay 6.2
Leverage OSGI to create Extensible plugins for Liferay 6.2
 
Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2Introducing Audience Targeting for Liferay 6.2
Introducing Audience Targeting for Liferay 6.2
 
Optimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móvilesOptimizando Liferay 6.2 para dispositivos móviles
Optimizando Liferay 6.2 para dispositivos móviles
 
Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2Taking Staging to a whole new level in Liferay 6.2
Taking Staging to a whole new level in Liferay 6.2
 
Liferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidadLiferay 6.2 y la norme UNE de accesibilidad
Liferay 6.2 y la norme UNE de accesibilidad
 
Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2Facebook Integration with Liferay 6.2
Facebook Integration with Liferay 6.2
 
Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1Desarrollo de temas de apariencia para Liferay 6.1
Desarrollo de temas de apariencia para Liferay 6.1
 
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
Gestión eficiente de Múltiples sitios web sobre Liferay 6.1
 
Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1Cómo construir portales para móviles y tables con Liferay 6.1
Cómo construir portales para móviles y tables con Liferay 6.1
 
Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1Cómo hacer portales accesibles sobre Liferay 6.1
Cómo hacer portales accesibles sobre Liferay 6.1
 
What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?What's coming in WCM for Liferay 6.2?
What's coming in WCM for Liferay 6.2?
 
Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!Liferay 6.1 Roadmap - What's next!
Liferay 6.1 Roadmap - What's next!
 
Implementing Acessibility in Liferay 6.1
Implementing Acessibility in Liferay 6.1Implementing Acessibility in Liferay 6.1
Implementing Acessibility in Liferay 6.1
 
Disasters2.0
Disasters2.0Disasters2.0
Disasters2.0
 

Recently uploaded

WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 

Recently uploaded (20)

WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 

Using the Recycle Bin Framework in Liferay 6.2