You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Robert Munteanu <ro...@apache.org> on 2021/12/03 15:55:40 UTC

Proposal: Recommend mechanism for launching the feature-model based Starter

Hi,

In the context of the upcoming Sling 12 launch we should settle on a
recommended mechanism for launching the Sling Starter.

I have written up a proposal, would welcome if others would take a look
[1].

I would like to wrap up discussion in two weeks from now, this should
give everyone time to comment and to find the best solution.

Thanks,
Robert

[1]:
https://cwiki.apache.org/confluence/display/SLING/Recommend+mechanism+for+launching+the+feature-model+based+Starter

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Robert Munteanu <ro...@apache.org>.
On Wed, 2021-12-08 at 14:30 +0100, Robert Munteanu wrote:
> On Wed, 2021-12-08 at 08:04 -0500, Daniel Klco wrote:
> > I like jbang and agree with Konrad, unless there's a good reason
> > not
> > to,
> > why not provide examples of a couple different ways of running
> > Sling
> > (e.g.
> > locally with jbang and via Docker)? Not that we need to provide a
> > dozen
> > options, but I found that projects that provide instructions to run
> > the
> > application in multiple ways help illustrate how an application can
> > be
> > run
> > and what options are available.
> 
> Using multiple options sounds good. I find the 'code snippets with
> multiple tabs' pattern useful for this kind of scenario, see [1] for
> an
> example.

I've updated the proposal to reflect this.

Thanks,
Robert

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Robert Munteanu <ro...@apache.org>.
On Wed, 2021-12-08 at 08:04 -0500, Daniel Klco wrote:
> I like jbang and agree with Konrad, unless there's a good reason not
> to,
> why not provide examples of a couple different ways of running Sling
> (e.g.
> locally with jbang and via Docker)? Not that we need to provide a dozen
> options, but I found that projects that provide instructions to run the
> application in multiple ways help illustrate how an application can be
> run
> and what options are available.

Using multiple options sounds good. I find the 'code snippets with
multiple tabs' pattern useful for this kind of scenario, see [1] for an
example.

Thanks,
Robert


[1]:
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-java?tabs=powershell#create-the-project

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Daniel Klco <dk...@apache.org>.
I like jbang and agree with Konrad, unless there's a good reason not to,
why not provide examples of a couple different ways of running Sling (e.g.
locally with jbang and via Docker)? Not that we need to provide a dozen
options, but I found that projects that provide instructions to run the
application in multiple ways help illustrate how an application can be run
and what options are available.

On Wed, Dec 8, 2021 at 6:46 AM Bertrand Delacretaz <bd...@apache.org>
wrote:

> Hi Robert,
>
> On Wed, Dec 8, 2021 at 11:43 AM Robert Munteanu <ro...@apache.org>
> wrote:
> > ...For the Sling Starter, it would be great if you could find the time to
> > add an entry to the wiki page [1] so we can see how it compares with
> > the other entries...
>
> Done, and IMHO I see JBang as a winner: simple installation, simple
> usage, flexible glue scripts (probably in a new sling-scripts
> repository)
>
> -Bertrand
>
> > [1]:
> >
> https://cwiki.apache.org/confluence/display/SLING/Recommend+mechanism+for+launching+the+feature-model+based+Starter
>

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Robert Munteanu <ro...@apache.org>.
On Wed, 2021-12-08 at 12:46 +0100, Bertrand Delacretaz wrote:
> Hi Robert,
> 
> On Wed, Dec 8, 2021 at 11:43 AM Robert Munteanu <ro...@apache.org>
> wrote:
> > ...For the Sling Starter, it would be great if you could find the
> > time to
> > add an entry to the wiki page [1] so we can see how it compares
> > with
> > the other entries...
> 
> Done, and IMHO I see JBang as a winner: simple installation, simple
> usage, flexible glue scripts (probably in a new sling-scripts
> repository)

Yup, and all that is missing is the glue, so somebody needs to write it
:-) I don't see jbang as easier to ask of than docker, but, as others
have noted, there is no reason not provide multiple options.

