Commit Graph

5823 Commits

Author SHA1 Message Date
luccioman
5ff76fdcb9 Fixed spelling 2017-10-31 07:52:30 +01:00
luccioman
2c3f0ff9e8 Updated search page keyboard shortcuts descriptions. 2017-10-31 07:44:37 +01:00
luccioman
af825e9ffc Use accessible labels for search home page radio buttons. 2017-10-30 08:07:59 +01:00
luccioman
8e732d437c Enable HTTP Digest authentication for non admin users.
Also ensure authentication is not lost by Digest timeout when navigating
between index.html and search results page.

This way, running searches with extended features on a remote peer or a
password protected peer works with a regular user (with "Extended
search" rights). 
When authenticating on the search page with a user without "Extended
search" rights, it appears as authenticated, but has just its usual
access to the public search features.
2017-10-26 07:51:18 +02:00
luccioman
5161451a35 Stay authenticated when going to the search start page.
Otherwise, when authenticated as admin and navigating from search
results or admin pages to the search start page (/index.html), if
nothing is done on that page within HTTP Digest Auth timeout (about
2mn), then search is performed without authentication and so without
extended search features.
2017-10-24 09:54:54 +02:00
luccioman
d0bed78d02 Use the same top nav bar on index.html and search results.
Thus eventually including the same optional login link/status in the
search start page than in the results page, for the same convenient
login without the need to use the Administration section.
2017-10-24 09:34:03 +02:00
luccioman
f678394ce5 Fixed loss of index page form values on 'more options' link click.
Restores the behavior introduced eleven years ago (see commit
479861a3cf) and lost by mistake 3 years
ago (see commit 617dd9c97b), when the
click handler started referencing a missing HTML id.
2017-10-23 18:28:11 +02:00
luccioman
af198b990b Added an optional login link/status to the search public top nav bar.
Thus allowing a more convenient way (wihout the need to go to the admin
section) to login when searching on your remote or password protected
peer and benefit from extended search features such as Heuristics,
Bookmarking or JavasScript resorting.

Can be disabled using the ConfigSearchPage_p.html.
2017-10-21 10:57:36 +02:00
luccioman
1de86cf1bf Fixed JPEG snapshot resizing when running on OpenJDK.
Resizing JPEG snapshot images through /api/snapshot.jpg failed when
running on OpenJDK, but rendered successfully with a Oracle JDK.
Details in mantis 772 ( http://mantis.tokeek.de/view.php?id=772 ).

Removing any alpha component (useless in snapshot images) from the
rendered resized image solves the issue.
2017-10-19 09:27:52 +02:00
luccioman
a17a418e78 Fixed NullPointerException cases on snapshot images parsing. 2017-10-18 08:31:18 +02:00
luccioman
285f0d6a39 Consistently encode snapshot image with format requested on the API.
Previously, calling /api/snapshot.png rendered JPEG encoded images.
2017-10-18 07:53:07 +02:00
luccioman
4da15db998 Fixed search result Snapshots link.
Previously rendered as a broken URL containing the absolute file path of
a snapshot on the search server.

Now rendered as a valid URL linking to the /api/snapshot API to provide
available snapshot content. Snapshot format is selected among the
available ones in the following order of preference  : JPG/PNG, PDF, and
XML.
2017-10-17 09:41:58 +02:00
luccioman
fe75f326d8 Fixed ProfilingGraph calculation integer overflows and added test class.
Complementary to fix proposed in PR #128 by @otteresk.
2017-10-16 09:18:12 +02:00
luccioman
8303e15419 Reduced number of search navigators refresh requests in JS resort mode
The SearchEvent listen to changes on each of its navigators, and the
information about their overall state is sent with each fetched search
item (as a "data-nav-generation" attribute). Then the browser can
regularly fetch a fresh version of yacysearchtrailer.html only if
necessary (when that nav-generation value change).
2017-10-12 07:16:19 +02:00
luccioman
2ac78e2cca Addedd missing parameters to yacysearchtrailer call on JS resort mode 2017-10-11 07:13:28 +02:00
luccioman
dbff7b14fc Add a configurable limit to tags initially displayed in search results
When the limit is reached, a button allow expanding/collapsing remaining
tags.

When this feature is activated without a limit to the number of
displayed tags, when encountering search results with a very large
number of keywords, the results page can become almost unusable (very
long vertical scrollbar)
2017-10-09 14:13:46 +02:00
reger
f8c7d0265e Adjust tags css style in ConfigSearchPage to equal search page 2017-10-07 06:13:22 +02:00
luccioman
fcea6def72 Added textual hints to language radio buttons labels
As an help and accessible alternative to visual styling marking  whether
a language is available in browser preferred lang mode.
2017-10-02 10:05:57 +02:00
luccioman
27ab733685 Ensure private search features are not lost on Digest auth timeout
This is a fix for mantis 766 ( http://mantis.tokeek.de/view.php?id=766 )

Since the upgrade to Digest authentication, access to protected search
features was indeed disabled once the Digest nonce timed out.

After Digest auth timeout the browser no more sent authentication
information and as the search results page is not private, protected
features were simply be hidden without asking browser again for
authentication.

Adding a supplementary parameter when accessing the search results as
authenticated fixes this.
2017-09-29 19:18:12 +02:00
reger
dd82f85953 Add links to the optional keyword tags of search result
If swichted on link (click) to the tag adds the keyword to the search query.
If a keyword navigator is active the selected keyword adds or replaces 
a query keyword: modifier (currently replace was choosen as multiple 
keywords are not fully supported yet)
2017-09-28 00:46:49 +02:00
luccioman
fc28c58731 Added missing accessible labels to ConfigSearchPage_p.html 2017-09-26 14:58:30 +02:00
luccioman
8294374c10 Fixed ConfigSearchPage_p HTML validation errors.
Validated with Nu Html Checker 17.9.0
2017-09-26 07:59:44 +02:00
luccioman
57a33aefb0 Removed unnecessary max counts init on empty search navigators. 2017-09-25 15:21:17 +02:00
luccioman
b1e7bd0dd6 Restrict Search Result Layout modification to HTTP POST only. 2017-09-25 14:54:35 +02:00
luccioman
ef8aea7f8d Made the dates navigator max elements number user configurable.
Also used object properties on QueryParams instances, rather than using
mutable class (static) properties.
2017-09-25 09:19:08 +02:00
luccioman
0b0980b364 Improved accessibility of histograms widgets.
Added keyboard navigation support and missing WAI-ARIA attributes.

Tested with NVDA 2017.3 screenreader on recent major browsers.
2017-09-22 11:00:46 +02:00
luccioman
62c7cd9a77 Upgraded JavaScript lib raphael.js from 2.1.3 to 2.2.7 2017-09-20 07:59:20 +02:00
luccioman
cbbc7b43d3 Refresh paginations buttons instead of fully rendering each time.
This prevent the already displayed pagination buttons to be unresponsive
when clicking on them while the rendering JS function is running.
2017-09-18 17:36:07 +02:00
luccioman
18412dca21 Handle JS refreshing of belatedly added search navigators 2017-09-16 10:13:09 +02:00
luccioman
9049a926a5 Restrict JS results resorting to authenticated users.
Until a more efficient DOM refresh model needing less XHR requests per
search is implemented.
2017-09-16 09:26:08 +02:00
luccioman
4ab961fa46 Added HTML ids to search navigators for a more reliable JS refreshing. 2017-09-15 14:23:49 +02:00
luccioman
ad61a3afed Results JS resort : properly handle results with same ranking value. 2017-09-15 12:16:24 +02:00
luccioman
57a1007772 Added new graphical setting for browser JS/On demand results resorting. 2017-09-15 11:12:23 +02:00
luccioman
d00a35576c Apply JS resort only when currently relevant : p2p text search 2017-09-15 09:51:34 +02:00
luccioman
4e3c928d31 Do not animate unnecessarily when changing page on JS sorted results. 2017-09-14 09:36:55 +02:00
luccioman
fb6743e8f8 Prevent unnecessary DOM finds in JS resorting functions.
Also removed now unused functions earlierPage() and laterPage().
2017-09-13 19:03:01 +02:00
luccioman
b1b9ffbbc8 Stop updating results with JS resorting on server feeds termination 2017-09-13 09:03:24 +02:00
luccioman
6f5e55c9f0 Updated the JavaScript license information page 2017-09-13 08:35:15 +02:00
luccioman
c7149acb48 Disabled as default verbose browser console logs in yacysort.js 2017-09-13 08:23:19 +02:00
luccioman
b50700c35f Added missing copyright header to the yacysort.js file 2017-09-13 08:16:29 +02:00
luccioman
86d41f0242 Moved the JS resort specific styling to the usual YaCy CSS location 2017-09-13 08:08:38 +02:00
luccioman
9e86d183b8 Disable manual search results resorting when resorting is done with JS
Also added a constant for the js resorting setting key.
2017-09-13 07:58:05 +02:00
luccioman
4ccd38357f Trigger js resorting animations using only CSS classes.
Also added some more descriptive comments.
2017-09-13 07:41:03 +02:00
luccioman
e40a225bc1 Merge branch 'javascript-resort' of https://github.com/Scarfmonster/yacy_search_server into jsResort 2017-09-13 07:29:58 +02:00
Ryszard Goń
2af011243f Javascript re-sorting: Remove potentially breaking display property and reset max-height when animation is finished. 2017-09-11 20:02:19 +02:00
Ryszard Goń
634f52fefc Javascript re-sorting: replace jQuery show() with css animations 2017-09-10 17:20:12 +02:00
luccioman
5d3ceb31b7 Improved search navigators counters accuracy and consistency.
- added some missing increments from RWI results
- decrement relevant navigator counts when solr or RWI results are
evicted because duplicates detection or constraints checked belatedly
- do not compute facets when unnecessary to avoid unwanted CPU load
- do not increment from facets when already done
- do not rely on facets on remote solr peers requests, as most of the
time only a limited part of their total results if fetched (thus also
preventing unnecessary load on remote peers)
- use a concurrency friendly score map for the dates navigators to
prevent unwanted ConcurrentModificationExceptions

This improves the situation for the most obvious inconsistencies in
search navigators counts, but more has to be done for a true accuracy
(notably when query modifiers constraints are applied belatedly - after
the solr or RWI retrieval request - such as the content domain
constraint)
2017-09-06 16:58:40 +02:00
JeremyRand
ab0e50b941
Javascript re-sorting: optimize the jQuery selectors a little bit. 2017-09-03 18:09:52 +00:00
JeremyRand
86b5094970
Fix numbered page navigation from getting corrupted when statistics() runs. 2017-09-03 18:09:51 +00:00
JeremyRand
a888254769
Add UI for numbered page navigation when Javascript re-sorting is enabled. 2017-09-03 18:09:44 +00:00
JeremyRand
74333c931e
Fix the sidebar item "Wiki Name Space" with Javascript re-sorting. 2017-09-03 17:50:17 +00:00
JeremyRand
4a9e64caea
(WIP) Add numbered page navigation when Javascript re-sorting is enabled.
TODO: Add UI for selecting the number.
2017-09-03 17:50:17 +00:00
JeremyRand
6ec256dc34
(WIP) Fix the sidebar when Javascript resorting is in use.
TODO: Add some markup so that DOM traversal in the animations is less painful.
2017-09-03 17:50:16 +00:00
JeremyRand
d37df75afa
(WIP) Optionally sort HTML search items via Javascript.
TODO: Expose a GUI setting for this.
2017-09-03 17:50:08 +00:00
JeremyRand
61be709a97
Add data-ranking attribute to each HTML search item. 2017-09-03 17:44:19 +00:00
luccioman
a28428047a Fixed count of filtered results from local solr.
Was inadequately modified in my previous related commits (making next
pages buttons unavailable in Search portal mode), as
SearchEvent.local_solr_available did not count the total filtered
results but only the ones within the currently fetched result page(s).
2017-08-31 11:24:59 +02:00
luccioman
30c2f50e0b Use final results counts in progress bar detailed statistics.
Using unfiltered detailed counts (local and remote entries found before
doubles detection and before applying query modifiers) was confusing and
inconsistent with the total count. It could let think more results are
to come in the next pages, without understanding why they are not
displayed.
2017-08-31 07:37:24 +02:00
luccioman
8b25b485eb Make result action links visible when focusing them with keyboard. 2017-08-29 08:16:12 +02:00
luccioman
3e933979df Removed duplicate HTML class attribute. 2017-08-29 07:39:12 +02:00
luccioman
ce22076920 Fixed Unresolved_Pattern occurence on results favicon HTML id. 2017-08-29 07:32:33 +02:00
luccioman
a1a0515312 Added a button to manually refresh sorting of p2p search results.
As a server-side oriented alternative to the JavaScript realtime
resorting feature proposed in PR #104.
The goal is the same as in this PR : having the possibility compensate
the network latency of various peers results fetching and obtain once
possible a consistently ranked result set.
2017-08-28 19:03:51 +02:00
luccioman
4eba88f2ff Removed some unnecessary uses of java.lang.reflect api.
This improves code browsing and readability, making search by references
or call hierarchy IDE features more accurate.
2017-08-24 18:47:18 +02:00
reger
51a4e03c93 Allow to stop currently running warc import (stop button) 2017-08-20 22:17:27 +02:00
luccioman
3f0446f14b Ensure proper synchronous robots entry retrieval on first check.
Previously, when checking for the first time the robots.txt policy on a
unknown host (not cached in the robots table), result was always empty
in the /getpageinfo_p.xml api and in the /CrawlCheck_p.html page. Next
calls returned however the correct information.
2017-08-16 09:30:33 +02:00
luccioman
b23a563065 Prevent search result failure on incomplete images information.
Complements the recent modification related to images in commit 7f395ef.

Unfortunately many documents metadata fetched from the freeworld p2p
network have only partial information about embedded images. Without
proper error handling, this made many searches in p2p mode to fail
completely.
2017-08-15 10:11:05 +02:00
Michael Peter Christen
7f395ef937 added image link in search results
This should be a help to make a preview of search results.
The image is computed from the list of embedded images, it is
always the first image in that list.
In rss-type results the image is presented like
<media:content medium="image" url="https://abc.xyz/logo.png"/>
as defined in
http://www.rssboard.org/media-rss#media-content
2017-08-14 20:12:09 +02:00
reger
4979439e87 Skip public post of jre version.
Added to determine switch to java8  596b5dfa59
2017-08-06 23:41:53 +02:00
reger
588c6e96fb upd version for typeahead.jquery.js in jslicense.html 2017-07-16 23:35:56 +02:00
luccioman
8100c033a2 URL Viewer : apply crawler size limits when adding to local index.
This allow large files parsing and preview, while preventing unwanted
OutOfMemory errors which are likely to occur when adding to the Solr
Index resources larger than configured crawler limits.
2017-07-16 14:37:06 +02:00
reger
e5cff062b5 Clean up redundant but obsolete jquery.rdfquery-core-1.0.js script lib 2017-07-14 23:41:39 +02:00
reger
23bda133d2 Fix css conflict of YMarks.html to make it viewable.
yacy-ymarks.css sidebar conflicts with bootstraps sidebar (different
overlay settings). Simply renamed it to ymark-sidebar.
2017-07-09 23:08:54 +02:00
reger
a21789d4e7 Fix unresolved pattern in api/share.html by init some display var's 2017-07-08 22:46:15 +02:00
luccioman
bf55f1d6e5 Started support of partial parsing on large streamed resources.
Thus enable getpageinfo_p API to return something in a reasonable amount
of time on resources over MegaBytes size range.
Support added first with the generic XML parser, for other formats
regular crawler limits apply as usual.
2017-07-08 09:04:03 +02:00
luccioman
1b3c169a9c URL Viewer : decode raw text using the eventual response charset.
When provided, or decode as UTF-8 as previously done.
2017-07-03 13:51:14 +02:00
reger
e6e20dab52 upd to Jetty 9.4.6.v20170531
Modify loginservice to the changes in Jetty, partially based on pull 
request #101 https://github.com/yacy/yacy_search_server/pull/101 bu @automenta
2017-07-01 23:58:28 +02:00
luccioman
e4c730b99f Updated PerformanceQueues_p.xml API with last related servlet changes 2017-06-30 11:41:48 +02:00
luccioman
dcc56318bb Made remote search max system load limits configurable from UI.
As reported by davide on YaCy forums (
http://forum.yacy-websuche.de/viewtopic.php?f=23&t=6004 ) when the
system is on high load, unless reading carefully YaCy configuration
file, it could be difficult to understand why remote search results are
not fetched.
2017-06-30 11:30:54 +02:00
luccioman
4b72b29ea2 Added an informative title on the crawl start robots.txt status icon 2017-06-29 11:36:47 +02:00
luccioman
d08f31c3a8 Crawl start Ajax request : properly handle eventual XML parsing errors
Otherwise on a malformed getpageinfo_p XML response (from the browser
point of view), JavaScript errors where thrown and the ajax status
steering wheel remained displayed indefinitely.
2017-06-29 11:25:27 +02:00
luccioman
8da3174867 Ensure lower case conversion consistency with any default locale.
Especially for Turkish speaking users using "tr" as their system default
locale : strings for technical stuff (URLs, tag names, constants...)
must not be lower cased with the default locale, as 'I' doesn't becomes
'i' like in other locales such as "en", but becomes 'ı'.
2017-06-27 06:42:33 +02:00
luccioman
c41b31dcb3 Cleaned up memory usage page HTML
- fixed validation errors
- removed deprecated attributes
- improved accessibility with richer table semantics (headers and
caption elements) and language declaration
2017-06-20 09:21:55 +02:00
luccioman
0487336ec3 Prevent integer overflow in table statistics and use strong typing 2017-06-19 17:02:11 +02:00
luccioman
0f80c978d6 Limit the number of initially previewed links in crawl start pages.
This prevent rendering a big and inconvenient scrollbar on resources
containing many links.
If really needed, preview of all links is still available with a "Show
all links" button.

Doesn't affect the number of links used once the crawl is effectively
started, as the list is then loaded again server-side.
2017-06-17 09:33:14 +02:00
luccioman
32288a8999 Merge branch 'master' of https://github.com/yacy/yacy_search_server 2017-06-17 08:16:55 +02:00
luccioman
e9b4b29f90 Limit scope of some local JavaScript variables. 2017-06-16 08:50:57 +02:00
Michael Peter Christen
369b8e0e0b added json(p) endpoint for crawl start 2017-06-16 08:44:40 +02:00
luccioman
9dd790087d Added HT Cache basic statistics (hit rate) 2017-06-15 09:50:02 +02:00
luccioman
28b451a0b3 Made Cache compression level and lock timeout user configurable 2017-06-14 19:02:08 +02:00
Michael Peter Christen
6fe735945d migrated Solr 5.5 -> Solr 6.6 and from Java 1.7 -> 1.8
Also: now Version 1.921
2017-06-09 12:25:23 +02:00
luccioman
8399275142 Properly close file output streams even on exceptions scenarios. 2017-06-08 07:19:16 +02:00
reger
632354e2ff Tokenize result entry keywords and add some styling for display 2017-06-04 01:50:40 +02:00
reger
a814f3d885 Introduce keyword query parameter
This enables keyword navigator to filter on keywords. Added search page
output and layout config for keywords, allowing e.g. in Intranet use
to display the keywords. No styling or links applied to the keyword
text (but is desirable possibly in combination with bootstrap-tagsinput
for future/intranet).
2017-06-02 01:00:21 +02:00
luccioman
cbccf97361 Added JavaDoc to the getpageinfo_p API servlet. 2017-05-30 17:38:16 +02:00
luccioman
bd88fd303e Deprecated duplicated and internally unused getpageinfo servlet.
Redirections set for the transition of any eventual external uses:
 - /api/getpageinfo.xml to /api/getpageinfo_p.xml
 - /api/getpageinfo.json to /api/getpageinfo_p.json
2017-05-30 09:29:28 +02:00
luccioman
1be4d32f99 Restored search page default behavior for Tab, Page Up and Down keys
Replaced by shortcuts defined by the HTML "accesskey" attribute which
has the advantage to be advertised by screen readers when focusing the
corresponding buttons, contrary to custom JavasScript key handlers.
Now With Firefox :
 - "Alt + Shift + n" for next page
 - "Alt + Shift + p" for previous page

Following ARIA recommendation : "keyboard shortcuts enhance, not
replace, standard keyboard access." ( see
https://www.w3.org/TR/wai-aria-practices/#kbd_shortcuts_behavior_design)

Fix for mantis 711 (http://mantis.tokeek.de/view.php?id=711)
2017-05-23 07:25:40 +02:00
luccioman
45346c1be8 Added missing accessibility attributes on search results progress bar. 2017-05-16 09:44:13 +02:00
luccioman
91a06bc669 Annotated search result information separators for screen readers. 2017-05-15 13:31:24 +02:00
luccioman
31ad043bb9 Added user interface feedback on results feeding termination status.
Added as an additional icon with title in the search progress bar, to
inform about background search feeder threads terminated or still
running. While giving a bit more information to users about the p2p
search process, this can help choosing whether or not wait a little bit
more time before going to the next page, in order to get results from
various sources sorted as best as possible (see #91 for a discussion
about sorting accuracy and network latency).

Other related modifications included :
 - regular updates to statistics in the progress bar until the
background feeders are completely terminated.
 - removed some uses of unsecure and discouraged JavaScript elements
2017-05-15 13:15:16 +02:00
luccioman
d90b001e1b Improved previous merge "Show ranking in HTML UI".
- added the new setting as configurable in the "Debug/Analysis" settings
page. Debug/analysis is its main purpose for now as there is currently
no nice and "understansable" ranking score info servlet (see forum
discussion http://forum.yacy-websuche.de/viewtopic.php?f=8&t=5884 ) 
- render in the "Search Page Layout" page preview when enabled
- added constants
2017-05-11 18:02:33 +02:00
luccioman
efe1232d90 Merge branch 'html-show-ranking' of
https://github.com/JeremyRand/yacy_search_server

Conflicts:
	defaults/yacy.init
2017-05-11 14:53:57 +02:00