SlideShare a Scribd company logo
1 of 153
Download to read offline
Nate Aune (@natea)
www.jazkarta.com
Plone Conference 2010
Deliverance
a compelling way to Plone sites
1
Obstacles
Plone theming has a
high barrier to entry
2
jazkarta
Theming in Plone
an exercise in patience
• Install dependencies (Python, XCode, GCC)
• Create a theme egg using paster
• Put your stylesheets and images in /browser
• But override Plone assets in /skins
• To turn off viewlets, must edit configure.zcml
• To make new viewlets must code Python
• Must learn ZPT to edit page templates
3
jazkarta
Knowledge needed
• Buildout
• Paster
• Zope page templates (ZPT)
• Python
• ZCML
• resource registry (for CSS and JS)
• /skins vs. /browser
4
jazkarta
Does your head hurt yet?
5
jazkarta
What is Deliverance?
• Middleware tool that serves as a proxy
• Maps content HTML into design HTML
• Keeps presentation separate from content
6
Are you a f’ender
or a b’ender?
7
jazkarta
Who is it for?
8
jazkarta
Who is it for?
• Designers
8
jazkarta
Who is it for?
• Designers
• Integrators
8
jazkarta
Who is it for?
• Designers
• Integrators
• Developers
8
jazkarta
Who is it for?
• Designers
• Integrators
• Developers
• Customers
8
The current
compromise
People that
have design skills
People that have
coding skills
People competent at both
9
The Deliverance Way
People that know CSS
Web Designers
Web
Developers
10
jazkarta
How does it work?
11
jazkarta
How does it work?
move elements from your content
11
jazkarta
How does it work?
move elements from your content
11
jazkarta
How does it work?
move elements from your content
into placeholders in your theme
11
jazkarta
How does it work?
move elements from your content
into placeholders in your theme
11
jazkarta
How does it work?
move elements from your content
into placeholders in your theme
... without touching the theme or content
11
jazkarta
How does it work?
move elements from your content
into placeholders in your theme
... without touching the theme or content
11
jazkarta
Python
is
magical
http://xkcd.com/353/
12
jazkarta
13
jazkarta
Deliverance
13
jazkarta
Knowledge needed
• HTML
• CSS
• Firebug
• simple editing of XML file
14
jazkarta
Four simple rules
• drop
• replace
• prepend
• append
15
jazkarta
Deliverance benefits
• web designer doesn't need to learn CMS templating
• separation of concerns
• theme multiple apps with one design
(trac, wiki, blog, etc.)
16
jazkarta
Who is using Deliverance?
17
jazkarta
Who is using Deliverance?
• Harvard School of Engineering
17
jazkarta
Who is using Deliverance?
• Harvard School of Engineering
• City of Albuquerque
17
jazkarta
Who is using Deliverance?
• Harvard School of Engineering
• City of Albuquerque
• HaiVision.com
17
jazkarta
Who is using Deliverance?
• Harvard School of Engineering
• City of Albuquerque
• HaiVision.com
• ploneconf2009.org (get the buildout!)
17
jazkarta
Who is using Deliverance?
• Harvard School of Engineering
• City of Albuquerque
• HaiVision.com
• ploneconf2009.org (get the buildout!)
• and many others...
17
Case study
A real world example of using Deliverance
18
jazkarta
19
jazkarta
20
jazkarta
21
jazkarta
22
jazkarta
HaiVision
"Replace our custom backend with Plone CMS."
22
jazkarta
HaiVision
"Replace our custom backend with Plone CMS."
"Sure, we can do that."
Jazkarta
22
jazkarta
HaiVision
"Replace our custom backend with Plone CMS."
"Sure, we can do that."
Jazkarta
"Keep the frontend design the same."
HaiVision
22
jazkarta
HaiVision
"Replace our custom backend with Plone CMS."
"Sure, we can do that."
Jazkarta
"Keep the frontend design the same."
HaiVision
"No problem."
Jazkarta
22
jazkarta
HaiVision
"Replace our custom backend with Plone CMS."
"Sure, we can do that."
Jazkarta
"Keep the frontend design the same."
HaiVision
"No problem."
Jazkarta
"We're going to change the design soon, and
we want to be able to change the HTML/CSS
ourselves."
HaiVision
22
jazkarta
HaiVision
"Replace our custom backend with Plone CMS."
"Sure, we can do that."
Jazkarta
"Keep the frontend design the same."
HaiVision
"No problem."
Jazkarta
"We're going to change the design soon, and
we want to be able to change the HTML/CSS
ourselves."
HaiVision
"Umm. Ok, you will be able to do that."
Jazkarta
22
Customers
change their
mind about
their identity
all the time.
Don't make it painful than
it already is for them.
23
Jazkarta
"Oh, and we need this done
in two weeks."
HaiVision
24
Jazkarta
"Oh, and we need this done
in two weeks."
HaiVision
"WTF!?"
24
Deliverance
to the rescue!
DELIVERANCE
25
jazkarta
Why Deliverance?
• They have three different sections of the
site, each needing to be themed differently.
• They want to change the design, but their
staff only knows HTML/CSS.
• They might want to theme another web
app to have the same look-n-feel as their
website.
• Oh, and they want this done ASAP.
26
jazkarta
Why not a Plone theme?
• Significant man hours to make a pixel perfect Plone
theme
• Difficult to apply a different theme for different
sections of the site
• The customer should not have to learn Plone
theming technology to make design changes.
• One less piece of software that we have to maintain
• Difficult to upgrade to newer versions of Plone
when there are many theme customizations
27
jazkarta
Seven Steps to Heaven
28
jazkarta
Seven Steps to Heaven
1. Check out and run the Deliverance demo buildout
28
jazkarta
Seven Steps to Heaven
1. Check out and run the Deliverance demo buildout
2. Prepare your HTML/CSS files (might need to do
some cleanup)
28
jazkarta
Seven Steps to Heaven
1. Check out and run the Deliverance demo buildout
2. Prepare your HTML/CSS files (might need to do
some cleanup)
3. Stick the files in a /static folder in buildout dir
28
jazkarta
29
jazkarta
4. Identify the CSS selectors of the elements in the
Plone site that we wish to map to the static
theme.
29
jazkarta
4. Identify the CSS selectors of the elements in the
Plone site that we wish to map to the static
theme.
5. Identify the CSS selectors in the static theme that
should serve as placeholders for the dynamic
content coming from Plone.
29
jazkarta
4. Identify the CSS selectors of the elements in the
Plone site that we wish to map to the static
theme.
5. Identify the CSS selectors in the static theme that
should serve as placeholders for the dynamic
content coming from Plone.
6. Create a rules file that maps Plone content
elements to placeholder elements in the theme
29
jazkarta
4. Identify the CSS selectors of the elements in the
Plone site that we wish to map to the static
theme.
5. Identify the CSS selectors in the static theme that
should serve as placeholders for the dynamic
content coming from Plone.
6. Create a rules file that maps Plone content
elements to placeholder elements in the theme
7. Set up an Apache vhost to proxy to Deliverance
29
jazkarta
Start your engines!
30
jazkarta
1. Check out and run
the demo buildout
svn co http://svn.plone.org/svn/collective/deliverancedemo/trunk/ dd
cd dd
python bootstrap.py
bin/buildout -v
Run the bootstrap command and run the buildout
This will install Deliverance and it's dependencies (lxml)
and install a Plone site at /Plone
31
jazkarta
2. Prepare your HTML/CSS
• An HTML/CSS template that you downloaded
from somewhere
• Design assets that were given to you by a
customer, design agency or your designer
• A design from an existing website
32
jazkarta
33
jazkarta
3. Stick them in a /static
dir in your buildout
34
jazkarta
3. Stick them in a /static
dir in your buildout
34
jazkarta
4. Identify elements in
Plone to map to design
• Firebug is your friend (www.getfirebug.com)
• Click on elements to get their class or id
• Can also get XPath expression by right-
clicking on element
35
jazkarta
36
jazkarta
36
jazkarta
5. Identify the corresponding
element in the theme
• You may need to add a class or ID to better
identify the element.
• You can use an absolute path to the element in
the DOM, but if the element gets moved, the
mapping rule will not work anymore.
• So it's best to always use a class or ID to avoid
breakage.
37
jazkarta
38
jazkarta
38
jazkarta
rules-training.xml
<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<server-settings>
<server>0.0.0.0:5000</server>
<execute-pyref>true</execute-pyref>
<dev-allow>127.0.0.1</dev-allow>
<dev-user username="guest" password="guest" />
</server-settings>
<proxy path="/static" class="static" editable="1">
<dest href="{here}/static/" />
</proxy>
<proxy path="/" class="plone">
<dest href="http://localhost:8080/VirtualHostBase/http/
localhost:5000/Plone/VirtualHostRoot/" />
</proxy>
<rule class="static" />
39
jazkarta
rules-training.xml
Open the rules-training.xml file
in the buildout directory.
<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<server-settings>
<server>0.0.0.0:5000</server>
<execute-pyref>true</execute-pyref>
<dev-allow>127.0.0.1</dev-allow>
<dev-user username="guest" password="guest" />
</server-settings>
<proxy path="/static" class="static" editable="1">
<dest href="{here}/static/" />
</proxy>
<proxy path="/" class="plone">
<dest href="http://localhost:8080/VirtualHostBase/http/
localhost:5000/Plone/VirtualHostRoot/" />
</proxy>
<rule class="static" />
39
jazkarta
The "plone" rule class
<rule class="plone">
<!-- Theme -->
<theme href="/static/index.html" />
<!-- Put your rules below this line -->
</rule>
</ruleset>
40
jazkarta
Replace rule
for page heading
<replace content='children:_______________________'
theme='children:_________________' />
41
jazkarta
Replace rule
for page heading
<replace content='children:h1.documentFirstHeading'
theme='children:_________________' />
42
jazkarta
Replace rule
for page heading
<replace content='children:h1.documentFirstHeading'
theme='children:span.sectionTitle' />
43
jazkarta
6. Insert our rule into the
rules-training.xml file
<rule class="plone">
<!-- Theme -->
<theme href="/static/index.html" />
<!-- Put your rules below this line -->
<replace content='children:h1.documentFirstHeading'
theme='children:span.sectionTitle' />
</rule>
</ruleset>
44
jazkarta
Let's start up Zope and
the Deliverance proxy
$ cd dd
$ bin/instance start
. . daemon process started, pid=3556
$ bin/deliverance-proxy rules-training.xml
To see logging, visit http://127.0.0.1:5000/.deliverance/login
after login go to http://127.0.0.1:5000/?deliv_log
serving on http://127.0.0.1:5000
45
Go to
http://localhost:5000
... to see the Plone site themed with Deliverance
46
47
47
jazkarta
48
jazkarta
48
Replace navigation tree
49
Replace navigation tree
<drop content='.portletNavigationTree dt.portletHeader' />
49
Replace navigation tree
<drop content='.portletNavigationTree dt.portletHeader' />
<drop content='li.navTreeItem img' />
49
Replace navigation tree
<drop content='.portletNavigationTree dt.portletHeader' />
<drop content='li.navTreeItem img' />
49
Replace navigation tree
<drop content='.portletNavigationTree dt.portletHeader' />
<drop content='li.navTreeItem img' />
<replace content="dl.portletNavigationTree"
49
Replace navigation tree
<drop content='.portletNavigationTree dt.portletHeader' />
<drop content='li.navTreeItem img' />
<replace content="dl.portletNavigationTree"
theme="children:#left-navigation" />
49
Replace navigation tree
<drop content='.portletNavigationTree dt.portletHeader' />
<drop content='li.navTreeItem img' />
<replace content="dl.portletNavigationTree"
theme="children:#left-navigation" />
Must place drop rules before replace rule.
49
How do you theme the
sections differently?
50
jazkarta
haivision.com/products
51
jazkarta
Apply page class by path
<match path="/" class="default" />
<match path="/applications" class="applications" />
<match path="exact:/" class="frontpage" />
52
jazkarta
haivision.com/applications
53
jazkarta
haivision.com/applications
53
jazkarta
Repurpose static portlet
54
jazkarta
Repurpose static portlet
54
jazkarta
Repurpose static portlet
54
jazkarta
Each page class can have
a separate theme & rules
55
jazkarta
Each page class can have
a separate theme & rules
<rule class="applications" suppress-standard="1">
<theme href="/static/applications.html" />
<replace content='children:p.documentDescription'
theme='children:span.SectionSubtitle' />
<replace content='children:#portal-column-two'
theme='children:#right-column' />
</rule>
55
jazkarta
frontpage: haivision.com/
56
jazkarta
frontpage: haivision.com/
56
jazkarta
Repurpose the news portlet
57
jazkarta
Repurpose the news portlet
57
jazkarta
Repurpose the news portlet
57
jazkarta
Frontpage has it's own
theme and rules
<rule class="frontpage">
<theme href="/static/frontpage.html"/>
<drop content=".portletNews dt.portletHeader" />
<drop content='.portletNews dd.portletFooter' />
<drop content='.portletNews dd.portletItem img' />
<replace content='dl.portletNews'
theme='children:#newsbox' />
</rule>
58
jazkarta
Serve up different web apps
59
jazkarta
Serve up different web apps
<proxy path="/trac" class="trac">
<dest href="http://localhost:10002" />
</proxy>
<proxy path="/blog" class="blog">
<dest href="http://localhost:10003" />
</proxy>
<proxy path="/" class="plone">
<transform rewrite-links="1" keep-host="1" />
<dest href="http://localhost:8081/VirtualHostBase/http/
{HOST}/sites/haivision-manage/VirtualHostRoot/" />
</proxy>
59
jazkarta
How do I deploy Deliverance
into production?
• Run as a proxy on port 5000.Apache or
Nginx proxies to port 5000.
• two separate python processes
• Run as WSGI middleware.
• only one python process running
60
jazkarta
Where does Deliverance
sit in the stack?
Name
Title
Deliverance
Apache
61
jazkarta
Where does Deliverance
sit in the stack?
Name
Title
Deliverance
Apache
61
jazkarta
7. Make the Apache vhost
<VirtualHost *:80>
ServerName www.haivision.com
ProxyPreserveHost On
RewriteEngine On
RewriteRule ^/(.*) http://127.0.0.1:5000/$1 [L,P]
</VirtualHost>
The ProxyPreserveHost is very important.
62
Tips and Tricks
From the many Plone sites
we’ve themed with Deliverance
63
jazkarta
Append the id/class
attributes from the body tag
<append content="attributes(id,class):/html/body"
theme="attributes:/html/body" />
Here is an example from the Haivision site:
<body class=”section-products template-document-view”>
64
jazkarta
Drop the right column on
pages with a particular
template
<drop if-content=".searchPage ||
.template-login_form ||
body.template-mail_password_form ||
.template-default_error_message"
theme=".col2" />
65
jazkarta
66
jazkarta
66
jazkarta
Embed HTML forms from
other sites into Plone
<match path="/donate/in-honor-of" class="honorform" />
<match path="/donate/in-memory-of" class="memoryform" />
<match path="/donate/personal" class="personalform" />
Rule class for honor form.
<rule class="honorform">
<theme href="/static/subpage.html" />
<prepend href='/static/forms/honor.html'
content="#honorform"
theme=".documentActions" />
</rule>
67
jazkarta
Embed Constant Contact
subscribe form
68
jazkarta
Embed Constant Contact
subscribe form
68
jazkarta
Embed Constant Contact
subscribe form
constant-contact.html
<div id="constant-contact">
<form ...>
...
</form>
</div>
68
jazkarta
Embed Constant Contact
subscribe form
<append href="/static/forms/constant-contact.html"
content="#constant-contact"
theme="children:#leftboxgreen" />
constant-contact.html
<div id="constant-contact">
<form ...>
...
</form>
</div>
68
jazkarta
Place the portlets in order
<replace content="children:/html/body/div/table/tbody/tr/td/div/div[1]/dl/dd"
theme="children:#leftboxpink" />
<replace content="/html/body/div/table/tbody/tr/td/div/div[2]/dl"
theme="children:#leftboxpurple" />
<replace content="/html/body/div/table/tbody/tr/td/div/div[3]/dl"
theme="children:#leftboxgreen" />
We don’t know the name of the portlets, so we use XPath.
69
jazkarta
<div id="menu">
<ul id="MenuBar1" class="MenuBarHorizontal">
...
<li><a class="MenuBarItemSubmenu" href="#">News &amp; Events</a>
<ul>
<li><a href="#">Events </a></li>
<li><a href=”#”>Past Events</a></li>
<li><a href="#">In the News</a></li>
</ul>
</li>
...
</div>
menu.html
70
jazkarta
One replace rule to
embed the menubar
<replace href="/static/menubar.html"
content="children:#menu"
theme="children:#menu" />
71
jazkarta
Copy the edit bar
<prepend content='div.contentActions'
theme='#body-content' />
<prepend content='#content-views'
theme='#body-content' />
72
jazkarta
Make sure all the proper CSS
and Javascripts get imported
<prepend content="link[href *= 'authoring']"
theme="link[href *= 'style']" />
<append content="link[href *= 'public']"
theme="children:/html/head" />
<prepend content="/html/head/style"
theme="link[href *= 'style']" />
<append content="/html/head/script"
theme="children:/html/head" />
CSS files need their settings change from the default 'import'
to 'link' in order for the rules to work
73
jazkarta
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<title>Deco Grid System</title>
<link rel="stylesheet" href="css/decogrids-16.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="css/main.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="css/fixes.css" type="text/css" charset="utf-8" />
<script src="js/jquery.tools.min.js" />
<body>
<div id="wrapper">
<div id="header">
<div class="row">
<div class ="cell width-13 position-0" id="logo"><a href="/"><img src="images/logo.png"/></a></div>
<div class ="cell width-3 position-13" id="searchbox"><a id="contact" href="/contact">contact</a></div>
</div>
<div class="row" id="top-nav">
<div class ="cell width-15 position-0 navTabs">
<ul>
<a id="home-tab"href="/">Home</a>
<a id="services-tab" href="/services">Services</a>
<a id="clients-tab" href="/clients">Clients</a>
<a id="about-tab" href="/about">About</a>
<li><a id="blog-tab" href="http://blog.jazkarta.com">Blog</a></li>
</ul>
</div>
</div>
</div>
<div class="row">
<div class ="cell width-3 position-0" id="left-column">left column </div>
<div class ="cell width-10 position-3" id="body-content">about</div>
<div class ="cell width-3 position-13" id="right-column">right column</div>
</div>
<div class="row" id="footer">
</div>
</div>
</body>
</html>
74
jazkarta
Injects the Plone toolbar
75
jazkarta
PyQuery
for link in doc('#menu a'):
li = doc('<li></li>')
link.after(li)
link.remove()
li.append(link)
76
jazkarta
What about
performance?
• Deliverance respects caching headers
• Pages load fast because they don't have to
load all of Plone's assets
• Deliverance runs in small memory footprint
and takes hardly any server resources
77
jazkarta
Deliverance vs
XDV/Diazo
78
jazkarta
Deliverance vs
XDV/Diazo
• Both use CSS selectors or XPath
78
jazkarta
Deliverance vs
XDV/Diazo
• Both use CSS selectors or XPath
• Deliverance
78
jazkarta
Deliverance vs
XDV/Diazo
• Both use CSS selectors or XPath
• Deliverance
• <replace theme="#main" content="#portal-content > *" />
78
jazkarta
Deliverance vs
XDV/Diazo
• Both use CSS selectors or XPath
• Deliverance
• <replace theme="#main" content="#portal-content > *" />
• XDV
78
jazkarta
Deliverance vs
XDV/Diazo
• Both use CSS selectors or XPath
• Deliverance
• <replace theme="#main" content="#portal-content > *" />
• XDV
• <copy css:theme="#main" css:content="#portal-content > *" />
78
jazkarta
Deliverance vs
XDV/Diazo
• Both use CSS selectors or XPath
• Deliverance
• <replace theme="#main" content="#portal-content > *" />
• XDV
• <copy css:theme="#main" css:content="#portal-content > *" />
• Can combine multiple themes without Apache magic
78
jazkarta
Deliverance advantages
• Serves static resources directly from the file system.
No need to make a skin or serve from Apache.
• Deliverance has a very useful debugging console
• Deliverance lets you edit files (HTML, CSS,
rules.xml) through-the-web
79
Debugging console
80
Edit rules TTW
http://codespeak.net/svn/z3/deliverance/trunk/deliverance/editor/
81
jazkarta
Enable TTW editing
<server-settings>
<dev-allow>
127.0.0.1
24.218.111.149
98.216.49.27
209.104.75.94
</dev-allow>
<dev-user username="guest" password="guest" />
<edit-local-files>true</edit-local-files>
</server-settings>
82
Go to Laurence’s
XDV talk!
12:05 at Wessex on thursday
http://laplone.org/presentations/deliverance-vs-xdv-wpd2010.pdf
83
Future
• CSSZenGarden for Plone themes
• theme1.demo.plone.org
• theme2.demo.plone.org
• ...
Anyone want to sprint on this?
Combine with one-click demo Plone sites on EC2
84
Thanks to...
Paul Everitt
85
Thanks to...
Paul Everitt
85
Thanks to...
Paul Everitt Ian Bicking
85
Thanks to...
Paul Everitt Ian Bicking
85
Thanks to...
Paul Everitt Ian Bicking AaronVanDerlip
85
deliveranceproject.org
86
jazkarta
http://coactivate.org/projects/deliverance/
http://coactivate.org/projects/banjo/
http://svn.plone.org/svn/collective/ploneconf/buildout/ploneconf/trunk/
http://svn.plone.org/svn/collective/deliverancedemo/trunk
Sample Deliverance buildouts
http://deliverance.openplans.org
http://plone.org/docu
Deliverance documentation and tutorial
Project pages
87
jazkarta
Photo credits
• http://www.flickr.com/photos/sir_mervs/2697096089/
• http://www.flickr.com/photos/foxypar4/1004464889
• http://www.flickr.com/photos/pamilne/2271490945
• http://www.flickr.com/photos/motleye/1459699804
• http://www.flickr.com/photos/kaptainkobold/351967847
• http://www.flickr.com/photos/aldoaldoz/2332755401
• http://xkcd.com/353/
88

