David Crossley wrote:
Thorsten Scherler wrote:

lately there where a couple of issues with linking to images.

Not only that old fashion skins and the dispatcher are treating some
linking locations different but in general we have way too many places
for images.

I propose to have the following locations and processing:
src - forrest component - project path
images/*.* - core resource.xmap - {project.xdocs-dir}/images


We would need to support the same behaviour as currently.
This looks in various places in the order as described
in the 'forrest seed' samples/linking.html#images
i.e. not just {project.xdocs-dir}/images

We discussed this a while back. It was Ferdinand who raised the issue. I will repeat the outcome of that discussion here:

- only document a single location (Thorstens suggestions is fine by me, would be worth digging out the original thread to see if we unearthed anything extra that was needed - I don't recall anything)

- the "out of the box" experience of Forrest only supports the recommended locations

- the upgrading document describes what needs to be done to be make existing sites work. There will be two options. A) restructure the site resources to match the one and only location for resources or B) add a locationmap entry to the project locationmap that provides backward compatability

What needs to be done?

Everything in core is in place to do this since I refactored resources.xmap to use the locationmap. I have even split the core and skins resources into separate locationmaps (but not the resources.xmap yet). So, for example, the current match in locationmap.xml:

    <match pattern="project.images.**.*">
      <select>
        <location src="{project:resources.images}{1}.{2}" />
        <location src="{project:content}../resources/images/{1}.{2}" />
        <location src="{project:content.xdocs}images/{1}.{2}" />
        <location src="{project:content.xdocs}{1}.{2}" />
      </select>
    </match>

Is noted in the upgrading document and the entry in the "out-of-the-box" forrest becomes:

    <match pattern="project.images.**.*">
      <select>
        <location src="{project:content.xdocs}{1}.{2}" />
      </select>
    </match>

Will it work? It will if we ensure our own content objects conform to the required project directory structure. I've not tested it, so don't know how much work is involved, but it should be a drag and drop rearrangement of resources and some minor editing of locationmap.xml and locationmap-skins.xml

There seems to be a few people wanting to see this happen so get scratching ;-)

Ross