SlideShare a Scribd company logo
What’s new with the Alfresco Platform?
Ole Hejlskov
Developer Evangelist
@OleHejlskov
Welcome!
2
A look at today’s presentation agenda
Alfresco Platform Roadmap
Platform Vision
What problems does the Alfresco
Platform helps and will help solve and
for which personas
Platform projects
Overview of current ongoing platform
initiatives
3
Extreme Scalability
Proving Alfresco at Cloud scale and
providing tools & reference point for real
life implementations
Upgrade Task Force
Simplification of the customer
maintenance lifecycle, in response of
overwhelming customer validation
Share separation
Effects of the Share separation and Core
platform modularization
Dev Platform & SDK
Consolidate & Expand APIs / extension points to ensure high
longevity Alfresco application development and greatly
simplify SDK based Alfresco development
4
A look at today’s presentation agenda
Alfresco Platform Roadmap
What’s in it & when?
When can you expect release of the
ongoing projects, what are backlog and
horizon 2 projects
Conclusions and QA
Recap of the platform lifecycle makeover
and open discussion
Vision for the Alfresco Platform
Objectives and guiding forces driving development of the Alfresco Platform
6
Build an open and scalable platform to power the rapid development and
deployment of hybrid content centric applications in the Alfresco
extended ecosystem
Platform Vision
7
Pillars of the Alfresco Platform vision
Understanding the vision
Open
Open source, based on Open
Source components and Open
Standards, multi-language
Scalable
Architected to perform at cloud
scale, along multiple scalability
dimensions & different use cases
Development
A product that Devs love, with
comprehensive, stable &
supported APIs and SDKs
Rapid
Offering a high productivity
development environment
and a smooth learning curve
Applications
Smart process applications and
any other integrated
application
Extended ecosystem
Powering both internal and
external (community, partners,
customers) development
Deployment
A product that Ops love, with a
simple yet scalable cloud ready
installation and configuration
Hybrid
The Platform & solutions built
on it must be able to run on
premise or on Cloud (or both)
8
Technology & market innovation driving Alfresco Platform strategy
Driving Forces
Hybrid ECM Innovate at Cloud speed Think Big Customer driven
Platform and solutions should be
able to run on premise, on cloud
or both
Deliver innovation to the on
premise and cloud products with
agility typical of pure SaaS players
Enable the scaling of people,
processes and products
Customer feedback, research,
validation, pretotyping at the core of
ideation and decision making process
9
Key improvement areas in the customer lifecycle
Customer Driven
Backwards
Compatibility
Java Modules
Index
Extreme scale
Backwards
Compatibility
Share Extensions
Modules
Isolation
In place
upgrade
SP & HF
Repository
Extreme
Scale
Backwards
Compatibility
Remote Applications
Alfresco Platform projects
Ongoing developments in the Alfresco Platform
11
Platform Investments
An end to end Platform lifecycle makeover
DeploymentTesting Release Integration Maintenance
Standard Dev Env
Share Separation
API BCKs
Xtreme scalability
Share separation API compatibility
JAR modules
Modules isolation
Dev Docs / Samples
Solr Sharding
Suite installers
In-place SP & HF
API Compatibility
Share separation
Development
12
Testing real life cloud-scale use cases
Extreme Scalability
1. Loading Alfresco on AWS + Aurora up to 1B documents
2. Indexing 1B documents with a sharded Solr configuration (20 shards, with 50M docs)
3. Improve MDQ to support transactional use cases (OR and boolean support)
4. Test real life use cases, starting with Share collaboration and Headless Content
Platform
5. Producing sizing and scalability blueprints based on real data collected at different
data points
13
Some numbers
Extreme Scalability
1. The best document load rate for the number of Alfresco servers, latency and load
balancer thresholds was 1000 documents per second (with 10 nodes); the load rate
was consistent even passing the 1B document
2. A 3.2 TB Aurora database did not show any degradation
3. On 1B docs:
Query: select * from cmis:document where IN_FOLDER('0d10d28f-4671-4077-b888-b7f4eaf1b450') order by cmis:name asc
Paging: Limit 100 and various skips applied to the known 1000 results
Time: 150ms
14
What’s in it for me?
Extreme Scalability
1. Alfresco.next supporting Solr Sharding!!!
2. Improved Metadata queries (OR and Boolean Support)
3. Updated scalability blueprint for 5.x
4. Updated AWS reference architecture for 5.x
15
Enabling a seamless maintenance for Alfresco
Upgrade Task Force
1. In place application of SP & HF (not major and minor upgrades, for now)
2. Separation of Share and Platform releases for independent consumption (and definition
of a clear compatibility matrix)
3. Consolidation of Public API Lifecycle to ensure high longevity customizations (no need for
re-test)
16
Effects to the product lifecycle
Share / Platform separation
Platform and Share
can be built
and developed
independently
Dev Release Install
Platform and Share
can be released
independently (or
together)
Maintain
Suite and
independent
installers for
Alfresco and Share
Consume new
version of Platform
& Share
independently
And what about compatibility?
17
Modularizing the platform
Breaking the monolith
Alfresco Platform
Core set of functionalities exposing
extension points including Java and
ReST APIs
Transformation services
Can be scaled independently using the
transformation server or in MM for
video transformations
Share services
(New!)Subset of platform functionalities now
extracted in a separate module (AMP)
following the Share release lifecycle
Search services
Can be scaled independently as it relies on
Solr4 standalone (with Replication and
Sharding support)
18
Share separation takeaways
1. Share (only) releases will now contain a share-services.amp which contains Share
specific backing APIs
2. Platform (only) released will no longer contain Share specific Java services
3. Compatibility between Share & Alfresco is driven by the Java (not ReST) APIs
compatibility policy (wait for it…in the next slides!)
4. Expect more frequent Share releases on prem (quarterly) and on cloud
What you need to know!
19
Alfresco for the Developers
1. Comprehensive set of content management & workflow Java and ReST API
2. Modular UI framework to custom business solutions
3. De facto standard based and enterprise ready SDKs for web and mobile development
4. Compatibility between Share & Alfresco is driven by the Java (not ReST) APIs
compatibility policy (wait for it…in the next slides!)
What’s great about Alfresco Dev Platform
20
Multiple ways Alfresco helps you achieve your custom solutions
The Alfresco Developer conundrum
Compatibility
Dev Env
Compatibility
Aikau based
Dev Env
StrategicTactical
21
Consolidate & Extend
Platform execution strategy
Consolidate
Alfresco.next
Extend
Post Alfresco.next
22
Developer platform consolidation
1. Documentation of Extension (Platform Java & Share) & integration (ReST) points
Move old ReST API to Limited Support and double down on new Alfresco One API
Cleary identify and document supported Java and Share
2. API lifecycle, support and Backward compatibility
In process - Major version support
ReST - Independently versioned and inherently backward compatible
3. Customer success driven tactical investments on the Java platform & modules
JAR simple module support (for Alfresco and Share)
Physical isolation of modules without need to modify Alfresco (immutable)
Share modules support and reporting
Ongoing activities targeting Alfresco.next
23
docs.alfresco.com/5.0/concepts/dev-extensions-share-extension-points-introduction.html
Status
Live on Alfresco Docs
For each extension point
Clear documentation
Sample code (easily forkable)
A Support status
Major version compatibility
A glimpse on the improved Alfresco Dev Experience
Share extension points documentation
How can you help
Send feedback to me,
ole.hejlskov@alfresco.com or via
Alfresco DEVPLAT project
24
docs.alfresco.com/5.0/concepts/dev-extensions-share-extension-points-introduction.html
Status
Live on Alfresco Docs
For each extension point
Clear documentation
Sample code (easily forkable)
A Support status
Major version compatibility
A glimpse on the improved Alfresco Dev Experience
Platform extension points documentation
How can you help
Send feedback to me,
ole.hejlskov@alfresco.com or via
Alfresco DEVPLAT project
25
So what about compatibility?
1. Major version for Platform and Share extensions (modules)
Your custom module built on 5.1 Public API will work throughout the whole 5.x
Share 5.x will be compatible with 5.1
Alfresco modules can be compatible for a major version
2. ReST API version driven support for integrations (standalone apps)
Not bound to the Alfresco version
Clear rules for versioning of ReST APIs
Should ideally never need to version, requires client side discoverability
For internal and external Alfresco extensions and integrations
26
Alfresco SDK
What’s out already
Alfresco SDK 2.1.0 - Compatible with 5.0, with hot reloading (Platform & Share)
What’s on the way
Alfresco SDK 2.1.1 - Multiple bug-fixes, backward compatible
Together with Alfresco next
Fully supported, easily forkable and complete set of samples on alfresco-sdk-
samples (in Github)
Improved hot reloading
Customer value driven prioritization of Public Github issues. Request
enhancements at https://github.com/Alfresco/alfresco-sdk/issues
Making Alfresco development even more productive, safe and fun
What & when?
An outlook to our target Platform release plan
28
n provided in the following slide is roadmap information and therefore subtle to change in subject, timeline
29
Platform release targets
1. Target: 5.1 —> End of primo 2016
Both Platform and Share 5.1 releases
Includes all major Developer Platform improvements
Solr sharding and TXN MDQ improvements
2. Post 5.1 —> 2016
Share can follow a more frequent / independent release schedule
Independent maintenance schedules
Strategic improvements in the ReST API (vs Java), functionally and non functionally
More modularization, for agility and scalability purposes
30
Take-aways
1. API Lifecycle
Fundamental to avoid dependency hell
Clear, documented, easy to use and supported extension points
Key factor to drive seamless upgrades
2. Extreme Scalability
Solr Sharding
MDQ improvements
Tools and collaterals for sizing, scalability and reference architectures
3. Share separation
4. Upgrade task force
What you really need to remember about today’s session
Conclusions and Q/A
32
WHAT WHY WHERE WHEN WHO HOW
Any Question ???
Feel free to send your feedback at ole.hejlskov@alfresco.com or on twitter @OleHejlskov