More Related Content

What's hot

TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單偉格 高
 
JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyPaul Hunt
 
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect ModelComprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect ModelvodQA
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyDenise Jacobs
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS TroubleshootingDenise Jacobs
 
CSS3 - is everything we used to do wrong?
CSS3 - is everything we used to do wrong? CSS3 - is everything we used to do wrong?
CSS3 - is everything we used to do wrong? Russ Weakley
 

What's hot (8)

Echo HTML5
Echo HTML5Echo HTML5
Echo HTML5
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
 
JSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday JerseyJSLink for ITPros - SharePoint Saturday Jersey
JSLink for ITPros - SharePoint Saturday Jersey
 
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect ModelComprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
Comprehensive Browser Automation Solution using Groovy, WebDriver & Obect Model
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & Efficiency
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
CSS3 - is everything we used to do wrong?
CSS3 - is everything we used to do wrong? CSS3 - is everything we used to do wrong?
CSS3 - is everything we used to do wrong?
 
HTML5 & CSS3 Flag
HTML5 & CSS3 FlagHTML5 & CSS3 Flag
HTML5 & CSS3 Flag
 

Viewers also liked

ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค. สังกัดสำนักงานคณะกรรมการการอาชี...
ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค.  สังกัดสำนักงานคณะกรรมการการอาชี...ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค.  สังกัดสำนักงานคณะกรรมการการอาชี...
ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค. สังกัดสำนักงานคณะกรรมการการอาชี...Totsaporn Inthanin
 