Well, to be pedantic, the only potential reason is that we need to
support them, but that's always been implicit with everything we do in
Sling, so we should be good here.

Thanks,
Robert

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Bertrand Delacretaz <bd...@apache.org>.
Hi Robert,

On Wed, Dec 8, 2021 at 11:43 AM Robert Munteanu <ro...@apache.org> wrote:
> ...For the Sling Starter, it would be great if you could find the time to
> add an entry to the wiki page [1] so we can see how it compares with
> the other entries...

Done, and IMHO I see JBang as a winner: simple installation, simple
usage, flexible glue scripts (probably in a new sling-scripts
repository)

-Bertrand

> [1]:
> https://cwiki.apache.org/confluence/display/SLING/Recommend+mechanism+for+launching+the+feature-model+based+Starter

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Robert Munteanu <ro...@apache.org>.
Hi Bertrand,

On Tue, 2021-12-07 at 10:03 +0100, Bertrand Delacretaz wrote:
> Hi,
> 
> On Fri, Dec 3, 2021 at 4:55 PM Robert Munteanu <ro...@apache.org>
> wrote:
> > ...In the context of the upcoming Sling 12 launch we should settle on
> > a
> > recommended mechanism for launching the Sling Starter...
> 
> I don't remember us discussing jbang but it might be a good
> alternative.

JBang looks nice, just played around with it a bit. I think some things
we are currently running as ad-hoc things ( release checker, groovy
scripts in sling-aggregator ) would benefit nicely from being written
in Java.

For the Sling Starter, it would be great if you could find the time to
add an entry to the wiki page [1] so we can see how it compares with
the other entries.

Thanks!
Robert

[1]:
https://cwiki.apache.org/confluence/display/SLING/Recommend+mechanism+for+launching+the+feature-model+based+Starter

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Bertrand Delacretaz <bd...@apache.org>.
Hi,

On Fri, Dec 3, 2021 at 4:55 PM Robert Munteanu <ro...@apache.org> wrote:
> ...In the context of the upcoming Sling 12 launch we should settle on a
> recommended mechanism for launching the Sling Starter...

I don't remember us discussing jbang but it might be a good alternative.

As a demo I have setup a stub startup script [1] which you can call with

  jbang start@apache/sling-whiteboard -p 1234

After installing jbang if needed from [2], without even requiring a
JVM to be preinstalled. The right JVM version can be selected by the
script [5].

Another example [3] parses a repoinit script after downloading the
required dependencies listed in the script with //DEPS :

  echo "create path /itworks" | jbang repoinitValidator@apache/sling-whiteboard

The mapping between those jbang commands and the scripts happens via a
jbang catalog JSON file at [4].

I think this would be a nice way of creating the necessary glue to
start Sling from scratch, and the instructions fit in a tweet which I
like a lot ;-)

We'd probably create a specific repository for those scripts, so the
above commands would use sling-start instead of sling-whiteboard.

-Bertrand

[1] https://github.com/apache/sling-whiteboard/blob/master/start.java
[2] https://www.jbang.dev/download/
[3] https://github.com/apache/sling-whiteboard/blob/master/jbang/RepoinitValidator.java
[4] https://github.com/apache/sling-whiteboard/blob/master/jbang-catalog.json
[5] https://www.jbang.dev/documentation/guide/latest/javaversions.html

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Robert Munteanu <ro...@apache.org>.
On Mon, 2021-12-06 at 10:28 +0100, Robert Munteanu wrote:
> Hi Carsten,
> 
> On Sat, 2021-12-04 at 15:06 +0100, Carsten Ziegeler wrote:
> > Hi,
> > 
> > I'm fine with whatever solution we can agree on, however if we
> > promote a 
> > docker based solution we increase the requirements (installed tools)
> > to 
> > be able to run the starter. Now, I guess everyone will now tell me
> > that 
> > everyone else has docker installed anyway but some users might have
> > challenges with that.
> 
> Right, questioning whether requiring Docker/Podman/etc really is simple
> for our users is a good point.
> 
> I'll try and gather some data around that. There are some developer
> surveys floating around (Stackoverflow, ZeroTurnaround, JetBrains),
> I'll try and check if they have data on Docker usage for development.
> If you have something in particular in mind as a target group, let me
> know.

