<br><br><div class="gmail_quote">On Mon, Apr 29, 2013 at 6:32 PM, Robin Appelman <span dir="ltr"><<a href="mailto:icewind@owncloud.com" target="_blank">icewind@owncloud.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On Monday 29 April 2013 15:23:39 Sarah Jones wrote:<br>
> Hi,<br>
><br>
> I'm looking at the code in core lib/files/cache.cache.php.<br>
><br>
> For my app I need the storage string, and to cut everything before /data.<br>
>  I'm building a multiinstance owncloud app, so I cannot use "fileid" from<br>
> filecache between instances; I'm using the storage and path as a key<br>
> instead.<br>
> However, if the storage string is more than 64 chars, the storageid is<br>
> hashed, which makes this not possible.<br>
><br>
> I can work around this for the current file, but I need it's parent's<br>
> storage as well.  Is it safe to assume that a child file and its parent<br>
> will always have the same storageid?<br>
><br>
> Thanks,<br>
> ~Sarah Jones<br>
<br>
</div></div>Using the cache alone it's not possible to get the parent storage, the cache<br>
holds no information about the context of a storage.<br>
<br>
You can get the parent storage using information from the mount configuration<br>
by getting the full path of a file (getPath on either \OC\Files\Filesystem or<br>
\OC\Files\View), get the parent path and resolve that back to the cache but<br>
this is not always unqiue, if the same storage is mounted in different places<br>
it has multiple parent paths, this is one of the reason why we don't storage<br>
that information in the cache.<br>
<span class="HOEnZb"><font color="#888888"><br>
 - Robin Appelman<br></font></span></blockquote><div><br></div><div>Hi Robin,</div><div><br></div><div>I'm not sure I understand your response.</div><div><br></div><div>This is my interpretation of the design: An entry in filecache has a parent, which is the fileid for another entry in the filecache.  Each filecache entry stores the storage numericId.  Using this information you can get the parent storage id string, but it may be a hash if the storage path was > 64 chars.</div>
<div><br></div><div>Are you saying that yes it is possible for the storage of the parent filecache entry to be different from the storage of a filecache entry?  And then the rest of your explanation is a suggestion of how I could get this information since they may not be the same? </div>
<div><br></div><div>Thanks,</div><div>~Sarah</div></div><br>