openmind modules 2010

79
www.openmindlab.com openmindLAB modules

Upload: manuel-molaschi

Post on 22-Apr-2015

708 views

Category:

Technology


0 download

DESCRIPTION

Presented at Magnolia Conference 2010 by Fabrizio GIustina, these slides are a showcase of Magnolia CMS modules developed by openmindlab team (http://www.openmindlab.com). High performance jcr node handling, streaming cache module, digital asset management, rule expression engine are some of the benefits you will gain using our modules!

TRANSCRIPT

Page 1: Openmind modules 2010

 

www.openmindlab.com

openmindLAB modules

Page 2: Openmind modules 2010

 

bywww.openmindonline.it

manuelfgiust luca diego

Page 3: Openmind modules 2010

 

Page 4: Openmind modules 2010
Page 5: Openmind modules 2010

Criteria 3.0

Page 6: Openmind modules 2010

not actually a “module”but something you can't miss

Criteria

Page 7: Openmind modules 2010

it just do queries… but better

Criteria

Page 8: Openmind modules 2010

It's fast!

Criteria

Page 9: Openmind modules 2010

Criteria

everything is lazy...

Page 10: Openmind modules 2010

Criteria

built-in pagination(at jcr level)

Page 11: Openmind modules 2010

Criteria

it doesn't do any unneeded work(no post-processing!)

Page 12: Openmind modules 2010

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!

Page 13: Openmind modules 2010

and the goodies...

Criteria

Page 14: Openmind modules 2010

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()

Page 15: Openmind modules 2010

… still one more thing

Criteria

Page 16: Openmind modules 2010

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();

Page 17: Openmind modules 2010

SimpleMedia 4.3

Page 18: Openmind modules 2010

is anybody still not using it?

SimpleMedia

Page 19: Openmind modules 2010

really, you can't!

SimpleMedia

Page 20: Openmind modules 2010

SimpleMedia

Page 21: Openmind modules 2010

too many features to tell,just a few new ones...

SimpleMedia

Page 22: Openmind modules 2010

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

Page 23: Openmind modules 2010

new advanced search panel (totally configurable)pagination & sorting

an always improving admin interface

SimpleMedia

Page 24: Openmind modules 2010

playlists!... and playlist export in xspf

format too

SimpleMedia

Page 25: Openmind modules 2010

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

Page 26: Openmind modules 2010

SimpleCache 1.0

Page 27: Openmind modules 2010

(yes, everything is simple)

SimpleCache

Page 28: Openmind modules 2010

... cause we love that "simple"

SimpleCache

Page 29: Openmind modules 2010

just two short reasonsfor a new cache module

SimpleCache

Page 30: Openmind modules 2010

1) simplicitythe standard magnolia cache module is unfortunately

*far* from being simple

SimpleCache

Page 31: Openmind modules 2010

2) ?

SimpleCache

Page 32: Openmind modules 2010

2) ?

SimpleCache

* magnolia memory usage with ehcache and overflow to disk

Page 33: Openmind modules 2010

2) streaming(translate to: be fast and don't eat your memory at all)

SimpleCache

Page 34: Openmind modules 2010

(actually a third one)

SimpleCache

Page 35: Openmind modules 2010

3) it doesn't mix & mess with the browser cache, that's a totally

different topic! *

* my personal opinion

SimpleCache

Page 36: Openmind modules 2010

Rules 1.0

Page 37: Openmind modules 2010

just a small and (guess what?)simple rule engine for magnolia

Rules

Page 38: Openmind modules 2010

conditionally display paragraphs, say "good morning" or "good

evening" and that sort of things

Rules

Page 39: Openmind modules 2010

evaluating expression

Rules

Page 40: Openmind modules 2010

but that's boring...

Rules

Page 41: Openmind modules 2010

the real nice things is

Rules

Page 42: Openmind modules 2010

the nice customizable editor for composing expressions!

targeted to non technical users

Rules

Page 43: Openmind modules 2010

Rules

Page 44: Openmind modules 2010

ContextMenu 1.0

Page 45: Openmind modules 2010

here we want to make things simple for developers

ContextMenu

Page 46: Openmind modules 2010

this module deviates from the standard Magnolia UI for editing

things

ContextMenu

Page 47: Openmind modules 2010

(but only when there is a reason)

ContextMenu

Page 48: Openmind modules 2010

imagine a form with 50 fields where each label has to be edited

ContextMenu

Page 49: Openmind modules 2010

ContextMenu

Page 50: Openmind modules 2010

the developer has to build a complex dialog

.the editor has to *use* an ugly

dialog!

ContextMenu

Page 51: Openmind modules 2010

so here the idea of right click editing, with automagically

created dialogs.

field by field editing

ContextMenu

Page 52: Openmind modules 2010

just take you template and wrap the field in a

<mcmenu:element name="message"> ${content.message} </mcmenu:element>

ContextMenu

Page 53: Openmind modules 2010

Tagcloud 1.0

Page 54: Openmind modules 2010

just makes tag clouds from magnolia-managed data in jcr

(tags in pages, paragraphs, media)

TagCloud

Page 55: Openmind modules 2010

TagCloud

Page 56: Openmind modules 2010

c'mon, what's special with it?

TagCloud

Page 57: Openmind modules 2010

it does a very complex task, really!

TagCloud

Page 58: Openmind modules 2010

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

Page 59: Openmind modules 2010

you usually have to read the whole tree, making count ant

caching the result(it's an heavy operation)

TagCloud

Page 60: Openmind modules 2010

the tagcloud module instead is fast

TagCloud

Page 61: Openmind modules 2010

it just reads the lucene index!(not in any way magnolia or jackrabbit alone could do)

TagCloud

Page 62: Openmind modules 2010

oh, and don't miss also...

TagCloud

Page 63: Openmind modules 2010

the nice tagcloud control!(and one more: the pre-built tags)

TagCloud

Page 64: Openmind modules 2010

e-learning module 1.0

Page 65: Openmind modules 2010

that actually manages a complex thing...

e-learning module

Page 66: Openmind modules 2010

SCORM

e-learning module

Page 67: Openmind modules 2010

SCORM

e-learning module

Page 68: Openmind modules 2010

SCORM"Shareable Content Object

Reference Model"

e-learning module

Page 69: Openmind modules 2010

Standard for web-base e-learning.

SCORM defines communications between client-side contents and

server-side Learning Management System (LMS).

e-learning module

Page 70: Openmind modules 2010

Load, publish and play SCORM compliant courses

e-learning module

Page 71: Openmind modules 2010

Mobile module 1.0

Page 72: Openmind modules 2010

can you guess what it does?

mobile module

Page 73: Openmind modules 2010

mobile module

Page 74: Openmind modules 2010

it just allows you to serve different content according to the

device used to browse pages

mobile module

Page 75: Openmind modules 2010

It used WURFL to get the information about capabilities and features of mobile devices

mobile module

Page 76: Openmind modules 2010

Developers can define different templates to be served depending

on mobile device capabilities, resolution, browser, OS, device.

mobile module

Page 77: Openmind modules 2010

Preview result(template/screen size) from the

admin interface

mobile module

Page 78: Openmind modules 2010

and...there is still morein openmindLAB!

Page 79: Openmind modules 2010

but this is the 79th slide...so you will have to try it by

yourself ;)