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. <schaef...@me.com> 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:
> 
>    <sly data-sly-include="head.html"/>
> 
> which fails. But using this:
> 
>    <sly data-sly-include="${'head.html'}"/>
> 
> 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 <r...@teeuwen.be> 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/3d64tqd62wb81n9/page-example-2.zip?dl=1>
>> https://www.dropbox.com/s/tw0edw4dddi9ksh/page-example-3.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. <schaef...@me.com 
>>> <mailto:schaef...@me.com>> 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/<project folder name>/components folder. I 
>>> tried
>>> that after I got mine working by copying the working resource type 
>>> definitions back
>>> up to /apps/<project folder name>.
>>> 
>>> 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 <r...@teeuwen.be 
>>>> <mailto:r...@teeuwen.be>> 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 
>>>> <https://www.dropbox.com/s/0sem7twkr5a2icp/page-example-1.zip?dl=1>
>>>> 
>>>> Greetings,
>>>> Roy
>>>>> On 22 Mar 2017, at 18:26, Andreas Schaefer <a...@headwire.com> 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 <r...@teeuwen.be> 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 <a...@headwire.com> 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)
>>>>>>> 
>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0 
>>>>>>> <http://www.jcp.org/jcr/1.0>" xmlns:nt="http://www.jcp.org/jcr/nt/1.0 
>>>>>>> <http://www.jcp.org/jcr/nt/1.0>" 
>>>>>>> xmlns:sling="http://sling.apache.org/jcr/sling/1.0 
>>>>>>> <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):
>>>>>>> 
>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0 
>>>>>>> <http://www.jcp.org/jcr/1.0>" xmlns:nt="http://www.jcp.org/jcr/nt/1.0 
>>>>>>> <http://www.jcp.org/jcr/nt/1.0>" 
>>>>>>> xmlns:sling="http://sling.apache.org/jcr/sling/1.0 
>>>>>>> <http://sling.apache.org/jcr/sling/1.0>"
>>>>>>>    jcr:primaryType="sling:Folder"
>>>>>>>    jcr:title="Sample Home Page Component"
>>>>>>>    jcr:description="Sample Home Page Component woth HTL"
>>>>>>>    sling:resourceSuperType="sample/page"
>>>>>>> />
>>>>>>> 
>>>>>>> This only contains the head.html and body.html file.
>>>>>>> 
>>>>>>> 3. Page Configuration (/apps/sample/page):
>>>>>>> 
>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>>>> <jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0 
>>>>>>> <http://www.jcp.org/jcr/1.0>" xmlns:nt="http://www.jcp.org/jcr/nt/1.0 
>>>>>>> <http://www.jcp.org/jcr/nt/1.0>" 
>>>>>>> xmlns:sling="http://sling.apache.org/jcr/sling/1.0 
>>>>>>> <http://sling.apache.org/jcr/sling/1.0>"
>>>>>>>    jcr:primaryType="sling:Folder"
>>>>>>>    jcr:title="Sample Page Component"
>>>>>>>    jcr:description="Sample Page Component"
>>>>>>> />
>>>>>>> 
>>>>>>> This contains the page.html which includes the head, body and 
>>>>>>> footer.html file.
>>>>>>> 
>>>>>>> This setup does not work and I could only make it work by providing the 
>>>>>>> /apps/sample/home/home.html.
>>>>>>> 
>>>>>>> Any way to make the work like in AEM?
>>>>>>> 
>>>>>>> I am pretty sure that I don’t see the forest because of the trees here
>>>>>>> but I could not figure out how to do it right even when looking at the
>>>>>>> Sling Samples.
>>>>>>> 
>>>>>>> Thanks - Andy Schaefer
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to