Re: Sling Resource Rendering Inheritance

2017-03-23 Thread Roy Teeuwen
Hey Andreas,

I am not sure why it is not working for you that way, but that should 
definitely still work, there is no dependency whatsoever to a folder being 
named "components", see my next examples:

page-example-2.zip: I moved everything right under /apps/idoneus, no 
/components => still works
page-example-3.zip: I moved everything to under /libs/idoneus => still works

https://www.dropbox.com/s/3d64tqd62wb81n9/page-example-2.zip?dl=1 

https://www.dropbox.com/s/tw0edw4dddi9ksh/page-example-3.zip?dl=1 


Greets,
Roy

> On 22 Mar 2017, at 19:48, Andreas Schaefer Sr.  wrote:
> 
> Yeah, the have a big “Download Now” button and that is not the file.
> I think the reason was that I use Safari w/o Flash and then the link won’t 
> show.
> 
> That said your code words and the major difference I saw is that the 
> inheritance
> only works if it is in the /apps//components folder. I 
> tried
> that after I got mine working by copying the working resource type 
> definitions back
> up to /apps/.
> 
> This structure works:
> 
> /apps
>   /testApps
>   /components
>   /home
>   body.html
>   /page
>   body.html
>   page.html
> 
> The page.html has a HTL import of body.html and it will take the one from 
> actual
> resource type (here testApps/components/home).
> 
> Can anyone from the sling team verify that? If so why, where is that defined 
> and
> is that configurable?
> 
> I used the sling sample Fling as an example but that does not use inheritance.
> 
> Thanks for you swift help - Andy Schaefer
> 
>> On Mar 22, 2017, at 11:05 AM, Roy Teeuwen  wrote:
>> 
>> Hey Andreas,
>> 
>> Huh, I think you pushed the advertisement button or something, or maybe you 
>> have to click twice. Anyway, here, my dropbox:
>> 
>> https://www.dropbox.com/s/0sem7twkr5a2icp/page-example-1.zip?dl=1
>> 
>> Greetings,
>> Roy
>>> On 22 Mar 2017, at 18:26, Andreas Schaefer  wrote:
>>> 
>>> Hi Roy
>>> 
>>> I tried to download your example but I am not going to install
>>> an Installer software just to see a ZIP file.
>>> 
>>> Can you share this file by any other means?
>>> 
>>> Thanks - Andy Schaefer
>>> 
 On Mar 21, 2017, at 9:52 PM, Roy Teeuwen  wrote:
 
 Hey Andreas,
 
 I made an example package in sling-9, you can use composum to install the 
 package.
 
 http://www12.zippyshare.com/v/nWrL1Azm/file.html
 
 It works for me, I made the following:
 
 /apps/idoneus/components/page => contains page.html and header.html which 
 does a data-sly-include of header.html
 /apps/idoneus/components/home => supertype is page, and overwrites the 
 header.html
 /content/idoneus/en => is a homepage, you can see that the header now says 
 "Header home page"
 /content/indoneus/en/test-page => is a normal page, has as header "Header 
 base page"
 
 Can you verify the package and maybe share what is different, so that it 
 also gets typed textual on the mailing list for future reference
 
 Greets,
 Roy
 
 
 
> On 21 Mar 2017, at 20:18, Andreas Schaefer  wrote:
> 
> Hi
> 
> As a long time CQ / AEM backend developer I ran into some issues
> to adjust to Sling.
> 
> I have a resource ‘Home Page’ that should render a JCR node as
> a HTML page. The Home page component then only adjust
> the layout of the Body and Head and the rest should be inherited from
> its Resource Super Type “Page’. I tried that but it does not render
> without the home.html as well as the footer missing in Home is not
> picked up.
> 
> This is my configuration:
> 
> 1. JCR Content Node (/content/sample/home)
> 
> 
> http://www.jcp.org/jcr/1.0 
> " xmlns:nt="http://www.jcp.org/jcr/nt/1.0 
> " 
> xmlns:sling="http://sling.apache.org/jcr/sling/1.0 
> "
> jcr:primaryType="nt:unstructured"
> jcr:title="Sample Home"
> jcr:description="Sample Home Page"
> sling:resourceType="sample/home"
> sling:resourceSuperType="sample"
> />
> 
> 2. Home Page configuration (/apps/sample/home):
> 
> 
> http://www.jcp.org/jcr/1.0 
> " xmlns:nt="http://www.jcp.org/jcr/nt/1.0 
> " 
> xmlns:sling="http://sling.apache.org/jcr/sling/1.0 
> "
> jcr:primaryType="sling:Folder"
> jcr:title="Sample Home Page Component"
> jcr:description="Sample Home Page Component 