Orden calendario escolar_curso_2011-2012[1]
Orden calendario escolar_curso_2011-2012[1]Orden calendario escolar_curso_2011-2012[1]
Orden calendario escolar_curso_2011-2012[1]ampaelsol
 
Experiencias exitosas de buen gobierno en la región piura
Experiencias exitosas de buen gobierno en la región piuraExperiencias exitosas de buen gobierno en la región piura
Experiencias exitosas de buen gobierno en la región piuraAlexander Rojas García
 
MBA - Máster Universitario en Dirección de Empresas
MBA - Máster Universitario en Dirección de EmpresasMBA - Máster Universitario en Dirección de Empresas
MBA - Máster Universitario en Dirección de Empresasmigarzab
 
Raabta: Low-cost Video Conferencing for the Developing World
Raabta: Low-cost Video Conferencing for the Developing WorldRaabta: Low-cost Video Conferencing for the Developing World
Raabta: Low-cost Video Conferencing for the Developing WorldZubair Nabi
 
Mobility & Security Technology Risk Considerations
Mobility & Security Technology Risk ConsiderationsMobility & Security Technology Risk Considerations
Mobility & Security Technology Risk ConsiderationsRobert Brown
 
MENA Games Conference 2015
MENA Games Conference 2015MENA Games Conference 2015
MENA Games Conference 2015Daniel Inn
 
