2018Q01

Jan 02, 2018

Release 0. 147.0.

Mar 17, 2018

Release 0.150.0.

2018W11

  • Establish thorough monitoring incl. subsystems at /ping or /status
  • Improve email filtering and account deactivation
  • Strip each field from comfort form before building query
    {"patentnumber":" ","class":"F04D29/28* or F04D29/30* or F01D5/22*","pubdate":"within 1900-01-01,2010-03-16"}
    
    => pn:None AND
  • [o] Make email templates etc. multi-tenant capable
  • [o] Missing Javascript .map files on production?
  • [o] Button to report missing fulltexts
  • [o] Description not displayed properly for JPH05312189A, JP2001107892A, JPH05312190A, JPH05321891A
  • [o] Slight anomaly when displaying “claims” for US2002062561A1, US5536139A, US5395210A
  • [o] Missing fulltext for JPH0295797A, EP0305376A1
  • [o] Display “WPS Fulltext” as “IFI Claims” when not running on acme domains.
  • [o] On “make release”: warning package.json: License should be a valid SPDX license expression
  • [o] Exception mails: “TypeError: n.where is not a function”
  • [o] Login page: Appropriate message when Javascript is disabled
  • [o] Fix Espacenet client
  • [o] Espacenet bot check: POST https://worldwide.espacenet.com/hdl/check (Content-Type:application/x-www-form-urlencoded; charset=UTF-8)`:
    data:{"a":Ātsă1521380č1,"evenĆă[ąć:0Ētă"mm"Ēxă20Ğ"yĨĪ},ěăīĠ:ĢĤĦĈ92Ēĭ:1ĻİIJĝğġģĥ"ħĿċĽĈċł"ĘńőņĸʼnĈ43ōĿřŐŒĴŕňŊŀ7śŤ}]İ"fpġ18c9766ba6cecd53e63b7b2f3f9Ƅ5b3ňėĜĉċčď81}
    
    data=%7B%22a%22%3A%C4%80ts%C4%831521380%C4%8D1%2C%22even%C4%86%C4%83%5B%C4%85%C4%87%3A0%C4%92t%C4%83%22mm%22%C4%92x%C4%8320%C4%9E%22y%C4%A8%C4%AA%7D%2C%C4%9B%C4%83%C4%AB%C4%A0%3A%C4%A2%C4%A4%C4%A6%C4%8892%C4%92%C4%AD%3A1%C4%BB%C4%B0%C4%B2%C4%9D%C4%9F%C4%A1%C4%A3%C4%A5%22%C4%A7%C4%BF%C4%8B%C4%BD%C4%88%C4%8B%C5%82%22%C4%98%C5%84%C5%91%C5%86%C4%B8%C5%89%C4%8843%C5%8D%C4%BF%C5%99%C5%90%C5%92%C4%B4%C5%95%C5%88%C5%8A%C5%807%C5%9B%C5%A4%7D%5D%C4%B0%22fp%C4%A118c9766ba6cecd53e63b7b2f3f9%C6%845b3%C5%88%C4%97%C4%9C%C4%89%C4%8B%C4%8D%C4%8F81%7D
    
  • [o] Upgrade jQuery
  • [o] Include output of “hostnamectl” into error report
  • [o] Javascript optimizations
    Optimizing loading time for big React apps – SmartboxTv Engineering – Medium
    webpack 4: Code Splitting, chunk graph and the splitChunks optimization
    • [o] Deliver Javascript bundles using gzip
    • [o] Request bundles with version number like /bundle/app.js?v=2.0.2
    • [o] Use async loading
    • [o] Chunk optimization
  • [o] Fix Espacenet crawler
  • [o] Make https://patzilla.ip-tools.io/ run with Elmyra Copyright
  • [o] Use URI.js: GitHub - medialize/URI.js: Javascript URL mutation library (URI.js - URLs in Javascript)
  • [o] Add origin IP to issue report
  • [o] Upgrade to jQuery 3: jQuery Core 3.0 Upgrade Guide | jQuery
  • [o] Use “to_png” with Pillow from P2N/p2n/util.py

Stacktraces