Re: Sling Resource Rendering Inheritance

2017-03-23 Thread Roy Teeuwen
Hey Andreas,

My approach here is the following:

Libs is for libraries that enhance Sling => Composum is a library that is meant 
to be used to enhance Sling. They also give the benefit that when you package 
your library/module and let other developers use it, they can extend/override 
the actual libraries, like composum, by placing stuff under /apps/composum 
without having to actually change the code of the library itself in the /libs 
folder

Apps is for projects that use sling => A website for example. A website will 
normally not be extended, seeing as it is your own website, and you won't 
distribute that code to other developers for other projects.

I think for the most part this holds true.

Greets,
Roy
> On 23 Mar 2017, at 17:31, Andreas Schaefer Sr.  wrote:
> 
> Hi Roy
> 
> Thanks for all your help.
> 
> At the end it turns out that I made a mistake when using the HTL include:
> 
> This was my first include:
> 
>
> 
> which fails. But using this:
> 
>
> 
> does work.
> 
> So on another node I saw some Sling apps (samples and Composum) that place
> their components under /libs instead of /apps.
> 
> In AEM developers were told not to put anything under /libs and now Sling it 
> going
> the other way. Is there a reason for this shift. As far as I know there’s no 
> difference.
> 
> Thanks for all your help - Andy
> 
>> On Mar 23, 2017, at 12:30 AM, Roy Teeuwen  wrote:
>> 
>> Hey Andreas,
>> 
>> I am not sure why it is not working for you that way, but that should 
>> definitely still work, there is no dependency whatsoever to a folder being 
>> named "components", see my next examples:
>> 
>> page-example-2.zip: I moved everything right under /apps/idoneus, no 
>> /components => still works
>> page-example-3.zip: I moved everything to under /libs/idoneus => still works
>> 
>> https://www.dropbox.com/s/3d64tqd62wb81n9/page-example-2.zip?dl=1 
>> 
>> https://www.dropbox.com/s/tw0edw4dddi9ksh/page-example-3.zip?dl=1 
>> 
>> 
>> Greets,
>> Roy
>> 
>>> On 22 Mar 2017, at 19:48, Andreas Schaefer Sr. >> > wrote:
>>> 
>>> Yeah, the have a big “Download Now” button and that is not the file.
>>> I think the reason was that I use Safari w/o Flash and then the link won’t 
>>> show.
>>> 
>>> That said your code words and the major difference I saw is that the 
>>> inheritance
>>> only works if it is in the /apps//components folder. I 
>>> tried
>>> that after I got mine working by copying the working resource type 
>>> definitions back
>>> up to /apps/.
>>> 
>>> This structure works:
>>> 
>>> /apps
>>> /testApps
>>> /components
>>> /home
>>> body.html
>>> /page
>>> body.html
>>> page.html
>>> 
>>> The page.html has a HTL import of body.html and it will take the one from 
>>> actual
>>> resource type (here testApps/components/home).
>>> 
>>> Can anyone from the sling team verify that? If so why, where is that 
>>> defined and
>>> is that configurable?
>>> 
>>> I used the sling sample Fling as an example but that does not use 
>>> inheritance.
>>> 
>>> Thanks for you swift help - Andy Schaefer
>>> 
 On Mar 22, 2017, at 11:05 AM, Roy Teeuwen > wrote:
 
 Hey Andreas,
 
 Huh, I think you pushed the advertisement button or something, or maybe 
 you have to click twice. Anyway, here, my dropbox:
 
 https://www.dropbox.com/s/0sem7twkr5a2icp/page-example-1.zip?dl=1 
 
 
 Greetings,
 Roy
> On 22 Mar 2017, at 18:26, Andreas Schaefer  wrote:
> 
> Hi Roy
> 
> I tried to download your example but I am not going to install
> an Installer software just to see a ZIP file.
> 
> Can you share this file by any other means?
> 
> Thanks - Andy Schaefer
> 
>> On Mar 21, 2017, at 9:52 PM, Roy Teeuwen  wrote:
>> 
>> Hey Andreas,
>> 
>> I made an example package in sling-9, you can use composum to install 
>> the package.
>> 
>> http://www12.zippyshare.com/v/nWrL1Azm/file.html
>> 
>> It works for me, I made the following:
>> 
>> /apps/idoneus/components/page => contains page.html and header.html 
>> which does a data-sly-include of header.html
>> /apps/idoneus/components/home => supertype is page, and overwrites the 
>> header.html
>> /content/idoneus/en => is a homepage, you can see that the header now 
>> says "Header home page"
>> /content/indoneus/en/test-page => is a normal page, has as header 
>> "Header base page"
>> 
>> Can you verify the package and 

