Openmind modules 2010
-
Upload
manuel-molaschi -
Category
Technology
-
view
709 -
download
0
description
Transcript of Openmind modules 2010
![Page 3: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/3.jpg)
![Page 4: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/4.jpg)
![Page 5: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/5.jpg)
Criteria 3.0
![Page 6: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/6.jpg)
not actually a “module”but something you can't miss
Criteria
![Page 7: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/7.jpg)
it just do queries… but better
Criteria
![Page 8: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/8.jpg)
It's fast!
Criteria
![Page 9: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/9.jpg)
Criteria
everything is lazy...
![Page 10: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/10.jpg)
Criteria
built-in pagination(at jcr level)
![Page 11: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/11.jpg)
Criteria
it doesn't do any unneeded work(no post-processing!)
![Page 12: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/12.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/13.jpg)
and the goodies...
Criteria
![Page 14: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/14.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/15.jpg)
… still one more thing
Criteria
![Page 16: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/16.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/17.jpg)
SimpleMedia 4.3
![Page 18: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/18.jpg)
is anybody still not using it?
SimpleMedia
![Page 19: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/19.jpg)
really, you can't!
SimpleMedia
![Page 20: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/20.jpg)
SimpleMedia
![Page 21: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/21.jpg)
too many features to tell,just a few new ones...
SimpleMedia
![Page 22: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/22.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/23.jpg)
new advanced search panel (totally configurable)pagination & sorting
an always improving admin interface
SimpleMedia
![Page 24: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/24.jpg)
playlists!... and playlist export in xspf
format too
SimpleMedia
![Page 25: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/25.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/26.jpg)
SimpleCache 1.0
![Page 27: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/27.jpg)
(yes, everything is simple)
SimpleCache
![Page 28: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/28.jpg)
... cause we love that "simple"
SimpleCache
![Page 29: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/29.jpg)
just two short reasonsfor a new cache module
SimpleCache
![Page 30: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/30.jpg)
1) simplicitythe standard magnolia cache module is unfortunately
*far* from being simple
SimpleCache
![Page 31: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/31.jpg)
2) ?
SimpleCache
![Page 32: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/32.jpg)
2) ?
SimpleCache
* magnolia memory usage with ehcache and overflow to disk
![Page 33: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/33.jpg)
2) streaming(translate to: be fast and don't eat your memory at all)
SimpleCache
![Page 34: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/34.jpg)
(actually a third one)
SimpleCache
![Page 35: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/35.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/36.jpg)
Rules 1.0
![Page 37: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/37.jpg)
just a small and (guess what?)simple rule engine for magnolia
Rules
![Page 38: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/38.jpg)
conditionally display paragraphs, say "good morning" or "good
evening" and that sort of things
Rules
![Page 39: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/39.jpg)
evaluating expression
Rules
![Page 40: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/40.jpg)
but that's boring...
Rules
![Page 41: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/41.jpg)
the real nice things is
Rules
![Page 42: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/42.jpg)
the nice customizable editor for composing expressions!
targeted to non technical users
Rules
![Page 43: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/43.jpg)
Rules
![Page 44: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/44.jpg)
ContextMenu 1.0
![Page 45: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/45.jpg)
here we want to make things simple for developers
ContextMenu
![Page 46: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/46.jpg)
this module deviates from the standard Magnolia UI for editing
things
ContextMenu
![Page 47: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/47.jpg)
(but only when there is a reason)
ContextMenu
![Page 48: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/48.jpg)
imagine a form with 50 fields where each label has to be edited
ContextMenu
![Page 49: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/49.jpg)
ContextMenu
![Page 50: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/50.jpg)
the developer has to build a complex dialog
.the editor has to *use* an ugly
dialog!
ContextMenu
![Page 51: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/51.jpg)
so here the idea of right click editing, with automagically
created dialogs.
field by field editing
ContextMenu
![Page 52: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/52.jpg)
just take you template and wrap the field in a
<mcmenu:element name="message"> ${content.message} </mcmenu:element>
ContextMenu
![Page 53: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/53.jpg)
Tagcloud 1.0
![Page 54: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/54.jpg)
just makes tag clouds from magnolia-managed data in jcr
(tags in pages, paragraphs, media)
TagCloud
![Page 55: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/55.jpg)
TagCloud
![Page 56: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/56.jpg)
c'mon, what's special with it?
TagCloud
![Page 57: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/57.jpg)
it does a very complex task, really!
TagCloud
![Page 58: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/58.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/59.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/60.jpg)
the tagcloud module instead is fast
TagCloud
![Page 61: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/61.jpg)
it just reads the lucene index!(not in any way magnolia or jackrabbit alone could do)
TagCloud
![Page 62: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/62.jpg)
oh, and don't miss also...
TagCloud
![Page 63: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/63.jpg)
the nice tagcloud control!(and one more: the pre-built tags)
TagCloud
![Page 64: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/64.jpg)
e-learning module 1.0
![Page 65: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/65.jpg)
that actually manages a complex thing...
e-learning module
![Page 66: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/66.jpg)
SCORM
e-learning module
![Page 67: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/67.jpg)
SCORM
e-learning module
![Page 68: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/68.jpg)
SCORM"Shareable Content Object
Reference Model"
e-learning module
![Page 69: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/69.jpg)
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](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/70.jpg)
Load, publish and play SCORM compliant courses
e-learning module
![Page 71: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/71.jpg)
Mobile module 1.0
![Page 72: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/72.jpg)
can you guess what it does?
mobile module
![Page 73: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/73.jpg)
mobile module
![Page 74: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/74.jpg)
it just allows you to serve different content according to the
device used to browse pages
mobile module
![Page 75: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/75.jpg)
It used WURFL to get the information about capabilities and features of mobile devices
mobile module
![Page 76: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/76.jpg)
Developers can define different templates to be served depending
on mobile device capabilities, resolution, browser, OS, device.
mobile module
![Page 77: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/77.jpg)
Preview result(template/screen size) from the
admin interface
mobile module
![Page 78: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/78.jpg)
and...there is still morein openmindLAB!
![Page 79: Openmind modules 2010](https://reader036.fdocuments.us/reader036/viewer/2022081721/55385f65550346f53d8b4757/html5/thumbnails/79.jpg)
but this is the 79th slide...so you will have to try it by
yourself ;)