I added some points to [1]. Briefly, besides the 'we probably don't
support the latest JVM' argument, it looks like Docker is available to
a majority of users. There is no hard data on whether this is more
available more than 'the right JVM version'.

Thanks,
Robert

[1]:
https://cwiki.apache.org/confluence/display/SLING/Recommend+mechanism+for+launching+the+feature-model+based+Starter#RecommendmechanismforlaunchingthefeaturemodelbasedStarter-JavavsContainers

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Robert Munteanu <ro...@apache.org>.
Hi Carsten,

On Sat, 2021-12-04 at 15:06 +0100, Carsten Ziegeler wrote:
> Hi,
> 
> I'm fine with whatever solution we can agree on, however if we
> promote a 
> docker based solution we increase the requirements (installed tools)
> to 
> be able to run the starter. Now, I guess everyone will now tell me
> that 
> everyone else has docker installed anyway but some users might have 
> challenges with that.

Right, questioning whether requiring Docker/Podman/etc really is simple
for our users is a good point.

I'll try and gather some data around that. There are some developer
surveys floating around (Stackoverflow, ZeroTurnaround, JetBrains),
I'll try and check if they have data on Docker usage for development.
If you have something in particular in mind as a target group, let me
know.

The main reason I think containers are easier to run compared to Java
applications is that we historically don't support new JRE versions
immediately due to our slow release cycle, which is problematic for
users who run on the latest version, either by intention or by accident
(auto-updaters).

Thanks,
Robert

Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Konrad Windszus <ko...@gmx.de>.
Hi,
We can still add a link to Feature Launcher or Kickstart Launcher as 2nd best option for everyone who doesn't want to use Docker (for whatever reason). But I am also +1 on primarily promoting Sling Starter Container.
Konrad

> On 4. Dec 2021, at 15:06, Carsten Ziegeler <cz...@apache.org> wrote:
> 
> Hi,
> 
> I'm fine with whatever solution we can agree on, however if we promote a docker based solution we increase the requirements (installed tools) to be able to run the starter. Now, I guess everyone will now tell me that everyone else has docker installed anyway but some users might have challenges with that.
> 
> Regards
> Carsten
> 
> Am 03.12.2021 um 16:55 schrieb Robert Munteanu:
>> Hi,
>> In the context of the upcoming Sling 12 launch we should settle on a
>> recommended mechanism for launching the Sling Starter.
>> I have written up a proposal, would welcome if others would take a look
>> [1].
>> I would like to wrap up discussion in two weeks from now, this should
>> give everyone time to comment and to find the best solution.
>> Thanks,
>> Robert
>> [1]:
>> https://cwiki.apache.org/confluence/display/SLING/Recommend+mechanism+for+launching+the+feature-model+based+Starter
> 
> -- 
> Carsten Ziegeler
> Adobe
> cziegeler@apache.org


Re: Proposal: Recommend mechanism for launching the feature-model based Starter

Posted by Carsten Ziegeler <cz...@apache.org>.
Hi,

I'm fine with whatever solution we can agree on, however if we promote a 
docker based solution we increase the requirements (installed tools) to 
be able to run the starter. Now, I guess everyone will now tell me that 
everyone else has docker installed anyway but some users might have 
challenges with that.

Regards
Carsten

Am 03.12.2021 um 16:55 schrieb Robert Munteanu:
> Hi,
> 
> In the context of the upcoming Sling 12 launch we should settle on a
> recommended mechanism for launching the Sling Starter.
> 
> I have written up a proposal, would welcome if others would take a look
> [1].
> 
> I would like to wrap up discussion in two weeks from now, this should
> give everyone time to comment and to find the best solution.
> 
> Thanks,
> Robert
> 
> [1]:
> https://cwiki.apache.org/confluence/display/SLING/Recommend+mechanism+for+launching+the+feature-model+based+Starter
> 

-- 
Carsten Ziegeler
Adobe
cziegeler@apache.org