Dac decolombia
Dac decolombiaDac decolombia
Dac decolombia7161213
 
Características del realismo social en novela
Características del realismo social en novelaCaracterísticas del realismo social en novela
Características del realismo social en novelaandreso17
 
Jhonier torres ripoll
Jhonier torres ripollJhonier torres ripoll
Jhonier torres ripolljhoniertorres
 
Boletin cursos diseño Academia Integral
Boletin cursos diseño Academia IntegralBoletin cursos diseño Academia Integral
Boletin cursos diseño Academia IntegralBuscoCursosGratis.com
 
Investigacion uniremington
Investigacion uniremingtonInvestigacion uniremington
Investigacion uniremingtonBiby Ortiz
 
Closing the gap: The disconnect between marketing technology and business value
Closing the gap: The disconnect between marketing technology and business valueClosing the gap: The disconnect between marketing technology and business value
Closing the gap: The disconnect between marketing technology and business valueBrandwatch
 

Viewers also liked (20)

Cocyt Fomix
Cocyt FomixCocyt Fomix
Cocyt Fomix
 
“VALIDACION DE PROPUESTA METODOLOGICA PARA EL DISEÑO HIDRICO DE PROYECTOS DE ...
“VALIDACION DE PROPUESTA METODOLOGICA PARA EL DISEÑO HIDRICO DE PROYECTOS DE ...“VALIDACION DE PROPUESTA METODOLOGICA PARA EL DISEÑO HIDRICO DE PROYECTOS DE ...
“VALIDACION DE PROPUESTA METODOLOGICA PARA EL DISEÑO HIDRICO DE PROYECTOS DE ...
 
ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค. สังกัดสำนักงานคณะกรรมการการอาชี...
ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค.  สังกัดสำนักงานคณะกรรมการการอาชี...ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค.  สังกัดสำนักงานคณะกรรมการการอาชี...
ประกาศรายชื่อผู้มีสิทธิ์สอบครูผู้ช่วย ภาค ค. สังกัดสำนักงานคณะกรรมการการอาชี...
 