More Related Content

What's hot

Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
Jeff Potts
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Jeff Potts
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Martin Bergljung
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM Market
Jeff Potts
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Manuel Garcia
 
[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix
Perforce
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
Adrian Trenaman
 
Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1
Angel Borroy López
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
Perforce
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
◄ vaquar khan ► ★✔
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know
Angel Borroy López
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
Achim Nierbeck
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
Jeff Potts
 
OSGi & Blueprint
OSGi & BlueprintOSGi & Blueprint
OSGi & Blueprint
Kara Satish Kumar
 
Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...
Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...
Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...
Amazon Web Services
 
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at IntelFrom ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
Perforce
 
eZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmapeZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmap
Roland Benedetti
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Perforce
 
Ren cao kafka connect
Ren cao   kafka connectRen cao   kafka connect
Ren cao kafka connect
Nitin Kumar
 

What's hot (20)

Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
 
Building Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco APIBuilding Content-Rich Java Apps in the Cloud with the Alfresco API
Building Content-Rich Java Apps in the Cloud with the Alfresco API
 
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco StudiosPerforce Helix Never Dies: DevOps at Bandai Namco Studios
Perforce Helix Never Dies: DevOps at Bandai Namco Studios
 
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
Alfresco DevCon 2018: SDK 3 Multi Module project using Nexus 3 for releases a...
 
Alfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM MarketAlfresco: The Story of How Open Source Disrupted the ECM Market
Alfresco: The Story of How Open Source Disrupted the ECM Market
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
 
[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix[Citrix] Perforce Standardisation at Citrix
[Citrix] Perforce Standardisation at Citrix
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
 
Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1Ef09 installing-alfresco-components-1-by-1
Ef09 installing-alfresco-components-1-by-1
 
How to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse BranchesHow to Reduce Database Load with Sparse Branches
How to Reduce Database Load with Sparse Branches
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know10 Tips Every New Developer in Alfresco Should Know
10 Tips Every New Developer in Alfresco Should Know
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
OSGi & Blueprint
OSGi & BlueprintOSGi & Blueprint
OSGi & Blueprint
 
Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...
Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...
Containerize Legacy .NET Framework Web Apps for Cloud Migration - ENT201 - Ch...
 
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at IntelFrom ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
From ClearCase to Perforce Helix: Breakthroughs in Scalability at Intel
 
eZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmapeZ Publish Platform 5.2 and roadmap
eZ Publish Platform 5.2 and roadmap
 
Supporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce HelixSupporting Digital Media Workflows in the Cloud with Perforce Helix
Supporting Digital Media Workflows in the Cloud with Perforce Helix
 
Ren cao kafka connect
Ren cao   kafka connectRen cao   kafka connect
Ren cao kafka connect
 

Similar to Alfresco Day Platform Update

Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform UpdatesAlfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Software
 
Alfresco Day Stockholm 2015 - Platform Update
Alfresco Day Stockholm 2015 - Platform UpdateAlfresco Day Stockholm 2015 - Platform Update
Alfresco Day Stockholm 2015 - Platform Update
Nicole Szigeti
 
Alfresco Day Amsterdam 2015 - Developer Platform Updates
Alfresco Day Amsterdam 2015 - Developer Platform UpdatesAlfresco Day Amsterdam 2015 - Developer Platform Updates
Alfresco Day Amsterdam 2015 - Developer Platform Updates
Alfresco Software
 
Alfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform UpdateAlfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform Update
Alfresco Software
 
2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study
Symphony Software Foundation
 
Deploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP PlatformsDeploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP Platforms
Angel Borroy López
 
Evaluation Ria Frameworks
Evaluation Ria FrameworksEvaluation Ria Frameworks
Evaluation Ria Frameworks
Rishi Singh
 
Dataverse in the European Open Science Cloud
Dataverse in the European Open Science CloudDataverse in the European Open Science Cloud
Dataverse in the European Open Science Cloud
vty
 
DoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptxDoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptx
fengerqiang
 
Enterprise GlassFish
Enterprise GlassFishEnterprise GlassFish
Enterprise GlassFish
Alicja Sieminska
 
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesNavigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Altoros
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
Marco Ferrigno
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
NaLUG
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
Murat Yener
 
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
Cloudify Community
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15
Edureka!
 
OCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes LaunchOCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes Launch
PT Datacomm Diangraha
 
Alfresco 4.0 - A Complete Introduction
 Alfresco 4.0 - A Complete Introduction Alfresco 4.0 - A Complete Introduction
Alfresco 4.0 - A Complete Introduction
Ajeet Singh
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
vijayrvr
 

Similar to Alfresco Day Platform Update (20)

Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform UpdatesAlfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
Alfresco Day Vienna 2015 - Technical Track - Developer Platform Updates
 
Alfresco Day Stockholm 2015 - Platform Update
Alfresco Day Stockholm 2015 - Platform UpdateAlfresco Day Stockholm 2015 - Platform Update
Alfresco Day Stockholm 2015 - Platform Update
 
Alfresco Day Amsterdam 2015 - Developer Platform Updates
Alfresco Day Amsterdam 2015 - Developer Platform UpdatesAlfresco Day Amsterdam 2015 - Developer Platform Updates
Alfresco Day Amsterdam 2015 - Developer Platform Updates
 
Alfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform UpdateAlfresco Day Roma 2015: Platform Update
Alfresco Day Roma 2015: Platform Update
 
2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study
 
Deploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP PlatformsDeploying Containerised Open-Source CSP Platforms
Deploying Containerised Open-Source CSP Platforms
 
Evaluation Ria Frameworks
Evaluation Ria FrameworksEvaluation Ria Frameworks
Evaluation Ria Frameworks
 
Dataverse in the European Open Science Cloud
Dataverse in the European Open Science CloudDataverse in the European Open Science Cloud
Dataverse in the European Open Science Cloud
 
DoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptxDoD-Enterprise-DevSecOps-Initiative.pptx
DoD-Enterprise-DevSecOps-Initiative.pptx
 
Enterprise GlassFish
Enterprise GlassFishEnterprise GlassFish
Enterprise GlassFish
 
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry TilesNavigating the Ecosystem of Pivotal Cloud Foundry Tiles
Navigating the Ecosystem of Pivotal Cloud Foundry Tiles
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Eclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client RoundupEclipsist2009 Rich Client Roundup
Eclipsist2009 Rich Client Roundup
 
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
 
DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15DevOps-Redefining your IT Strategy-28thJan15
DevOps-Redefining your IT Strategy-28thJan15
 
OCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes LaunchOCP Datacomm RedHat - Kubernetes Launch
OCP Datacomm RedHat - Kubernetes Launch
 
Alfresco 4.0 - A Complete Introduction
 Alfresco 4.0 - A Complete Introduction Alfresco 4.0 - A Complete Introduction
Alfresco 4.0 - A Complete Introduction
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Vijay Oscon
Vijay OsconVijay Oscon
Vijay Oscon
 

Recently uploaded

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
GDSC PJATK
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
saastr
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 

Recently uploaded (20)

Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!Finale of the Year: Apply for Next One!
Finale of the Year: Apply for Next One!
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 

Alfresco Day Platform Update

  • 1. What’s new with the Alfresco Platform? Ole Hejlskov Developer Evangelist @OleHejlskov Welcome!
  • 2. 2 A look at today’s presentation agenda Alfresco Platform Roadmap Platform Vision What problems does the Alfresco Platform helps and will help solve and for which personas Platform projects Overview of current ongoing platform initiatives
  • 3. 3 Extreme Scalability Proving Alfresco at Cloud scale and providing tools & reference point for real life implementations Upgrade Task Force Simplification of the customer maintenance lifecycle, in response of overwhelming customer validation Share separation Effects of the Share separation and Core platform modularization Dev Platform & SDK Consolidate & Expand APIs / extension points to ensure high longevity Alfresco application development and greatly simplify SDK based Alfresco development
  • 4. 4 A look at today’s presentation agenda Alfresco Platform Roadmap What’s in it & when? When can you expect release of the ongoing projects, what are backlog and horizon 2 projects Conclusions and QA Recap of the platform lifecycle makeover and open discussion
  • 5. Vision for the Alfresco Platform Objectives and guiding forces driving development of the Alfresco Platform
  • 6. 6 Build an open and scalable platform to power the rapid development and deployment of hybrid content centric applications in the Alfresco extended ecosystem Platform Vision
  • 7. 7 Pillars of the Alfresco Platform vision Understanding the vision Open Open source, based on Open Source components and Open Standards, multi-language Scalable Architected to perform at cloud scale, along multiple scalability dimensions & different use cases Development A product that Devs love, with comprehensive, stable & supported APIs and SDKs Rapid Offering a high productivity development environment and a smooth learning curve Applications Smart process applications and any other integrated application Extended ecosystem Powering both internal and external (community, partners, customers) development Deployment A product that Ops love, with a simple yet scalable cloud ready installation and configuration Hybrid The Platform & solutions built on it must be able to run on premise or on Cloud (or both)
  • 8. 8 Technology & market innovation driving Alfresco Platform strategy Driving Forces Hybrid ECM Innovate at Cloud speed Think Big Customer driven Platform and solutions should be able to run on premise, on cloud or both Deliver innovation to the on premise and cloud products with agility typical of pure SaaS players Enable the scaling of people, processes and products Customer feedback, research, validation, pretotyping at the core of ideation and decision making process
  • 9. 9 Key improvement areas in the customer lifecycle Customer Driven Backwards Compatibility Java Modules Index Extreme scale Backwards Compatibility Share Extensions Modules Isolation In place upgrade SP & HF Repository Extreme Scale Backwards Compatibility Remote Applications
  • 10. Alfresco Platform projects Ongoing developments in the Alfresco Platform
  • 11. 11 Platform Investments An end to end Platform lifecycle makeover DeploymentTesting Release Integration Maintenance Standard Dev Env Share Separation API BCKs Xtreme scalability Share separation API compatibility JAR modules Modules isolation Dev Docs / Samples Solr Sharding Suite installers In-place SP & HF API Compatibility Share separation Development
  • 12. 12 Testing real life cloud-scale use cases Extreme Scalability 1. Loading Alfresco on AWS + Aurora up to 1B documents 2. Indexing 1B documents with a sharded Solr configuration (20 shards, with 50M docs) 3. Improve MDQ to support transactional use cases (OR and boolean support) 4. Test real life use cases, starting with Share collaboration and Headless Content Platform 5. Producing sizing and scalability blueprints based on real data collected at different data points
  • 13. 13 Some numbers Extreme Scalability 1. The best document load rate for the number of Alfresco servers, latency and load balancer thresholds was 1000 documents per second (with 10 nodes); the load rate was consistent even passing the 1B document 2. A 3.2 TB Aurora database did not show any degradation 3. On 1B docs: Query: select * from cmis:document where IN_FOLDER('0d10d28f-4671-4077-b888-b7f4eaf1b450') order by cmis:name asc Paging: Limit 100 and various skips applied to the known 1000 results Time: 150ms
  • 14. 14 What’s in it for me? Extreme Scalability 1. Alfresco.next supporting Solr Sharding!!! 2. Improved Metadata queries (OR and Boolean Support) 3. Updated scalability blueprint for 5.x 4. Updated AWS reference architecture for 5.x
  • 15. 15 Enabling a seamless maintenance for Alfresco Upgrade Task Force 1. In place application of SP & HF (not major and minor upgrades, for now) 2. Separation of Share and Platform releases for independent consumption (and definition of a clear compatibility matrix) 3. Consolidation of Public API Lifecycle to ensure high longevity customizations (no need for re-test)
  • 16. 16 Effects to the product lifecycle Share / Platform separation Platform and Share can be built and developed independently Dev Release Install Platform and Share can be released independently (or together) Maintain Suite and independent installers for Alfresco and Share Consume new version of Platform & Share independently And what about compatibility?
  • 17. 17 Modularizing the platform Breaking the monolith Alfresco Platform Core set of functionalities exposing extension points including Java and ReST APIs Transformation services Can be scaled independently using the transformation server or in MM for video transformations Share services (New!)Subset of platform functionalities now extracted in a separate module (AMP) following the Share release lifecycle Search services Can be scaled independently as it relies on Solr4 standalone (with Replication and Sharding support)
  • 18. 18 Share separation takeaways 1. Share (only) releases will now contain a share-services.amp which contains Share specific backing APIs 2. Platform (only) released will no longer contain Share specific Java services 3. Compatibility between Share & Alfresco is driven by the Java (not ReST) APIs compatibility policy (wait for it…in the next slides!) 4. Expect more frequent Share releases on prem (quarterly) and on cloud What you need to know!
  • 19. 19 Alfresco for the Developers 1. Comprehensive set of content management & workflow Java and ReST API 2. Modular UI framework to custom business solutions 3. De facto standard based and enterprise ready SDKs for web and mobile development 4. Compatibility between Share & Alfresco is driven by the Java (not ReST) APIs compatibility policy (wait for it…in the next slides!) What’s great about Alfresco Dev Platform
  • 20. 20 Multiple ways Alfresco helps you achieve your custom solutions The Alfresco Developer conundrum Compatibility Dev Env Compatibility Aikau based Dev Env StrategicTactical
  • 21. 21 Consolidate & Extend Platform execution strategy Consolidate Alfresco.next Extend Post Alfresco.next
  • 22. 22 Developer platform consolidation 1. Documentation of Extension (Platform Java & Share) & integration (ReST) points Move old ReST API to Limited Support and double down on new Alfresco One API Cleary identify and document supported Java and Share 2. API lifecycle, support and Backward compatibility In process - Major version support ReST - Independently versioned and inherently backward compatible 3. Customer success driven tactical investments on the Java platform & modules JAR simple module support (for Alfresco and Share) Physical isolation of modules without need to modify Alfresco (immutable) Share modules support and reporting Ongoing activities targeting Alfresco.next
  • 23. 23 docs.alfresco.com/5.0/concepts/dev-extensions-share-extension-points-introduction.html Status Live on Alfresco Docs For each extension point Clear documentation Sample code (easily forkable) A Support status Major version compatibility A glimpse on the improved Alfresco Dev Experience Share extension points documentation How can you help Send feedback to me, ole.hejlskov@alfresco.com or via Alfresco DEVPLAT project
  • 24. 24 docs.alfresco.com/5.0/concepts/dev-extensions-share-extension-points-introduction.html Status Live on Alfresco Docs For each extension point Clear documentation Sample code (easily forkable) A Support status Major version compatibility A glimpse on the improved Alfresco Dev Experience Platform extension points documentation How can you help Send feedback to me, ole.hejlskov@alfresco.com or via Alfresco DEVPLAT project
  • 25. 25 So what about compatibility? 1. Major version for Platform and Share extensions (modules) Your custom module built on 5.1 Public API will work throughout the whole 5.x Share 5.x will be compatible with 5.1 Alfresco modules can be compatible for a major version 2. ReST API version driven support for integrations (standalone apps) Not bound to the Alfresco version Clear rules for versioning of ReST APIs Should ideally never need to version, requires client side discoverability For internal and external Alfresco extensions and integrations
  • 26. 26 Alfresco SDK What’s out already Alfresco SDK 2.1.0 - Compatible with 5.0, with hot reloading (Platform & Share) What’s on the way Alfresco SDK 2.1.1 - Multiple bug-fixes, backward compatible Together with Alfresco next Fully supported, easily forkable and complete set of samples on alfresco-sdk- samples (in Github) Improved hot reloading Customer value driven prioritization of Public Github issues. Request enhancements at https://github.com/Alfresco/alfresco-sdk/issues Making Alfresco development even more productive, safe and fun
  • 27. What & when? An outlook to our target Platform release plan
  • 28. 28 n provided in the following slide is roadmap information and therefore subtle to change in subject, timeline
  • 29. 29 Platform release targets 1. Target: 5.1 —> End of primo 2016 Both Platform and Share 5.1 releases Includes all major Developer Platform improvements Solr sharding and TXN MDQ improvements 2. Post 5.1 —> 2016 Share can follow a more frequent / independent release schedule Independent maintenance schedules Strategic improvements in the ReST API (vs Java), functionally and non functionally More modularization, for agility and scalability purposes
  • 30. 30 Take-aways 1. API Lifecycle Fundamental to avoid dependency hell Clear, documented, easy to use and supported extension points Key factor to drive seamless upgrades 2. Extreme Scalability Solr Sharding MDQ improvements Tools and collaterals for sizing, scalability and reference architectures 3. Share separation 4. Upgrade task force What you really need to remember about today’s session
  • 32. 32 WHAT WHY WHERE WHEN WHO HOW Any Question ??? Feel free to send your feedback at ole.hejlskov@alfresco.com or on twitter @OleHejlskov