Comments (17)
Hi,
I'll assume that you are using Recoll 1.19.9 as .19 is not yet there :)
The query encoding seems wrong on the failing query: there should be some "%2F" pieces for the / separators. Is this a github effect or are they really missing when printed on the terminal ?
An initial try at reproducing this failed (I do get a correctly encoded query and results), but I can try harder once I know that the / characters are really missing.
GET /results?query=sac&dir=d%2Fdir+with+blanks&after=&before=&sort=relevancyrating&ascending=0&page=1 HTTP/1.1"
from recoll-webui.
Oops... version from the future!
I did my best to read the webui code that generates the query, but my python isn't very strong. I ran diff against the webui.py that's in the zip & what is running on my machine and the files are identical.
Is there a debug flag I can set to create more verbose logging for you? The query string I posted for the webui was from stdout, which seems to be where the app sends its logging info.
from recoll-webui.
This is weird. In the query, there should be slash characters encoded as %2F. Instead, they seem to be suppressed. In other terms, "dir=mw-ksbENG+Doc+ControlDOCs" should look like "dir=mw-ksb%2FENG+Doc+Control%2FDOCs" instead (and the capitalization of "DOCs" is weird too by the way).
I think that it would be interesting to have a look at the generated HTML by using "show page source". I am especially interested by the "folders" section, the part which looks like:
<b>Folder</b><br>
<select id="folders" name="dir">
<option style="margin-left: 0em" value="<all>"><all></option>
<option style="margin-left: 0em" selected value="d">d</option>
<option style="margin-left: 2em" value="d/d1">d1</option>
<option style="margin-left: 4em" value="d/d1/d3">d3</option>
<option style="margin-left: 2em" value="d/d2">d2</option>
<option style="margin-left: 2em" value="d/dir with blanks">dir with blanks</option>
<option style="margin-left: 2em" selected value="d/ENG Doc Control">ENG Doc Control</option>
<option style="margin-left: 4em" selected value="d/ENG Doc Control/Docs">Docs</option>
</select><br>
(Put the data between 2 lines with 4 backquotes to prevent interpretation by GitHub, have a look at the "Markdown" link above).
from recoll-webui.
Oo! The capitalization in "DOCs" is correct--that's how the directory is named, for whatever reason.
Looking at your example HTML, I wonder if this has anything to do with this index being of a CIFS share mounted on a Windows file server...?
Here's the source of the page after searching for "balance" with 0 results returned, from the same directory as in my original post. I fouled up the names of the folders, but kept any spaces or special characters that were present in the original folder names. The only non letters there were are ( ) - . and _
<body>
<div id="fade"></div>
<div id="searchbox">
<form action="results" method="get">
<table id="form">
<tr>
<td width="50%">
<b>Query</b>
<input tabindex="0" type="search" name="query" value="balance" autofocus><br><br>
<input type="submit" value="Search">
<a href="./" tabindex="-1"><input type="button" value="Reset"></a>
<a href="settings" tabindex="-1"><input type="button" value="Settings"></a>
</td>
<td width="30%">
<b>Folder</b><br>
<select id="folders" name="dir">
<option style="margin-left: 0em" value="<all>"><all></option>
<option style="margin-left: 0em" selected value="mw-ksb">mw-ksb</option>
<option style="margin-left: 0em" value="mw-ksbDocumentation">mw-ksbDocumentation</option>
<option style="margin-left: 0em" value="mw-ksbDocumentationXXXX">mw-ksbDocumentationXXXX</option>
<option style="margin-left: 0em" value="mw-ksbDocumentationXXXX">mw-ksbDocumentationXXXX</option>
<option style="margin-left: 0em" value="mw-ksbDocumentationXxxxxxxxx">mw-ksbDocumentationXxxxxxxxx</option>
<option style="margin-left: 0em" value="mw-ksbDocumentationXxxxRelease">mw-ksbDocumentationXxxxRelease</option>
<option style="margin-left: 0em" selected value="mw-ksbENG Doc Control">mw-ksbENG Doc Control</option>
<option style="margin-left: 0em" selected value="mw-ksbENG Doc ControlDOCs">mw-ksbENG Doc ControlDOCs</option>
<option style="margin-left: 0em" value="mw-ksbStuff">mw-ksbStuff</option>
<option style="margin-left: 0em" value="mw-ksbStuffOneNote_RecycleBin">mw-ksbStuffOneNote_RecycleBin</option>
<option style="margin-left: 0em" value="mw-ksbHTTP_Save">mw-ksbHTTP_Save</option>
<option style="margin-left: 0em" value="mw-ksbMisc">mw-ksbMisc</option>
<option style="margin-left: 0em" value="mw-ksbPt Ds">mw-ksbPt Ds</option>
<option style="margin-left: 0em" value="mw-ksbPt Dscore">mw-ksbPt Dscore</option>
<option style="margin-left: 0em" value="mw-ksbPt DsEHV">mw-ksbPt DsEHV</option>
<option style="margin-left: 0em" value="mw-ksbPt Dsmirror">mw-ksbPt Dsmirror</option>
<option style="margin-left: 0em" value="mw-ksbPt Dsplatform">mw-ksbPt Dsplatform</option>
<option style="margin-left: 0em" value="mw-ksbPt Dstest">mw-ksbPt Dstest</option>
<option style="margin-left: 0em" value="mw-ksbPt Pub">mw-ksbPt Pub</option>
<option style="margin-left: 0em" value="mw-ksbRecent page">mw-ksbRecent page</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageA_HZ">mw-ksbRecent pageA_HZ</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageRemote_Mfg">mw-ksbRecent pageRemote_Mfg</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageD_Hs">mw-ksbRecent pageD_Hs</option>
<option style="margin-left: 0em" value="mw-ksbRecent paged_ws">mw-ksbRecent paged_ws</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageH_Lo">mw-ksbRecent pageH_Lo</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageJ_Jo">mw-ksbRecent pageJ_Jo</option>
<option style="margin-left: 0em" value="mw-ksbRecent pagejrs">mw-ksbRecent pagejrs</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageM_Mds">mw-ksbRecent pageM_Mds</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageM_Km">mw-ksbRecent pageM_Km</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageR_En">mw-ksbRecent pageR_En</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageRn_Se">mw-ksbRecent pageRn_Se</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageR_Tp">mw-ksbRecent pageR_Tp</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageRTp">mw-ksbRecent pageRTp</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageS_Pgl">mw-ksbRecent pageS_Pgl</option>
<option style="margin-left: 0em" value="mw-ksbRecent pagetfl">mw-ksbRecent pagetfl</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageTime">mw-ksbRecent pageTime</option>
<option style="margin-left: 0em" value="mw-ksbRecent pageW_He">mw-ksbRecent pageW_He</option>
<option style="margin-left: 0em" value="mw-ksbStandards">mw-ksbStandards</option>
<option style="margin-left: 0em" value="mw-ksbStandardsServices">mw-ksbStandardsServices</option>
<option style="margin-left: 0em" value="mw-ksbStandardsStandards (from MXP)">mw-ksbStandardsStandards (from MXP)</option>
<option style="margin-left: 0em" value="mw-ksbStandardsSAF-TY">mw-ksbStandardsSAF-TY</option>
<option style="margin-left: 0em" value="mw-ksbSPL">mw-ksbSPL</option>
<option style="margin-left: 0em" value="mw-ksbSPLR010035003000300">mw-ksbSPLR010035003000300</option>
<option style="margin-left: 0em" value="mw-ksbSPLR0500350033.114">mw-ksbSPLR0500350033.114</option>
<option style="margin-left: 0em" value="mw-ksbSPLR050035003600318">mw-ksbSPLR050035003600318</option>
<option style="margin-left: 0em" value="mw-ksbSPLR050035.1000328">mw-ksbSPLR050035.1000328</option>
<option style="margin-left: 0em" value="mw-ksbSPLR050035.2100303">mw-ksbSPLR050035.2100303</option>
<option style="margin-left: 0em" value="mw-ksbSPLR0500360031.413">mw-ksbSPLR0500360031.413</option>
<option style="margin-left: 0em" value="mw-ksbSPLR060030003500343">mw-ksbSPLR060030003500343</option>
<option style="margin-left: 0em" value="mw-ksbSPLR060031003300304">mw-ksbSPLR060031003300304</option>
<option style="margin-left: 0em" value="mw-ksbSPLR060032003200315">mw-ksbSPLR060032003200315</option>
<option style="margin-left: 0em" value="mw-ksbSPLR060033.10.106">mw-ksbSPLR060033.10.106</option>
<option style="margin-left: 0em" value="mw-ksbSPLR060034003100374">mw-ksbSPLR060034003100374</option>
<option style="margin-left: 0em" value="mw-ksbSPLR060034003200312">mw-ksbSPLR060034003200312</option>
<option style="margin-left: 0em" value="mw-ksbSPLR0600350031.159">mw-ksbSPLR0600350031.159</option>
<option style="margin-left: 0em" value="mw-ksbSPLR0600350031.195">mw-ksbSPLR0600350031.195</option>
<option style="margin-left: 0em" value="mw-ksbWsmall">mw-ksbWsmall</option>
<option style="margin-left: 0em" value="mw-ksbWsmallqw">mw-ksbWsmallqw</option>
<option style="margin-left: 0em" value="mw-ksbWsmallWsmall">mw-ksbWsmallWsmall</option>
<option style="margin-left: 0em" value="mw-ksbWsmallwifxt">mw-ksbWsmallwifxt</option>
</select><br>
<b>Dates</b> <small class="gray">YYYY[-MM][-DD]</small><br>
<input name="after" value="" autocomplete="off"> — <input name="before" value="" autocomplete="off">
</td>
<td>
<b>Sort by</b>
<select name="sort">
<option selected value="relevancyrating">Relevancy</option>
<option value="mtime">Date</option>
<option value="url">Path</option>
<option value="filename">Filename</option>
<option value="fbytes">Size</option>
<option value="author">Author</option>
</select><br>
<b>Order</b>
<select name="ascending">
<option value="0" selected>Descending</option>
<option value="1">Ascending</option>
</select>
</td>
</tr>
</table>
<input type="hidden" name="page" value="1" />
</form>
</div>
from recoll-webui.
On a whim, I partially tested the CIFS theory by indexing a local directory. The resulting folder list has a distinctly different visual appearance than that of my CIFS-share directories. Each separate dir has its own line with only its name listed, rather than the concatenation of its name as well as its parents back to root.
Tomorrow, i'll map up a LUN to the recoll machine and copy my index target over so it's stored locally in ext4. I suspect that everything will work as expected...
from recoll-webui.
The / characters are definitely missing. I would like to try and reproduce this, it would make a resolution easier. Could you please tell me precisely how the CIFS share is mounted ? I tried with a vanilla autofs mount and things look normal...
from recoll-webui.
I'm not sure I understand what sort of information you'd like, so let me know if I'm missing something.
The CIFS mount only includes _netdev,ro and is mounted to a mountpoint on /. As far as what is being served, it's a Windows 2008 R2 FileSharing server sharing at full network permissions and full NTFS permissions for the user I'm using to mount it.
from recoll-webui.
Thanks, I was wondering if you could have been using a fuse-based mount. I'll try to reproduce the issue, but I currently have trouble getting Fedora 20 to behave as a Virtualbox guest.
from recoll-webui.
Ok, I can reproduce the problem. I can try to see what happens and look for a possible fix now.
from recoll-webui.
Ok, I think it's fixed. This had nothing to do with the kind of system actually, just the fact that the top dir was directly under root (/). There is a fixed file here: https://github.com/medoc92/recoll-webui/blob/master/webui.py
Please let me know how this works for you and I'll put up a pull request.
Cheers,
jf
from recoll-webui.
Sorry for the delay--github seems to have ceased notifying me of updates to this thread...
Fantastic! It's fixed!
Now, a related question: are the subdirectories supposed to be listed out one after another, or is there supposed to be some sort of visual or treed organization to show the parent/child relationship?
What I'm seeing in the dropdown is just a pure list of each directory name, sorted like this:
parentA
parentB
parentC
childA
childB
childC
childAchildA
childBchildA
If the above is confusing, it lists all the level 1 directories first, then the level 2 afterward, then 3 & so on.
from recoll-webui.
Ok, this is weird. Here is what my folder menu looks like, it's a representation of the tree:
This is with a recent firefox. Do you get the same thing with firefox and chrome ?
Cheers,
jf
from recoll-webui.
Looks to be a browser specific problem!
I get just a straight, non-indented pile of words from the following versions:
Chrome (running on Windows 7) 32.0.1700.102 m
IE (running on Windows 7) 9.0.8112.16421
However, it does display correctly in Firefox 22.0 (running on Win 7) and 25.0 (Running on Fedora). Also on FF ESR 10.0.5 (Running on Centos).
Writing for multiple browsers must be miserable!
from recoll-webui.
Yes, it must be awful, happily enough, I'm more of a desktop programmer...
Anyway, while koniu seems to be away, I have changed the identation method to something ugly but which should work on all browsers (hopefully). The modified file is here:
https://github.com/medoc92/recoll-webui/blob/master/views/search.tpl
I'll create a pull request, but I really hope that a nicer solution can be found...
from recoll-webui.
Assuming this is fixed. Thanks medoc
from recoll-webui.
Sorry for my delay in replying, guys--I'll apply this patch and report back.
from recoll-webui.
Fixed!
Thank you guys for your help. This thing is a masterpiece!
from recoll-webui.
Related Issues (20)
- query performance CLI vs. webui HOT 3
- WSGI path problems
- Open file in browser without the need for local files. To be used as a service on a server HOT 1
- Recoll Web UI Error 500 (WSGI) HOT 3
- NOTE: A (Python 3) fork is actively maintained here HOT 3
- AttributeError("'NoneType' object has no attribute 'ipath'",) HOT 2
- The koniu repository on GitHub has not been updated for some time
- Permanent locations settings for all users HOT 2
- License missing HOT 1
- Fallback to operation without rclextract fails
- HTTP 500 after saving settings HOT 1
- How to run using https? HOT 1
- linux error trying to run webui HOT 1
- After indexing the first file, webui no longer works HOT 3
- Recoll WebUI for windows server HOT 1
- Recoll WebUi - Need one for mobile HOT 4
- Fails to start with Python 3.10 HOT 1
- except re.error, e: HOT 3
- Any new release is possible or planned? HOT 1
- Recoll is not indexing my Matlab code files
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from recoll-webui.