EMF Neutralizers
EMF Neutralizers EMF Neutralizers
EMF Neutralizers
 
Orden calendario escolar_curso_2011-2012[1]
Orden calendario escolar_curso_2011-2012[1]Orden calendario escolar_curso_2011-2012[1]
Orden calendario escolar_curso_2011-2012[1]
 
Experiencias exitosas de buen gobierno en la región piura
Experiencias exitosas de buen gobierno en la región piuraExperiencias exitosas de buen gobierno en la región piura
Experiencias exitosas de buen gobierno en la región piura
 
Configuración dns
Configuración dnsConfiguración dns
Configuración dns
 
MBA - Máster Universitario en Dirección de Empresas
MBA - Máster Universitario en Dirección de EmpresasMBA - Máster Universitario en Dirección de Empresas
MBA - Máster Universitario en Dirección de Empresas
 
Raabta: Low-cost Video Conferencing for the Developing World
Raabta: Low-cost Video Conferencing for the Developing WorldRaabta: Low-cost Video Conferencing for the Developing World
Raabta: Low-cost Video Conferencing for the Developing World
 
Mobility & Security Technology Risk Considerations
Mobility & Security Technology Risk ConsiderationsMobility & Security Technology Risk Considerations
Mobility & Security Technology Risk Considerations
 
