Post on 22-Apr-2015
description
Criteria 3.0
not actually a “module”but something you can't miss
Criteria
it just do queries… but better
Criteria
It's fast!
Criteria
Criteria
everything is lazy...
Criteria
built-in pagination(at jcr level)
Criteria
it doesn't do any unneeded work(no post-processing!)
Criteria
running a website with more than 3.000.000 magnolia pages full-text indexed and ~ 1.500.000 executed search/months
displaying the first page of resultsfrom a query
100.000 total results
few ms
few results
infinity
criteria
standard magnoliaquery API
KA-BOOOM!
and the goodies...
Criteria
Criteria
do the maths for you: → result.getPage() → result.getTotalSize() → result.getNumberOfPages()
builtin spellchecking → result.getSpellCheckerSuggestion()
built-in c2b → result.getItems(MyBean.class)
excerpts → item.getExcerpts()
scoring → item.getScore()
… still one more thing
Criteria
Criteria
Query composition and automatic XPATH escaping!
AdvancedResult result = JCRCriteriaFactory.createCriteria() .setWorkspace("website") .setBasePath("/dogs") .add(Restrictions.eq(Criterion.JCR_PRIMARYTYPE, "mgnl:content")) .add(Restrictions.contains("@name", "Nana")) .add(Restrictions.gt("@weight", Float.valueOf(10))) .add(Restrictions.between("@birthDate", begin, end)) .addOrder(Order.desc("@name")) .execute();
SimpleMedia 4.3
is anybody still not using it?
SimpleMedia
really, you can't!
SimpleMedia
SimpleMedia
too many features to tell,just a few new ones...
SimpleMedia
great performance improvements
(guess why? it's based on criteria APIs instead of Magnolia APIs)try it with thousands of items in a single folder
SimpleMedia
new advanced search panel (totally configurable)pagination & sorting
an always improving admin interface
SimpleMedia
playlists!... and playlist export in xspf
format too
SimpleMedia
automatic parsing of video metadata
advanced support for streaming videos (rtp/rtmp protocols)
pluggable external providers (more than you tube)
automatic retrieval of preview images from youtube
document support with advanced pdf handling (pdf metadata and preview!)
even more format supported (more jpeg flavours, ico files, …)
pluggable zip import
pluggable video player
SimpleMedia
SimpleCache 1.0
(yes, everything is simple)
SimpleCache
... cause we love that "simple"
SimpleCache
just two short reasonsfor a new cache module
SimpleCache
1) simplicitythe standard magnolia cache module is unfortunately
*far* from being simple
SimpleCache
2) ?
SimpleCache
2) ?
SimpleCache
* magnolia memory usage with ehcache and overflow to disk
2) streaming(translate to: be fast and don't eat your memory at all)
SimpleCache
(actually a third one)
SimpleCache
3) it doesn't mix & mess with the browser cache, that's a totally
different topic! *
* my personal opinion
SimpleCache
Rules 1.0
just a small and (guess what?)simple rule engine for magnolia
Rules
conditionally display paragraphs, say "good morning" or "good
evening" and that sort of things
Rules
evaluating expression
Rules
but that's boring...
Rules
the real nice things is
Rules
the nice customizable editor for composing expressions!
targeted to non technical users
Rules
Rules
ContextMenu 1.0
here we want to make things simple for developers
ContextMenu
this module deviates from the standard Magnolia UI for editing
things
ContextMenu
(but only when there is a reason)
ContextMenu
imagine a form with 50 fields where each label has to be edited
ContextMenu
ContextMenu
the developer has to build a complex dialog
.the editor has to *use* an ugly
dialog!
ContextMenu
so here the idea of right click editing, with automagically
created dialogs.
field by field editing
ContextMenu
just take you template and wrap the field in a
<mcmenu:element name="message"> ${content.message} </mcmenu:element>
ContextMenu
Tagcloud 1.0
just makes tag clouds from magnolia-managed data in jcr
(tags in pages, paragraphs, media)
TagCloud
TagCloud
c'mon, what's special with it?
TagCloud
it does a very complex task, really!
TagCloud
ever tried to build an algorithm for building a tagcloud from a
tree???(you can't do "select x group by name order by count desc" in a jcr)
TagCloud
you usually have to read the whole tree, making count ant
caching the result(it's an heavy operation)
TagCloud
the tagcloud module instead is fast
TagCloud
it just reads the lucene index!(not in any way magnolia or jackrabbit alone could do)
TagCloud
oh, and don't miss also...
TagCloud
the nice tagcloud control!(and one more: the pre-built tags)
TagCloud
e-learning module 1.0
that actually manages a complex thing...
e-learning module
SCORM
e-learning module
SCORM
e-learning module
SCORM"Shareable Content Object
Reference Model"
e-learning module
Standard for web-base e-learning.
SCORM defines communications between client-side contents and
server-side Learning Management System (LMS).
e-learning module
Load, publish and play SCORM compliant courses
e-learning module
Mobile module 1.0
can you guess what it does?
mobile module
mobile module
it just allows you to serve different content according to the
device used to browse pages
mobile module
It used WURFL to get the information about capabilities and features of mobile devices
mobile module
Developers can define different templates to be served depending
on mobile device capabilities, resolution, browser, OS, device.
mobile module
Preview result(template/screen size) from the
admin interface
mobile module
and...there is still morein openmindLAB!
but this is the 79th slide...so you will have to try it by
yourself ;)