Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Ted Jardine 98 posts 120 karma points
    Jan 07, 2012 @ 07:18
    Ted Jardine
    0

    Media node's path does not always contain all ancestors

    I am currently accessing the path attribute of a media node (in order to index it's ancestor for PDF full index search, but that's not necessary to know for this question), and I'm quite surprised to find that not all ancestors are actually listed in the comma-delimited list of all ancestors!

    For example, if I've got a media tree like the following:

    -Media Group 1 (id: 123)
    - - Sub Group 1 (id: 234)
    - - - some-pdf.pdf (id: 334)
    -Media Group 2 (id: 1023)
    - - Sub Group 1 (id: 1234)
    - - - some-other-pdf.pdf (id: 1334)

    I would expect that the path for some-pdf.pdf would be { -1, 234, 123} and some-other-pdf.pdf to be {-1, 1023, 1234 } but what I'm finding is that surprisingly often, the grandparents aren't present! For example, some-pdf.pdf would be { -1, 234 } and some-other-pdf.pdf is { -1, 1234 }.

    This is particularly problematic because I need to know what the Media Group is as a client requires that a search can be filtered by the group.

    Is this particular to my installation for some reason or is it really that I can't rely on "path" to be accurately containing all ancestors, particularly the first level ones?

    Thanks in advance,

    Ted

     

  • Ted Jardine 98 posts 120 karma points
    Jan 07, 2012 @ 07:20
    Ted Jardine
    0

    Attempted to edit the above, but throws an error.  "Group" simply meaning the level 1 folder for each PDF in meda.

     

     

  • Ted Jardine 98 posts 120 karma points
    Jan 07, 2012 @ 07:32
    Ted Jardine
    0

    Maybe the context does matter more than I thought: it appears that while the complete ancestor path is indeed in the database (as expected), for some reason it's not available in the context I need it in:

     

            private void Indexer_GatheringNodeData(object sender, IndexingNodeDataEventArgs e)
            {
                //Log.Add(LogTypes.Debug, 0, "PDFIndexer node indexed.");

                var node = e.Node;

                if (node.HasAttributes)
               {
                    var path = node.Attribute("path");
    ...

    For some reason the path attribute at this point is incomplete as described above.

     

Please Sign in or register to post replies

Write your reply to:

Draft