MENA Games Conference 2015
MENA Games Conference 2015MENA Games Conference 2015
MENA Games Conference 2015
 
Dac decolombia
Dac decolombiaDac decolombia
Dac decolombia
 
El resumen pp
El resumen ppEl resumen pp
El resumen pp
 
Características del realismo social en novela
Características del realismo social en novelaCaracterísticas del realismo social en novela
Características del realismo social en novela
 
Jhonier torres ripoll
Jhonier torres ripollJhonier torres ripoll
Jhonier torres ripoll
 
Boletin cursos diseño Academia Integral
Boletin cursos diseño Academia IntegralBoletin cursos diseño Academia Integral
Boletin cursos diseño Academia Integral
 
Investigacion uniremington
Investigacion uniremingtonInvestigacion uniremington
Investigacion uniremington
 
Closing the gap: The disconnect between marketing technology and business value
Closing the gap: The disconnect between marketing technology and business valueClosing the gap: The disconnect between marketing technology and business value
Closing the gap: The disconnect between marketing technology and business value
 
Surfrut
SurfrutSurfrut
Surfrut
 
EasyVista - Software para Gestión de TI
EasyVista - Software para Gestión de TIEasyVista - Software para Gestión de TI
EasyVista - Software para Gestión de TI
 

Similar to Easier and faster Plone theming with Deliverance and xdv

