New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Searching for tags across SymbolicLinks #488

Closed
javahelp opened this Issue Jun 29, 2014 · 1 comment

Comments

Projects
None yet
2 participants
@javahelp

javahelp commented Jun 29, 2014

It seems, upon testing, that searching for tagged pages does not work across SymbolicLinks. Upon looking at the code, this seems to be deliberate, but I could not find a reference to it in any documentation.
The code I looked at is from class fitnesse.wiki.PageCrawlerImpl:

    private void traverse(WikiPage page, TraversalListener<? super WikiPage> listener) {
        if (page.getClass() == SymbolicPage.class)
            return;
        listener.process(page);
        List<?> children = page.getChildren();
        for (Iterator<?> iterator = children.iterator(); iterator.hasNext();) {
        WikiPage wikiPage = (WikiPage) iterator.next();
            traverse(wikiPage, listener);
        }
    }

Please confirm if this is correctly observed on my part, and whether it is deliberate or a bug.
If it is deliberate, please indicate where it is documented.

@amolenaar

This comment has been minimized.

Show comment
Hide comment
@amolenaar

amolenaar Jun 29, 2014

Collaborator

This check has been in there for years. Based on other parts of the code (such as SymbolicPage.java), the code was initially quite restrictive when it comes to the use of symbolic links. This is mainly due to the risk for cyclic dependencies. Last release we had a problem with symlinks in conjunction with breadcrumbs (#454) where it was not possible to reference symbolic page under symbolic pages (well, you could navigate there, but the path became different).

What we really need is a way to prevent cyclic dependencies.

Collaborator

amolenaar commented Jun 29, 2014

This check has been in there for years. Based on other parts of the code (such as SymbolicPage.java), the code was initially quite restrictive when it comes to the use of symbolic links. This is mainly due to the risk for cyclic dependencies. Last release we had a problem with symlinks in conjunction with breadcrumbs (#454) where it was not possible to reference symbolic page under symbolic pages (well, you could navigate there, but the path became different).

What we really need is a way to prevent cyclic dependencies.

@amolenaar amolenaar added this to the Next release milestone Jul 1, 2014

@amolenaar amolenaar modified the milestones: 20140901, Next release Sep 1, 2014

@amolenaar amolenaar modified the milestones: 20150114, Next release Jan 14, 2015

@amolenaar amolenaar removed this from the Next release milestone Feb 23, 2015

@amolenaar amolenaar added this to the Next release milestone Feb 3, 2016

amolenaar added a commit to amolenaar/fitnesse that referenced this issue Mar 15, 2016

Break cycles created by Symlinks.
Move this logic to symlinks, and not in the page crawler. This implies that things like searches work over symlinks as well.

Fixes unclebob#488.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment