You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by Carsten Ziegeler <cz...@apache.org> on 2017/10/03 10:11:51 UTC

[discuss] Launchpad user experience

I think we can improve the user experience with our launchpad.
Let's start with the simpler issue:

Right now if you start the app and try "too soon" to open a page in your
browser you might get a nasty message like some service is missing etc.
That's not very helpful.

I've written a simple bundle at [1] which displays the message "Apache
Sling is starting up...". We could even enhance it with a little
javascript to reload itself. I know we have the startup filter, but
that's more a general purpose thing while this module is exactly there
to improve the user experience. We could add whatever we need to improve
that. I think we should release it and add it to launchpad to make this
problem go away.

Now the more interesting part is ... naming :)

While the downloads page states "Sling Application" we always refer to
it as "launchpad". Even the downloaded artifact has "launchpad" in it.
Now "launchpad" has no meaning to someone new to Sling and further more
its a technical term describing how we launch Sling. So I think we
should not use this for our Sling downloads.

"Sling Application" is far better but might not be the best description
either. I thought about "Sling Demo Application" but that's not quiet
right either. It's definitely not a distribution as we don't intend that
people use this in production.

So I think we should come up with a good (short) name for this thing and
then use it throughout our documentation and in the artifact id. And
forget about using the term launchpad. (As soon as we move to the new
feature model we don't use launchpad technology anymore anyway).

We should also improve our docs on building a real application with
Sling. But that's a different topic and I plan to work on this in
November to improve the docs around that.

WDYT?

Regards
Carsten

[1]
https://svn.apache.org/repos/asf/sling/whiteboard/cziegeler/demo.startup/
-- 
Carsten Ziegeler
Adobe Research Switzerland
cziegeler@apache.org

Re: [discuss] Launchpad user experience

Posted by Karl Pauls <ka...@gmail.com>.
On Tue, Oct 3, 2017 at 12:11 PM, Carsten Ziegeler <cz...@apache.org> wrote:
> I think we can improve the user experience with our launchpad.
> Let's start with the simpler issue:
>
> Right now if you start the app and try "too soon" to open a page in your
> browser you might get a nasty message like some service is missing etc.
> That's not very helpful.
>
> I've written a simple bundle at [1] which displays the message "Apache
> Sling is starting up...". We could even enhance it with a little
> javascript to reload itself. I know we have the startup filter, but
> that's more a general purpose thing while this module is exactly there
> to improve the user experience. We could add whatever we need to improve
> that. I think we should release it and add it to launchpad to make this
> problem go away.

+1, I think this is a great idea.

regards,

Karl

> Now the more interesting part is ... naming :)
>
> While the downloads page states "Sling Application" we always refer to
> it as "launchpad". Even the downloaded artifact has "launchpad" in it.
> Now "launchpad" has no meaning to someone new to Sling and further more
> its a technical term describing how we launch Sling. So I think we
> should not use this for our Sling downloads.
>
> "Sling Application" is far better but might not be the best description
> either. I thought about "Sling Demo Application" but that's not quiet
> right either. It's definitely not a distribution as we don't intend that
> people use this in production.
>
> So I think we should come up with a good (short) name for this thing and
> then use it throughout our documentation and in the artifact id. And
> forget about using the term launchpad. (As soon as we move to the new
> feature model we don't use launchpad technology anymore anyway).
>
> We should also improve our docs on building a real application with
> Sling. But that's a different topic and I plan to work on this in
> November to improve the docs around that.
>
> WDYT?
>
> Regards
> Carsten
>
> [1]
> https://svn.apache.org/repos/asf/sling/whiteboard/cziegeler/demo.startup/
> --
> Carsten Ziegeler
> Adobe Research Switzerland
> cziegeler@apache.org



-- 
Karl Pauls
karlpauls@gmail.com

Re: [discuss] Launchpad user experience

Posted by Oliver Lietz <ap...@oliverlietz.de>.
On Wednesday 04 October 2017 00:43:14 Karl Pauls wrote:
> On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
> 
> <bd...@apache.org> wrote:
> > On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <ko...@gmx.de> wrote:
> >> ..."Sling Reference Distribution"....
> > 
> > I like that, and the frontpage of that distribution can specify that
> > for most uses people will want to customize the provisioning model.
> 
> Hm, in that case, wouldn't it be better to just call it:
> 
> "Sling Base" (or possibly, "Sling Base Distribution")
> 
> I'm terrible with naming so YMMV - but, to me that would make it clear
> that I'm getting the minimum and are supposed to extend it...

Besides Launchpad Standalone and Web we also have Sling Karaf Distribution:

https://github.com/apache/sling/tree/trunk/karaf

Regards,
O.

> regards,
> 
> Karl
> 
> > -Bertrand



Re: [discuss] Launchpad user experience

Posted by Carsten Ziegeler <cz...@apache.org>.
Hmm good point, I think we can leave out the "standalone", it's either
Sling App or Sling Web App.


As a first timer I would have no idea what "Standalone" means.


But that's just my 2c


Carsten


Oliver Lietz wrote
> On Wednesday 04 October 2017 09:42:44 Carsten Ziegeler wrote:
>> I like Starter as well (and agree that quickstart would be nice but we
>> shouldn't use it due to the mentioned problems)
>>
>> So this would be Sling Starter as the basic name, Sling Starter
>> Application for our jar and Sling Starter Web Application.
> 
> +1, or Sling Starter *Standalone* Application (we have named the self-runnable 
> JAR *Standalone* in the past)? 
> 
> O.
> 
>> Sounds good to me.
>>
>> Regards
>>
>> Carsten
>>
>>
>> Robert Munteanu wrote
>>
>>> On Wed, 2017-10-04 at 00:43 +0200, Karl Pauls wrote:
>>>> On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
>>>>
>>>> <bd...@apache.org> wrote:
>>>>> On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <ko...@gmx.de>
>>>>>
>>>>> wrote:
>>>>>> ..."Sling Reference Distribution"....
>>>>>
>>>>> I like that, and the frontpage of that distribution can specify
>>>>> that
>>>>> for most uses people will want to customize the provisioning model.
>>>>
>>>> Hm, in that case, wouldn't it be better to just call it:
>>>>
>>>> "Sling Base" (or possibly, "Sling Base Distribution")
>>>>
>>>> I'm terrible with naming so YMMV - but, to me that would make it
>>>> clear
>>>> that I'm getting the minimum and are supposed to extend it...
>>>
>>> We already have 'Sling Distribution' [1] and this would make things
>>> confusing IMO.
>>>
>>> I think Eugen made some good suggestions in his reply:
>>>
>>> - bootstrap ( although also a bit overloaded due to [2] )
>>> - loader
>>> - starter
>>>
>>> Out of these starter looks good to me - it really is a 'starter' as it
>>> both:
>>>
>>> - works as an appetizer for all things Sling, before you really get
>>> your hands dirty
>>> - allows you to start quickly with Sling
>>>
>>> I would even suggest Sling Quick-Start, but that's again overloaded due
>>> to AEM.
>>>
>>> Robert
>>>
>>> [1]: https://sling.apache.org/documentation/bundles/content-distributio
>>> n.html
>>> [2]: http://getbootstrap.com/
> 
-- 
Carsten Ziegeler
Adobe Research Switzerland
cziegeler@apache.org

Re: [discuss] Launchpad user experience

Posted by Oliver Lietz <ap...@oliverlietz.de>.
On Wednesday 04 October 2017 09:42:44 Carsten Ziegeler wrote:
> I like Starter as well (and agree that quickstart would be nice but we
> shouldn't use it due to the mentioned problems)
> 
> So this would be Sling Starter as the basic name, Sling Starter
> Application for our jar and Sling Starter Web Application.

+1, or Sling Starter *Standalone* Application (we have named the self-runnable 
JAR *Standalone* in the past)? 

O.

> Sounds good to me.
> 
> Regards
> 
> Carsten
> 
> 
> Robert Munteanu wrote
> 
> > On Wed, 2017-10-04 at 00:43 +0200, Karl Pauls wrote:
> >> On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
> >> 
> >> <bd...@apache.org> wrote:
> >>> On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <ko...@gmx.de>
> >>> 
> >>> wrote:
> >>>> ..."Sling Reference Distribution"....
> >>> 
> >>> I like that, and the frontpage of that distribution can specify
> >>> that
> >>> for most uses people will want to customize the provisioning model.
> >> 
> >> Hm, in that case, wouldn't it be better to just call it:
> >> 
> >> "Sling Base" (or possibly, "Sling Base Distribution")
> >> 
> >> I'm terrible with naming so YMMV - but, to me that would make it
> >> clear
> >> that I'm getting the minimum and are supposed to extend it...
> > 
> > We already have 'Sling Distribution' [1] and this would make things
> > confusing IMO.
> > 
> > I think Eugen made some good suggestions in his reply:
> > 
> > - bootstrap ( although also a bit overloaded due to [2] )
> > - loader
> > - starter
> > 
> > Out of these starter looks good to me - it really is a 'starter' as it
> > both:
> > 
> > - works as an appetizer for all things Sling, before you really get
> > your hands dirty
> > - allows you to start quickly with Sling
> > 
> > I would even suggest Sling Quick-Start, but that's again overloaded due
> > to AEM.
> > 
> > Robert
> > 
> > [1]: https://sling.apache.org/documentation/bundles/content-distributio
> > n.html
> > [2]: http://getbootstrap.com/


Re: [discuss] Launchpad user experience

Posted by Konrad Windszus <ko...@gmx.de>.
+1 for Sling Starter

(Didn't think about the name clash of Sling Distribution, thanks for the hint Robert)

> On 4. Oct 2017, at 09:51, Karl Pauls <ka...@gmail.com> wrote:
> 
> +1 Sling Starter works for me.
> 
> regards,
> 
> Karl
> 
> On Wednesday, October 4, 2017, Carsten Ziegeler <cz...@apache.org>
> wrote:
> 
>> I like Starter as well (and agree that quickstart would be nice but we
>> shouldn't use it due to the mentioned problems)
>> 
>> So this would be Sling Starter as the basic name, Sling Starter
>> Application for our jar and Sling Starter Web Application.
>> 
>> Sounds good to me.
>> 
>> Regards
>> 
>> Carsten
>> 
>> 
>> Robert Munteanu wrote
>>> On Wed, 2017-10-04 at 00:43 +0200, Karl Pauls wrote:
>>>> On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
>>>> <bdelacretaz@apache.org <javascript:;>> wrote:
>>>>> On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <konrad_w@gmx.de
>> <javascript:;>>
>>>>> wrote:
>>>>>> ..."Sling Reference Distribution"....
>>>>> 
>>>>> I like that, and the frontpage of that distribution can specify
>>>>> that
>>>>> for most uses people will want to customize the provisioning model.
>>>> 
>>>> Hm, in that case, wouldn't it be better to just call it:
>>>> 
>>>> "Sling Base" (or possibly, "Sling Base Distribution")
>>>> 
>>>> I'm terrible with naming so YMMV - but, to me that would make it
>>>> clear
>>>> that I'm getting the minimum and are supposed to extend it...
>>> 
>>> We already have 'Sling Distribution' [1] and this would make things
>>> confusing IMO.
>>> 
>>> I think Eugen made some good suggestions in his reply:
>>> 
>>> - bootstrap ( although also a bit overloaded due to [2] )
>>> - loader
>>> - starter
>>> 
>>> Out of these starter looks good to me - it really is a 'starter' as it
>>> both:
>>> 
>>> - works as an appetizer for all things Sling, before you really get
>>> your hands dirty
>>> - allows you to start quickly with Sling
>>> 
>>> I would even suggest Sling Quick-Start, but that's again overloaded due
>>> to AEM.
>>> 
>>> Robert
>>> 
>>> [1]: https://sling.apache.org/documentation/bundles/content-distributio
>>> n.html
>>> [2]: http://getbootstrap.com/
>>> 
>> --
>> Carsten Ziegeler
>> Adobe Research Switzerland
>> cziegeler@apache.org <javascript:;>
>> 
> 
> 
> -- 
> Karl Pauls
> karlpauls@gmail.com


Re: [discuss] Launchpad user experience

Posted by Karl Pauls <ka...@gmail.com>.
+1 Sling Starter works for me.

regards,

Karl

On Wednesday, October 4, 2017, Carsten Ziegeler <cz...@apache.org>
wrote:

> I like Starter as well (and agree that quickstart would be nice but we
> shouldn't use it due to the mentioned problems)
>
> So this would be Sling Starter as the basic name, Sling Starter
> Application for our jar and Sling Starter Web Application.
>
> Sounds good to me.
>
> Regards
>
> Carsten
>
>
> Robert Munteanu wrote
> > On Wed, 2017-10-04 at 00:43 +0200, Karl Pauls wrote:
> >> On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
> >> <bdelacretaz@apache.org <javascript:;>> wrote:
> >>> On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <konrad_w@gmx.de
> <javascript:;>>
> >>> wrote:
> >>>> ..."Sling Reference Distribution"....
> >>>
> >>> I like that, and the frontpage of that distribution can specify
> >>> that
> >>> for most uses people will want to customize the provisioning model.
> >>
> >> Hm, in that case, wouldn't it be better to just call it:
> >>
> >> "Sling Base" (or possibly, "Sling Base Distribution")
> >>
> >> I'm terrible with naming so YMMV - but, to me that would make it
> >> clear
> >> that I'm getting the minimum and are supposed to extend it...
> >
> > We already have 'Sling Distribution' [1] and this would make things
> > confusing IMO.
> >
> > I think Eugen made some good suggestions in his reply:
> >
> > - bootstrap ( although also a bit overloaded due to [2] )
> > - loader
> > - starter
> >
> > Out of these starter looks good to me - it really is a 'starter' as it
> > both:
> >
> > - works as an appetizer for all things Sling, before you really get
> > your hands dirty
> > - allows you to start quickly with Sling
> >
> > I would even suggest Sling Quick-Start, but that's again overloaded due
> > to AEM.
> >
> > Robert
> >
> > [1]: https://sling.apache.org/documentation/bundles/content-distributio
> > n.html
> > [2]: http://getbootstrap.com/
> >
> --
> Carsten Ziegeler
> Adobe Research Switzerland
> cziegeler@apache.org <javascript:;>
>


-- 
Karl Pauls
karlpauls@gmail.com

Re: [discuss] Launchpad user experience

Posted by Carsten Ziegeler <cz...@apache.org>.
I like Starter as well (and agree that quickstart would be nice but we
shouldn't use it due to the mentioned problems)

So this would be Sling Starter as the basic name, Sling Starter
Application for our jar and Sling Starter Web Application.

Sounds good to me.

Regards

Carsten


Robert Munteanu wrote
> On Wed, 2017-10-04 at 00:43 +0200, Karl Pauls wrote:
>> On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
>> <bd...@apache.org> wrote:
>>> On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <ko...@gmx.de>
>>> wrote:
>>>> ..."Sling Reference Distribution"....
>>>
>>> I like that, and the frontpage of that distribution can specify
>>> that
>>> for most uses people will want to customize the provisioning model.
>>
>> Hm, in that case, wouldn't it be better to just call it:
>>
>> "Sling Base" (or possibly, "Sling Base Distribution")
>>
>> I'm terrible with naming so YMMV - but, to me that would make it
>> clear
>> that I'm getting the minimum and are supposed to extend it...
> 
> We already have 'Sling Distribution' [1] and this would make things
> confusing IMO.
> 
> I think Eugen made some good suggestions in his reply:
> 
> - bootstrap ( although also a bit overloaded due to [2] )
> - loader
> - starter 
> 
> Out of these starter looks good to me - it really is a 'starter' as it
> both:
> 
> - works as an appetizer for all things Sling, before you really get
> your hands dirty
> - allows you to start quickly with Sling
> 
> I would even suggest Sling Quick-Start, but that's again overloaded due
> to AEM.
> 
> Robert
> 
> [1]: https://sling.apache.org/documentation/bundles/content-distributio
> n.html
> [2]: http://getbootstrap.com/
> 
-- 
Carsten Ziegeler
Adobe Research Switzerland
cziegeler@apache.org

Re: [discuss] Launchpad user experience

Posted by Robert Munteanu <ro...@apache.org>.
On Wed, 2017-10-04 at 00:43 +0200, Karl Pauls wrote:
> On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
> <bd...@apache.org> wrote:
> > On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <ko...@gmx.de>
> > wrote:
> > > ..."Sling Reference Distribution"....
> > 
> > I like that, and the frontpage of that distribution can specify
> > that
> > for most uses people will want to customize the provisioning model.
> 
> Hm, in that case, wouldn't it be better to just call it:
> 
> "Sling Base" (or possibly, "Sling Base Distribution")
> 
> I'm terrible with naming so YMMV - but, to me that would make it
> clear
> that I'm getting the minimum and are supposed to extend it...

We already have 'Sling Distribution' [1] and this would make things
confusing IMO.

I think Eugen made some good suggestions in his reply:

- bootstrap ( although also a bit overloaded due to [2] )
- loader
- starter 

Out of these starter looks good to me - it really is a 'starter' as it
both:

- works as an appetizer for all things Sling, before you really get
your hands dirty
- allows you to start quickly with Sling

I would even suggest Sling Quick-Start, but that's again overloaded due
to AEM.

Robert

[1]: https://sling.apache.org/documentation/bundles/content-distributio
n.html
[2]: http://getbootstrap.com/

Re: [discuss] Launchpad user experience

Posted by Karl Pauls <ka...@gmail.com>.
On Tue, Oct 3, 2017 at 4:37 PM, Bertrand Delacretaz
<bd...@apache.org> wrote:
> On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <ko...@gmx.de> wrote:
>> ..."Sling Reference Distribution"....
>
> I like that, and the frontpage of that distribution can specify that
> for most uses people will want to customize the provisioning model.

Hm, in that case, wouldn't it be better to just call it:

"Sling Base" (or possibly, "Sling Base Distribution")

I'm terrible with naming so YMMV - but, to me that would make it clear
that I'm getting the minimum and are supposed to extend it...

regards,

Karl

> -Bertrand



-- 
Karl Pauls
karlpauls@gmail.com

Re: [discuss] Launchpad user experience

Posted by Bertrand Delacretaz <bd...@apache.org>.
On Tue, Oct 3, 2017 at 3:58 PM, Konrad Windszus <ko...@gmx.de> wrote:
> ..."Sling Reference Distribution"....

I like that, and the frontpage of that distribution can specify that
for most uses people will want to customize the provisioning model.

-Bertrand

Re: [discuss] Launchpad user experience

Posted by Konrad Windszus <ko...@gmx.de>.

> On 3. Oct 2017, at 12:11, Carsten Ziegeler <cz...@apache.org> wrote:
> 
> Now the more interesting part is ... naming :)
> 
> While the downloads page states "Sling Application" we always refer to
> it as "launchpad". Even the downloaded artifact has "launchpad" in it.
> Now "launchpad" has no meaning to someone new to Sling and further more
> its a technical term describing how we launch Sling. So I think we
> should not use this for our Sling downloads.
> 
> "Sling Application" is far better but might not be the best description
> either. I thought about "Sling Demo Application" but that's not quiet
> right either. It's definitely not a distribution as we don't intend that
> people use this in production.

I tend to disagree here. It is exactly a distribution (although not for production purposes, compare with https://en.wikipedia.org/wiki/Software_distribution). Therefore I would prefer something like
"Sling Reference Distribution". We should make clear in the name that this is easy to run and contains several components already preconfigured.

> 
> So I think we should come up with a good (short) name for this thing and
> then use it throughout our documentation and in the artifact id. And
> forget about using the term launchpad. (As soon as we move to the new
> feature model we don't use launchpad technology anymore anyway).
> 
> We should also improve our docs on building a real application with
> Sling. But that's a different topic and I plan to work on this in
> November to improve the docs around that.
> 
> WDYT?
> 
> Regards
> Carsten
> 
> [1]
> https://svn.apache.org/repos/asf/sling/whiteboard/cziegeler/demo.startup/
> -- 
> Carsten Ziegeler
> Adobe Research Switzerland
> cziegeler@apache.org


Misc Sling questions ( was: [discuss] Launchpad user experience)

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

On Tue, 2017-10-03 at 16:38 +0300, Ioan Eugen Stan wrote:
> Hi,
> 
> Great idea. How about Sling Starter/ Loader / Bootstrap ?
> 
> 
> Regarding building a real app with Spring I would like to go through

Ahem

s/Spring/Sling/ I assume :-)

> that process (be a guinee pig). We would like to use the content
> repository in a Saas like app using micro services.

(snip)

You might also be interested in the  'Internet Scale Content Management
with Apache Oak on Kubernetes' adaptTo talk [1] which looks relatively
close to your scenario.

> Some things that I would like to make test/know before going into
> production:
> 
> - reading and writing from multiple services works ok - check delay,
> caching, etc

You'll have to be more explicit about that. The DocumentNodeStore
documentation in Oak [2] should contain most of what you need to know.

You are probably interested in 'Background read' - DocumentMK
periodically picks up changes from other DocumentMK instances by
polling the root node for changes of _lastRev. This happens once every
second. That means that if something is changed on Instance A, Instance
B will see it in at most one second.

> - editing content via Composum works properly

To my knowledge, yes.

> - procedures on how to deploy content updates to production
> (FileVault
> maybe)
> - how to get content from production to staging to facilitate testing

Content packages are one way of doing that. Changes can either be
performed using Sling content distribution [3] or by using the Package
Manager APIs. As a package manager you can use the Composum one [4]
coupled with the wcm.io content-package-maven-plugin [5].

> - how to deploy and update our single page applications that consume
> our
> API

Again, you need to more specific here. Is a SPA deployed in Sling? Or
deployed externally and consuming Sling output?

At any rate, peregrine CMS [6] is a SPA built with vue.js on top of
Sling so you might want to check that out.

> - how to deploy/update translations for content

Everything is content, including translations :-) So what I wrote above
related to content deployments still stands. Also, just in case you
missed the reference page, the documentation for i18n support is at
[7].

> 
> I know I have quite specific needs that might not fit into general
> norms, but the needs are real and I am willing to document and share
> the
> process and all the code samples. All I need in return is some
> guidance.

Hopefully that gets you started. Feel free to come back with more
questions if needed.

Thanks,

Robert


[1]: https://adapt.to/2017/en/schedule/internet-scale-content-managemen
t-with-apache-oak-on-kubernetes.html
[2]: https://jackrabbit.apache.org/oak/docs/nodestore/documentmk.html
[3]: https://sling.apache.org/documentation/bundles/content-distributio
n.html
[4]: https://ist-software.atlassian.net/wiki/spaces/CMP/pages/46140125/
Package+Manager
[5]: http://wcm.io/tooling/maven/plugins/wcmio-content-package-maven-pl
ugin/
[6]: https://github.com/headwirecom/peregrine-cms
[7]: https://sling.apache.org/documentation/bundles/internationalizatio
n-support-i18n.html

Re: [discuss] Launchpad user experience

Posted by Ioan Eugen Stan <ie...@netdava.com>.
Hi,

Great idea. How about Sling Starter/ Loader / Bootstrap ?


Regarding building a real app with Spring I would like to go through
that process (be a guinee pig). We would like to use the content
repository in a Saas like app using micro services.

The content would be written via one service via Oak API and edited by
the service desk via Composum, and read by other services also via Oak
API. 

My plan is to write a docker compose file that simulate the multiple
services. One of the service will have Sling + Composum installed.

I'm planning to use the RDBMS back-end for Oak because we have expertise
with PostgreSQL.

Some things that I would like to make test/know before going into
production:

- reading and writing from multiple services works ok - check delay,
caching, etc
- editing content via Composum works properly
- procedures on how to deploy content updates to production (FileVault
maybe)
- how to get content from production to staging to facilitate testing
- how to deploy and update our single page applications that consume our
API
- how to deploy/update translations for content

I know I have quite specific needs that might not fit into general
norms, but the needs are real and I am willing to document and share the
process and all the code samples. All I need in return is some guidance.


Regards,

On 03.10.2017 13:11, Carsten Ziegeler wrote:
> I think we can improve the user experience with our launchpad.
> Let's start with the simpler issue:
>
> Right now if you start the app and try "too soon" to open a page in your
> browser you might get a nasty message like some service is missing etc.
> That's not very helpful.
>
> I've written a simple bundle at [1] which displays the message "Apache
> Sling is starting up...". We could even enhance it with a little
> javascript to reload itself. I know we have the startup filter, but
> that's more a general purpose thing while this module is exactly there
> to improve the user experience. We could add whatever we need to improve
> that. I think we should release it and add it to launchpad to make this
> problem go away.
>
> Now the more interesting part is ... naming :)
>
> While the downloads page states "Sling Application" we always refer to
> it as "launchpad". Even the downloaded artifact has "launchpad" in it.
> Now "launchpad" has no meaning to someone new to Sling and further more
> its a technical term describing how we launch Sling. So I think we
> should not use this for our Sling downloads.
>
> "Sling Application" is far better but might not be the best description
> either. I thought about "Sling Demo Application" but that's not quiet
> right either. It's definitely not a distribution as we don't intend that
> people use this in production.
>
> So I think we should come up with a good (short) name for this thing and
> then use it throughout our documentation and in the artifact id. And
> forget about using the term launchpad. (As soon as we move to the new
> feature model we don't use launchpad technology anymore anyway).
>
> We should also improve our docs on building a real application with
> Sling. But that's a different topic and I plan to work on this in
> November to improve the docs around that.
>
> WDYT?
>
> Regards
> Carsten
>
> [1]
> https://svn.apache.org/repos/asf/sling/whiteboard/cziegeler/demo.startup/



Re: [discuss] Launchpad user experience

Posted by Carsten Ziegeler <cz...@apache.org>.
And if IOUtils.toString throws, the input stream is never closed :)

And do we really need a dependency to another module to read a file? I
think we should avoid this for this module.

Carsten


Konrad Windszus wrote
> Only one minor nitpick. I would prefer to fill the field "content" either in the constructor or in the init method of the StartupFilter (https://github.com/apache/sling-org-apache-sling-starter-startup/commit/60bc335 <https://github.com/apache/sling-org-apache-sling-starter-startup/commit/60bc335>). Right now it is lazily filled in the doFilter which is called from multiple threads at the same time which could lead to reading the input stream multiple times (due to missing synchronization).
> 
>> On 21. Nov 2017, at 17:48, Radu Cotescu <ra...@apache.org> wrote:
>>
>> See https://issues.apache.org/jira/browse/SLING-7258. If no one objects
>> until tomorrow regarding the chosen solution, I'll start a release for the
>> org.apache.sling.starter.startup module.
>>
>> Thanks,
>> Radu
>>
>> On Tue, 21 Nov 2017 at 11:31 Bertrand Delacretaz <bd...@apache.org>
>> wrote:
>>
>>> hi Radu,
>>>
>>> On Tue, Nov 21, 2017 at 10:27 AM, Radu Cotescu <ra...@apache.org> wrote:
>>>> ...2. the Servlet Filter registered by org.apache.sling.starter.startup
>>> should
>>>> in fact return a 503 - Service Unavailable, with the current response
>>> body
>>>> mentioning that Apache Sling is starting...
>>>
>>> +1 for this option.
>>>
>>> -Bertrand
>>>
> 
> 
-- 
Carsten Ziegeler
Adobe Research Switzerland
cziegeler@apache.org

Re: [discuss] Launchpad user experience

Posted by Konrad Windszus <ko...@gmx.de>.
Only one minor nitpick. I would prefer to fill the field "content" either in the constructor or in the init method of the StartupFilter (https://github.com/apache/sling-org-apache-sling-starter-startup/commit/60bc335 <https://github.com/apache/sling-org-apache-sling-starter-startup/commit/60bc335>). Right now it is lazily filled in the doFilter which is called from multiple threads at the same time which could lead to reading the input stream multiple times (due to missing synchronization).

> On 21. Nov 2017, at 17:48, Radu Cotescu <ra...@apache.org> wrote:
> 
> See https://issues.apache.org/jira/browse/SLING-7258. If no one objects
> until tomorrow regarding the chosen solution, I'll start a release for the
> org.apache.sling.starter.startup module.
> 
> Thanks,
> Radu
> 
> On Tue, 21 Nov 2017 at 11:31 Bertrand Delacretaz <bd...@apache.org>
> wrote:
> 
>> hi Radu,
>> 
>> On Tue, Nov 21, 2017 at 10:27 AM, Radu Cotescu <ra...@apache.org> wrote:
>>> ...2. the Servlet Filter registered by org.apache.sling.starter.startup
>> should
>>> in fact return a 503 - Service Unavailable, with the current response
>> body
>>> mentioning that Apache Sling is starting...
>> 
>> +1 for this option.
>> 
>> -Bertrand
>> 


Re: [discuss] Launchpad user experience

Posted by Radu Cotescu <ra...@apache.org>.
See https://issues.apache.org/jira/browse/SLING-7258. If no one objects
until tomorrow regarding the chosen solution, I'll start a release for the
org.apache.sling.starter.startup module.

Thanks,
Radu

On Tue, 21 Nov 2017 at 11:31 Bertrand Delacretaz <bd...@apache.org>
wrote:

> hi Radu,
>
> On Tue, Nov 21, 2017 at 10:27 AM, Radu Cotescu <ra...@apache.org> wrote:
> > ...2. the Servlet Filter registered by org.apache.sling.starter.startup
> should
> > in fact return a 503 - Service Unavailable, with the current response
> body
> > mentioning that Apache Sling is starting...
>
> +1 for this option.
>
> -Bertrand
>

Re: [discuss] Launchpad user experience

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

On Tue, Nov 21, 2017 at 10:27 AM, Radu Cotescu <ra...@apache.org> wrote:
> ...2. the Servlet Filter registered by org.apache.sling.starter.startup should
> in fact return a 503 - Service Unavailable, with the current response body
> mentioning that Apache Sling is starting...

+1 for this option.

-Bertrand

Re: [discuss] Launchpad user experience

Posted by Karl Pauls <ka...@gmail.com>.
Naively (i.e., without knowing anything about the implications :-) I
think I agree that options #2 sounds like the way to go.

regards,

Karl

On Tue, Nov 21, 2017 at 10:45 AM, Konrad Windszus <ko...@gmx.de> wrote:
> Definitely option 2.
> Konrad
>
>> On 21. Nov 2017, at 10:27, Radu Cotescu <ra...@apache.org> wrote:
>>
>> Hi,
>>
>> It looks like the org.apache.sling.starter.startup bundle breaks the way
>> some integration tests check that an instance is ready, since the Servlet
>> Filter registered by this bundle returns a 200 for any accessed path.
>>
>> The mentioned tests look for a path in the repo by doing a GET request and
>> expecting a 200 response code (this functionality is also provided by
>> org.apache.sling.testing.junit.rules.SlingInstanceRule#getAdminClient()#waitUntilExists()).
>>
>> There are obviously at least two solutions to this problem:
>>
>> 1. tests shouldn't rely on a 200 response code from various paths until
>> they first check that accessing index.html returns the proper page, by
>> looking for the <!-- Do not remove this comment, used for Launchpad
>> integration tests --> comment; OR
>>
>> 2. the Servlet Filter registered by org.apache.sling.starter.startup should
>> in fact return a 503 - Service Unavailable, with the current response body
>> mentioning that Apache Sling is starting
>>
>> I'd definitely prefer the 2nd option, since IMO we should not include
>> testing-related content in the default Apache Sling Starter Application and
>> 503 is an appropriate answer for a starting instance.
>>
>> Thoughts?
>>
>> Thanks,
>> Radu
>>
>> On Wed, 4 Oct 2017 at 12:03 Bertrand Delacretaz <bd...@apache.org>
>> wrote:
>>
>>> On Wed, Oct 4, 2017 at 12:00 PM, Carsten Ziegeler <cz...@apache.org>
>>> wrote:
>>>> If we can agree on starter, I guess we should change the artifact id
>>>
>>> +1
>>>
>>> -Bertrand
>>>
>



-- 
Karl Pauls
karlpauls@gmail.com

Re: [discuss] Launchpad user experience

Posted by Konrad Windszus <ko...@gmx.de>.
Definitely option 2.
Konrad

> On 21. Nov 2017, at 10:27, Radu Cotescu <ra...@apache.org> wrote:
> 
> Hi,
> 
> It looks like the org.apache.sling.starter.startup bundle breaks the way
> some integration tests check that an instance is ready, since the Servlet
> Filter registered by this bundle returns a 200 for any accessed path.
> 
> The mentioned tests look for a path in the repo by doing a GET request and
> expecting a 200 response code (this functionality is also provided by
> org.apache.sling.testing.junit.rules.SlingInstanceRule#getAdminClient()#waitUntilExists()).
> 
> There are obviously at least two solutions to this problem:
> 
> 1. tests shouldn't rely on a 200 response code from various paths until
> they first check that accessing index.html returns the proper page, by
> looking for the <!-- Do not remove this comment, used for Launchpad
> integration tests --> comment; OR
> 
> 2. the Servlet Filter registered by org.apache.sling.starter.startup should
> in fact return a 503 - Service Unavailable, with the current response body
> mentioning that Apache Sling is starting
> 
> I'd definitely prefer the 2nd option, since IMO we should not include
> testing-related content in the default Apache Sling Starter Application and
> 503 is an appropriate answer for a starting instance.
> 
> Thoughts?
> 
> Thanks,
> Radu
> 
> On Wed, 4 Oct 2017 at 12:03 Bertrand Delacretaz <bd...@apache.org>
> wrote:
> 
>> On Wed, Oct 4, 2017 at 12:00 PM, Carsten Ziegeler <cz...@apache.org>
>> wrote:
>>> If we can agree on starter, I guess we should change the artifact id
>> 
>> +1
>> 
>> -Bertrand
>> 


Re: [discuss] Launchpad user experience

Posted by Radu Cotescu <ra...@apache.org>.
Hi,

It looks like the org.apache.sling.starter.startup bundle breaks the way
some integration tests check that an instance is ready, since the Servlet
Filter registered by this bundle returns a 200 for any accessed path.

The mentioned tests look for a path in the repo by doing a GET request and
expecting a 200 response code (this functionality is also provided by
org.apache.sling.testing.junit.rules.SlingInstanceRule#getAdminClient()#waitUntilExists()).

There are obviously at least two solutions to this problem:

1. tests shouldn't rely on a 200 response code from various paths until
they first check that accessing index.html returns the proper page, by
looking for the <!-- Do not remove this comment, used for Launchpad
integration tests --> comment; OR

2. the Servlet Filter registered by org.apache.sling.starter.startup should
in fact return a 503 - Service Unavailable, with the current response body
mentioning that Apache Sling is starting

I'd definitely prefer the 2nd option, since IMO we should not include
testing-related content in the default Apache Sling Starter Application and
503 is an appropriate answer for a starting instance.

Thoughts?

Thanks,
Radu

On Wed, 4 Oct 2017 at 12:03 Bertrand Delacretaz <bd...@apache.org>
wrote:

> On Wed, Oct 4, 2017 at 12:00 PM, Carsten Ziegeler <cz...@apache.org>
> wrote:
> > If we can agree on starter, I guess we should change the artifact id
>
> +1
>
> -Bertrand
>

Re: [discuss] Launchpad user experience

Posted by Bertrand Delacretaz <bd...@apache.org>.
On Wed, Oct 4, 2017 at 12:00 PM, Carsten Ziegeler <cz...@apache.org> wrote:
> If we can agree on starter, I guess we should change the artifact id

+1

-Bertrand

Re: [discuss] Launchpad user experience

Posted by Carsten Ziegeler <cz...@apache.org>.
If we can agree on starter, I guess we should change the artifact id

from o.a.s.launchpad to o.a.s.starter but leave the version. so
basically the "first" release of starter would be 10

I would then call my little startup bundle starter.startup :)


Regards

Carsten


Carsten Ziegeler wrote
> I think we can improve the user experience with our launchpad.
> Let's start with the simpler issue:
> 
> Right now if you start the app and try "too soon" to open a page in your
> browser you might get a nasty message like some service is missing etc.
> That's not very helpful.
> 
> I've written a simple bundle at [1] which displays the message "Apache
> Sling is starting up...". We could even enhance it with a little
> javascript to reload itself. I know we have the startup filter, but
> that's more a general purpose thing while this module is exactly there
> to improve the user experience. We could add whatever we need to improve
> that. I think we should release it and add it to launchpad to make this
> problem go away.
> 
> Now the more interesting part is ... naming :)
> 
> While the downloads page states "Sling Application" we always refer to
> it as "launchpad". Even the downloaded artifact has "launchpad" in it.
> Now "launchpad" has no meaning to someone new to Sling and further more
> its a technical term describing how we launch Sling. So I think we
> should not use this for our Sling downloads.
> 
> "Sling Application" is far better but might not be the best description
> either. I thought about "Sling Demo Application" but that's not quiet
> right either. It's definitely not a distribution as we don't intend that
> people use this in production.
> 
> So I think we should come up with a good (short) name for this thing and
> then use it throughout our documentation and in the artifact id. And
> forget about using the term launchpad. (As soon as we move to the new
> feature model we don't use launchpad technology anymore anyway).
> 
> We should also improve our docs on building a real application with
> Sling. But that's a different topic and I plan to work on this in
> November to improve the docs around that.
> 
> WDYT?
> 
> Regards
> Carsten
> 
> [1]
> https://svn.apache.org/repos/asf/sling/whiteboard/cziegeler/demo.startup/
> 
-- 
Carsten Ziegeler
Adobe Research Switzerland
cziegeler@apache.org