Re: Sling Resource Rendering Inheritance

2017-03-23 Thread Andreas Schaefer Sr.
Hi Roy

Thanks for all your help.

At the end it turns out that I made a mistake when using the HTL include:

This was my first include:



which fails. But using this:



does work.

So on another node I saw some Sling apps (samples and Composum) that place
their components under /libs instead of /apps.

In AEM developers were told not to put anything under /libs and now Sling it 
going
the other way. Is there a reason for this shift. As far as I know there’s no 
difference.

Thanks for all your help - Andy

> On Mar 23, 2017, at 12:30 AM, Roy Teeuwen  wrote:
> 
> Hey Andreas,
> 
> I am not sure why it is not working for you that way, but that should 
> definitely still work, there is no dependency whatsoever to a folder being 
> named "components", see my next examples:
> 
> page-example-2.zip: I moved everything right under /apps/idoneus, no 
> /components => still works
> page-example-3.zip: I moved everything to under /libs/idoneus => still works
> 
> https://www.dropbox.com/s/3d64tqd62wb81n9/page-example-2.zip?dl=1 
> 
> https://www.dropbox.com/s/tw0edw4dddi9ksh/page-example-3.zip?dl=1 
> 
> 
> Greets,
> Roy
> 
>> On 22 Mar 2017, at 19:48, Andreas Schaefer Sr. > > wrote:
>> 
>> Yeah, the have a big “Download Now” button and that is not the file.
>> I think the reason was that I use Safari w/o Flash and then the link won’t 
>> show.
>> 
>> That said your code words and the major difference I saw is that the 
>> inheritance
>> only works if it is in the /apps//components folder. I 
>> tried
>> that after I got mine working by copying the working resource type 
>> definitions back
>> up to /apps/.
>> 
>> This structure works:
>> 
>> /apps
>>  /testApps
>>  /components
>>  /home
>>  body.html
>>  /page
>>  body.html
>>  page.html
>> 
>> The page.html has a HTL import of body.html and it will take the one from 
>> actual
>> resource type (here testApps/components/home).
>> 
>> Can anyone from the sling team verify that? If so why, where is that defined 
>> and
>> is that configurable?
>> 
>> I used the sling sample Fling as an example but that does not use 
>> inheritance.
>> 
>> Thanks for you swift help - Andy Schaefer
>> 
>>> On Mar 22, 2017, at 11:05 AM, Roy Teeuwen >> > wrote:
>>> 
>>> Hey Andreas,
>>> 
>>> Huh, I think you pushed the advertisement button or something, or maybe you 
>>> have to click twice. Anyway, here, my dropbox:
>>> 
>>> https://www.dropbox.com/s/0sem7twkr5a2icp/page-example-1.zip?dl=1 
>>> 
>>> 
>>> Greetings,
>>> Roy
 On 22 Mar 2017, at 18:26, Andreas Schaefer  wrote:
 
 Hi Roy
 
 I tried to download your example but I am not going to install
 an Installer software just to see a ZIP file.
 
 Can you share this file by any other means?
 
 Thanks - Andy Schaefer
 
> On Mar 21, 2017, at 9:52 PM, Roy Teeuwen  wrote:
> 
> Hey Andreas,
> 
> I made an example package in sling-9, you can use composum to install the 
> package.
> 
> http://www12.zippyshare.com/v/nWrL1Azm/file.html
> 
> It works for me, I made the following:
> 
> /apps/idoneus/components/page => contains page.html and header.html which 
> does a data-sly-include of header.html
> /apps/idoneus/components/home => supertype is page, and overwrites the 
> header.html
> /content/idoneus/en => is a homepage, you can see that the header now 
> says "Header home page"
> /content/indoneus/en/test-page => is a normal page, has as header "Header 
> base page"
> 
> Can you verify the package and maybe share what is different, so that it 
> also gets typed textual on the mailing list for future reference
> 
> Greets,
> Roy
> 
> 
> 
>> On 21 Mar 2017, at 20:18, Andreas Schaefer  wrote:
>> 
>> Hi
>> 
>> As a long time CQ / AEM backend developer I ran into some issues
>> to adjust to Sling.
>> 
>> I have a resource ‘Home Page’ that should render a JCR node as
>> a HTML page. The Home page component then only adjust
>> the layout of the Body and Head and the rest should be inherited from
>> its Resource Super Type “Page’. I tried that but it does not render
>> without the home.html as well as the footer missing in Home is not
>> picked up.
>> 
>> This is my configuration:
>> 
>> 1. JCR Content Node (/content/sample/home)
>> 
>> 
>> http://www.jcp.org/jcr/1.0 
>> "