Deliverance - a compelling way to theme Plone sites
Deliverance - a compelling way to theme Plone sitesDeliverance - a compelling way to theme Plone sites
Deliverance - a compelling way to theme Plone sitesJazkarta, Inc.
 
Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Mediacurrent
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS TroubleshootingDenise Jacobs
 
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalBeginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalMediacurrent
 
Website optimization with request reduce
Website optimization with request reduceWebsite optimization with request reduce
Website optimization with request reduceMatt Wrock
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapJosh Jeffryes
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & Youjskulski
 
Stupid Index Block Tricks
Stupid Index Block TricksStupid Index Block Tricks
Stupid Index Block Trickshannonhill
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101FITC
 
Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Chris Danford
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply ResponsiveDenise Jacobs
 
From HTML to pixels on the Screen
From HTML to pixels on the ScreenFrom HTML to pixels on the Screen
From HTML to pixels on the ScreenIgor Talic
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondDenise Jacobs
 
Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivityGregg Coppen
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedGil Fink
 
FITC - Bootstrap Unleashed
FITC - Bootstrap UnleashedFITC - Bootstrap Unleashed
FITC - Bootstrap UnleashedRami Sayar
 
Sitecore sxa best practices and secrets 29th june 2021
Sitecore sxa best practices and secrets   29th june 2021Sitecore sxa best practices and secrets   29th june 2021
Sitecore sxa best practices and secrets 29th june 2021Jitendra Soni
 

Similar to Easier and faster Plone theming with Deliverance and xdv (20)

Deliverance - a compelling way to theme Plone sites
Deliverance - a compelling way to theme Plone sitesDeliverance - a compelling way to theme Plone sites
Deliverance - a compelling way to theme Plone sites
 
Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG) Atlanta Drupal User Group (ADUG)
Atlanta Drupal User Group (ADUG)
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In DrupalBeginner & Intermediate Guide to HTML5/CSS3 In Drupal
Beginner & Intermediate Guide to HTML5/CSS3 In Drupal
 
Website optimization with request reduce
Website optimization with request reduceWebsite optimization with request reduce
Website optimization with request reduce
 
Rapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with BootstrapRapid and Responsive - UX to Prototype with Bootstrap
Rapid and Responsive - UX to Prototype with Bootstrap
 
Features, Exportables & You
Features, Exportables & YouFeatures, Exportables & You
Features, Exportables & You
 
Forensic Theming - DrupalCon London
Forensic Theming - DrupalCon LondonForensic Theming - DrupalCon London
Forensic Theming - DrupalCon London
 
Psd 2 Drupal
Psd 2 DrupalPsd 2 Drupal
Psd 2 Drupal
 
Stupid Index Block Tricks
Stupid Index Block TricksStupid Index Block Tricks
Stupid Index Block Tricks
 
Agile sites311training
Agile sites311trainingAgile sites311training
Agile sites311training
 
Node.js 101
 Node.js 101 Node.js 101
Node.js 101
 
Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21
 
CSS3: Simply Responsive
CSS3: Simply ResponsiveCSS3: Simply Responsive
CSS3: Simply Responsive
 
From HTML to pixels on the Screen
From HTML to pixels on the ScreenFrom HTML to pixels on the Screen
From HTML to pixels on the Screen
 
CSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to RespondCSS3: Ripe and Ready to Respond
CSS3: Ripe and Ready to Respond
 
Freelancer Weapons of mass productivity
Freelancer Weapons of mass productivityFreelancer Weapons of mass productivity
Freelancer Weapons of mass productivity
 
Stencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrivedStencil the time for vanilla web components has arrived
Stencil the time for vanilla web components has arrived
 
FITC - Bootstrap Unleashed
FITC - Bootstrap UnleashedFITC - Bootstrap Unleashed
FITC - Bootstrap Unleashed
 
Sitecore sxa best practices and secrets 29th june 2021
Sitecore sxa best practices and secrets   29th june 2021Sitecore sxa best practices and secrets   29th june 2021
Sitecore sxa best practices and secrets 29th june 2021
 

More from Jazkarta, Inc.

