Sure, you've been using Apache Jackrabbit as the "open core" of your CMS platform for a long time, but I'll bet you don't know all its secrets. In this talk you'll learn some of the hidden, overlooked features of Apache Jackrabbit and BloomReach Forge projects, and ways that you can reduce your effort in managing your CMS / Apache Jackrabbit platform by leveraging some of these features. More specifically, this session will introduce some useful feature to externalize Apache Jackrabbit DataStore and the FileSystem of VersionManager to either AWS S3 buckets or VFS -- with SFTP or WebDAV backends -- and highlights of new BloomReach Forge projects.
6. “Can’t we store huge amount of binary data in JCR?” *
* https://woonsanko.blogspot.com/2016/08/cant-we-store-huge-amount-of-binary.html
7. ● When using DbDataStore (the default option)
> 85% : binaries
(DATASTORE table)
* More at https://woonsanko.blogspot.com/2018/11/apache-jackrabbit-database-usage.html
12. ● Benefits:
○ Transparent
○ Almost unlimited storage for binaries
■ Amazon S3, SFTP Gateway for S3
■ SFTP file server, SFTP server with Google Cloud Platform backend
○ Cheaper storage
■ Amazon RDS vs. Amazon S3 buckets or SFTP
○ Faster backup, import, migration
■ Build new environment quickly from production data.
○ Save backup storage
■ Nightly DB backup files
○ Encryption at rest
■ Amazon S3 encryption, SFTP server with Linux file system encryption
13. “Can’t we keep unlimited amount of revision history?”
* https://woonsanko.blogspot.com/2018/11/externalizing-jcr-version-storage-with.html
15. > 55% : versions
(VERSION_BUNDLE table)
● When using BundleDbPersistenceManager (the default option)
> 25% : binaries
(DATASTORE table)
* More at https://woonsanko.blogspot.com/2018/11/apache-jackrabbit-database-usage.html
17. - The first project, FeedbackPlugin, started on 2008-01-11.
- boudekerk did the first SVN commit at 2008-01-15 14:20:15 CEST.
- arjecahn made the second commit on that day at 14:49 CEST.
- ...
- jeroenhoffman: “Moving to github is done!” at 2017-02-17 13:34:00 CEST.
- 32 active projects... welcoming your participation!
- ...
18. ● “Don’t stay up. Just schedule it.”
○ The Forge Utilities project supports scheduling Groovy Updater scripts.
○ Check out https://bloomreach-forge.github.io/hippo-utilities/
● “FreeMarker, Handlebars or Thymeleaf? No problem!”
○ The Tempating Support project allows to use any of those.
○ Check out https://bloomreach-forge.github.io/templating-support/
● “Content Packaging REST endpoints? Content-EXIM!”
○ It now supports built-in REST endpoints to export and import content in a flexible way.
○ Check out https://bloomreach-forge.github.io/content-export-import/builtin-rest-services.html
● “Web page flow control like Spring WebFlow in HST apps? Page-Flow!”
○ Page-Flow project supports easy page flow control development, seamlessly integrated with
Channel Manager and Relevance.
○ Checkout https://bloomreach-forge.github.io/page-flow/
19. ● “Can we update webfiles on server at runtime?” or
“Can we use JCR API through JCR over HTTP?”
○ Jackrabbit support SimpleWebDAVServlet and JcrRemotingServlet.
○ Check out https://bloomreach-forge.github.io/hippo-jcr-over-webdav/.
○ Use cadaver or cyberduck for WebDAV access.
○ JCR-Shell (https://bloomreach-forge.github.io/jcr-shell/), a CLI tool for JCR,
using JCR over WebDAV (JCR Remoting).