2018-03-19 10:03:23,426 ERROR [patzilla.util.numbers.common][MainThread] Could not parse patent number "ECSMU12012012U"
2018-03-19 10:03:23,427 CRITI [patzilla.navigator.services][MainThread] ops-search error: query="pn=US7976049B2 or pn=US2011163575A1 or pn=US2011166753A1 or pn=WO2011080675A2 or pn=WO2011081617A1 or pn=EP2340800A2 or pn=US7971297B2 or pn=US7974753B2 or pn=JP2011125451A or pn=JP2011125452A", reason=exceptions.AttributeError: 'NoneType' object has no attribute 'country'
response:
None
exception:
Traceback (most recent call last):
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/patzilla/navigator/services/ops.py", line 96, in ops_published_data_search_handler
    result = ops_published_data_search_swap_family(constituents, query, range)
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/beaker/cache.py", line 599, in cached
    return cache[0].get_value(cache_key, createfunc=go)
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/beaker/cache.py", line 322, in get
    return self._get_value(key, **kw).get_value()
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/beaker/container.py", line 378, in get_value
    v = self.createfunc()
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/beaker/cache.py", line 597, in go
    return func(*args, **kwargs)
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/patzilla/access/epo/ops/api.py", line 60, in ops_published_data_search_swap_family
    numbers = results_swap_family_members(results)
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/patzilla/access/epo/ops/api.py", line 153, in results_swap_family_members
    if match_filter(member_pubnum, filter):
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/patzilla/access/epo/ops/api.py", line 84, in match_filter
    outcome = filter(patent)
  File "/opt/patzilla/sites/patzilla-prod/.venv27/local/lib/python2.7/site-packages/patzilla/access/epo/ops/api.py", line 73, in <lambda>
    {'filter': lambda patent: patent.country.startswith('DE') and not patent.kind.startswith('D1')},
AttributeError: 'NoneType' object has no attribute 'country'

patzilla.ip-tools.io, patentsearch.ip-tools.io, patentview.ip-tools.io, patentsearch.elmyra.de, patentview.elmyra.de
patzilla-develop.ip-tools.io, patzilla-staging.ip-tools.io, patentsearch-develop.ip-tools.io, patentsearch-staging.ip-tools.io, patentsearch-develop.elmyra.de, patentview-develop.elmyra.de, patentsearch-staging.elmyra.de, patentview-staging.elmyra.de

2018-04-09 15:17:49,324 ERROR    [patzilla.access.epo.ops.api             ][MainThread] OPS API errors:
[{'description': {'content': '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n<fault xmlns="http://ops.epo.org">\n    <code>CLIENT.AmbiguousRequest</code>\n    <message>The request was ambiguous</message>\n    <details>\n        <cause>Ambiguous input: publication/docdb/DE.1944897</cause>\n        <resolution>publication/docdb/DE.1944897.A1</resolution>\n        <resolution>publication/docdb/DE.1944897.B2</resolution>\n        <resolution>publication/docdb/DE.1944897.U</resolution>\n    </details>\n</fault>\n',
                  'headers': {'Access-Control-Allow-Headers': 'Authorization',
                              'Access-Control-Allow-Methods': 'POST',
                              'Access-Control-Allow-Origin': '*',
                              'Connection': 'keep-alive',
                              'Content-Language': 'en',
                              'Content-Length': '482',
                              'Content-Type': 'application/xml',
                              'Date': 'Mon, 09 Apr 2018 13:17:48 GMT',
                              'Server': 'Apache',
                              'X-API': 'ops-v3.2',
                              'X-EPO-Client-IP': '148.251.156.201',
                              'X-EPO-Forwarded': '[148.251.156.201]',
                              'X-IndividualQuotaPerHour-Used': '8021541',
                              'X-RegisteredQuotaPerWeek-Used': '127218737',
                              'X-Throttling-Control': 'busy (images=green:100, inpadoc=green:45, other=green:1000, retrieval=green:100, search=green:15), busy (images=green:100, inpadoc=green:45, other=green:1000, retrieval=green:100, search=green:15)'},
                  'reason': 'Request Entity Too Large',
                  'status_code': 413,
                  'url': u'https://ops.epo.org/3.2/rest-services/published-data/publication/docdb/DE.1944897/biblio/full-cycle'},
  'location': 'ops-biblio',
  'name': 'http-response'}]