Traveling through time and place with Plone
Traveling through time and place with PloneTraveling through time and place with Plone
Traveling through time and place with PloneJazkarta, Inc.
 
Questions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS FrontendQuestions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS FrontendJazkarta, Inc.
 
The User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and BeyondThe User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and BeyondJazkarta, Inc.
 
WTA and Plone After 13 Years
WTA and Plone After 13 YearsWTA and Plone After 13 Years
WTA and Plone After 13 YearsJazkarta, Inc.
 
Collaborating With Orchid Data
Collaborating With Orchid DataCollaborating With Orchid Data
Collaborating With Orchid DataJazkarta, Inc.
 
Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!Jazkarta, Inc.
 
Plone 5 Upgrades In Real Life
Plone 5 Upgrades In Real LifePlone 5 Upgrades In Real Life
Plone 5 Upgrades In Real LifeJazkarta, Inc.
 
Accessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the UglyAccessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the UglyJazkarta, Inc.
 
Getting Paid Without GetPaid
Getting Paid Without GetPaidGetting Paid Without GetPaid
Getting Paid Without GetPaidJazkarta, Inc.
 
An Open Source Platform for Social Science Research
An Open Source Platform for Social Science ResearchAn Open Source Platform for Social Science Research
An Open Source Platform for Social Science ResearchJazkarta, Inc.
 
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...Jazkarta, Inc.
 
Anatomy of a Large Website Project
Anatomy of a Large Website ProjectAnatomy of a Large Website Project
Anatomy of a Large Website ProjectJazkarta, Inc.
 
Anatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter NotesAnatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter NotesJazkarta, Inc.
 
The Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with PloneThe Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with PloneJazkarta, Inc.
 
Plone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionPlone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionJazkarta, Inc.
 
Academic Websites in Plone
Academic Websites in PloneAcademic Websites in Plone
Academic Websites in PloneJazkarta, Inc.
 
Online Exhibits in Plone
Online Exhibits in PloneOnline Exhibits in Plone
Online Exhibits in PloneJazkarta, Inc.
 
Online exhibits in Plone
Online exhibits in PloneOnline exhibits in Plone
Online exhibits in PloneJazkarta, Inc.
 

More from Jazkarta, Inc. (20)

Traveling through time and place with Plone
Traveling through time and place with PloneTraveling through time and place with Plone
Traveling through time and place with Plone
 
Questions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS FrontendQuestions: A Form Library for Python with SurveyJS Frontend
Questions: A Form Library for Python with SurveyJS Frontend
 
The User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and BeyondThe User Experience: Editing Composite Pages in Plone 6 and Beyond
The User Experience: Editing Composite Pages in Plone 6 and Beyond
 
WTA and Plone After 13 Years
WTA and Plone After 13 YearsWTA and Plone After 13 Years
WTA and Plone After 13 Years
 
Collaborating With Orchid Data
Collaborating With Orchid DataCollaborating With Orchid Data
Collaborating With Orchid Data
 
Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!Spend a Week Hacking in Sorrento!
Spend a Week Hacking in Sorrento!
 
Plone 5 Upgrades In Real Life
Plone 5 Upgrades In Real LifePlone 5 Upgrades In Real Life
Plone 5 Upgrades In Real Life
 
Accessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the UglyAccessibility in Plone: The Good, the Bad, and the Ugly
Accessibility in Plone: The Good, the Bad, and the Ugly
 
Getting Paid Without GetPaid
Getting Paid Without GetPaidGetting Paid Without GetPaid
Getting Paid Without GetPaid
 
An Open Source Platform for Social Science Research
An Open Source Platform for Social Science ResearchAn Open Source Platform for Social Science Research
An Open Source Platform for Social Science Research
 
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
For the Love of Volunteers! How Do You Choose the Right Technology to Manage ...
 
Anatomy of a Large Website Project
Anatomy of a Large Website ProjectAnatomy of a Large Website Project
Anatomy of a Large Website Project
 
Anatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter NotesAnatomy of a Large Website Project - With Presenter Notes
Anatomy of a Large Website Project - With Presenter Notes
 
The Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with PloneThe Mountaineers: Scaling the Heights with Plone
The Mountaineers: Scaling the Heights with Plone
 
Plone Hosting: A Panel Discussion
Plone Hosting: A Panel DiscussionPlone Hosting: A Panel Discussion
Plone Hosting: A Panel Discussion
 
Plone+Salesforce
Plone+SalesforcePlone+Salesforce
Plone+Salesforce
 
Academic Websites in Plone
Academic Websites in PloneAcademic Websites in Plone
Academic Websites in Plone
 
Plone
PlonePlone
Plone
 
Online Exhibits in Plone
Online Exhibits in PloneOnline Exhibits in Plone
Online Exhibits in Plone
 
Online exhibits in Plone
Online exhibits in PloneOnline exhibits in Plone
Online exhibits in Plone
 

Recently uploaded

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Recently uploaded (20)

Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Easier and faster Plone theming with Deliverance and xdv