17
APACHE SLING & FRIENDS TECH MEETUP BERLIN, 23-25 SEPTEMBER 2013 Sling IDE Tooling Robert Munteanu – [email protected]

Sling IDE Tooling @ adaptTo 2013

Embed Size (px)

DESCRIPTION

This talk contains an overview of the Sling IDE tooling which has been under development under the Apache Sling project for the last year. It will focus on how a developer can connect his/her IDE to an Apache Sling installation and develop against it without the need to use other tools. We will also provide an intro to the technical foundations of the IDE tooling, for those interested in contributing.

Citation preview

Page 1: Sling IDE Tooling @ adaptTo 2013

APACHE SLING & FRIENDS TECH MEETUPBERLIN, 23-25 SEPTEMBER 2013

Sling IDE ToolingRobert Munteanu – [email protected]

Page 2: Sling IDE Tooling @ adaptTo 2013

A little bit about myself

2

● Apache Sling committer

● Long-time Open Source developer ( MantisBT , Eclipse Mylyn Connectors )

● Working on Adobe CQ

adaptTo() 2013

Page 3: Sling IDE Tooling @ adaptTo 2013

Agenda

adaptTo() 2013 3

● Why did we start working on IDE tooling?● What have we done so far?● What do we want to do next?● How is the IDE tooling developed?

Page 4: Sling IDE Tooling @ adaptTo 2013

Why did we start work on IDE tooling?

4

[INFO] --- maven-sling-plugin:2.1.0:install (default-cli) @ ui ---

[INFO] Installing Bundle ui(.../ui/target/ui-0.1-SNAPSHOT.jar) to http://localhost:8080/system/console via POST

[INFO] Bundle installed

[INFO] ------------------------------------------------------------------------

[INFO] Reactor Summary:

[INFO] Sling Content Explorer - UI ....................... SUCCESS [5.85s]

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------

[INFO] Total time: 5.850s

adaptTo() 2013

Page 5: Sling IDE Tooling @ adaptTo 2013

Why did we start work on IDE tooling?

5adaptTo() 2013

JCR Repository

nt:file nt:folder

nt:unstructured

Dav Client

Page 6: Sling IDE Tooling @ adaptTo 2013

Why did we start work on IDE tooling?

6adaptTo() 2013

Sling Repository

JCR Resource Provider

FileSystem Resource Provider

Local workspace

Page 7: Sling IDE Tooling @ adaptTo 2013

Why did we start work on IDE tooling?

7

$ vlt --version

Jackrabbit FileVault [version 3.0.0-SNAPSHOT] Copyright 2013 by Apache Software Foundation. See LICENSE.txt for more information.

$ vlt up

Connecting via JCR remoting to http://localhost:8080/serverU var/sling/bundle-content/org.apache.sling.launchpad.content/.content.xmlU var/sling/bundle-content/ui/.content.xmlU var/discovery/impl/clusterInstances/2fd93037-3e2c-48a3-a295-26fb5d3a999f/.content.xmU apps/jcrtest/install/some.config.pid.xmlU libs/sling/servlet/default/authenticate.jspU libs/sling/servlet/default/edit-body.jspU libs/sling/servlet/default/properties-custom.jsp

adaptTo() 2013

Page 8: Sling IDE Tooling @ adaptTo 2013

Intermission – FileVault primer

8

<workspaceFilter vesion="1.0">

<filter root="/apps/slingDemo">

<exclude pattern="^.*/form.*$" />

</filter>

<filter root="/content/slingDemo"/>

</workspaceFilter>

adaptTo() 2013

Page 9: Sling IDE Tooling @ adaptTo 2013

Intermission – FileVault primer

9adaptTo() 2013

Page 10: Sling IDE Tooling @ adaptTo 2013

Intermission – FileVault primer

10

<jcr:root

jcr:primaryType="sling:Folder"

jcr:mixinTypes="[vlt:FullCoverage]"

jcr:title=“My Sling Folder“>

<my-child-node

jcr:primaryType="nt:unstructured"

jcr:title="My child node..."

tags="[to-review,to-dispatch]"

visible="{Boolean}false"

publishTime="{Date}2013-09-04T10:00:00.000+03:00"/>

</jcr:root>

adaptTo() 2013

Page 11: Sling IDE Tooling @ adaptTo 2013

What have we done so far?

adaptTo() 2013 11

● Oct 2012 – Slingclipse first announced by Antonio Sanso

● May 2013 – Plans set out for initial release for Sling IDE Tooling

● Aug 2013 – FileVault donated to ASF● Sep 2013 – FileVault included in Sling

IDE Tooling Preview

Page 12: Sling IDE Tooling @ adaptTo 2013

What have we done so far?

adaptTo() 2013 12

Demo time● Server definition● Content synchronization● Bundle redeploy

Page 13: Sling IDE Tooling @ adaptTo 2013

What do we want to do next?

adaptTo() 2013 13

Sling IDE Tooling Roadmap● Community involvement – users and

contributors● Stabilize and deliver Eclipse tooling 1.0● Investigate tooling for other IDEs● $YOUR_FEATURE_HERE

Page 14: Sling IDE Tooling @ adaptTo 2013

How is the IDE tooling developed?

adaptTo() 2013 14

Eclipse

Core

UI

m2e-UI

Content Sync

FileVault

Resource

APIs andCore Utilities

Transport

Filter

Serialize

Page 15: Sling IDE Tooling @ adaptTo 2013

Resources

adaptTo() 2013 15

● Sling IDE Tools preview update site – http://people.apache.org/~rombert/sling/ide/preview/ http://s.apache.org/sling-ide-preview

● Sling IDE Tools codebase - http://svn.apache.org/repos/asf/sling/branches/tooling-ide-vlt/tooling/ide/ (soon to move to trunk)

Page 16: Sling IDE Tooling @ adaptTo 2013

Q&A

adaptTo() 2013 16

Q&A

Page 17: Sling IDE Tooling @ adaptTo 2013

Thank you

adaptTo() 2013 17