{zbmath.org}
The Good, the Bad and the Ugly
History



2004
2008
2013
Features
- 2.0: cdb -> Elasticsearch
- 2.1: Python2 -> Python3
- 2.2: Debianization
- 2.3: new recruiting workflow (become-a-reviewer form)
- 2.4: improvements in author profiles; accessibility
- 2.5: swMATH integration
- 2.6: factor out query parser
- 2.7: sorting options and internal links
- 2.8: filters in all tabs, redesign of result lists
- 2.9: arXiv integration
- 2.10: multi-line search interface
Server-Side Application
-
Python
-
Flask
-
Jinja
-
application code
-
-
Javascript
-
JQuery
-
custom JS
-
-
CSS
-
Bootstrap
-
custom CSS
-
-
some in-house developments
Technology
- cdb
- well suited to zbMATH query use cases
- problem: file-based (-> no distributed deployment possible)
- zbQueryParser
- take in a zbMATH query
- example:
py:2019|2024 (au:teschke ^ au:greuel) - produces an abstract syntax tree
- Elasticsearch query adapter
- turns it into an ES query
- Erdős distance
- become-a-reviewer interface
- various external interfaces (author disambiguation, citation matching)
In-House Developments
- Elasticsearch index
- Matrix3+Lethe DBs (for become-a- reviewer form)
- some file system resources (scans, tutorial videos)
- static.zbmath.org
Resources
Code Structure
- setup.cfg
- run.py
- zbmath/
- __init__.py
- helpers.py
-
endpoints/
- tabs.py
- static.py
-
output/
- pdf.py &c.
-
fields/
- __init__.py
- multi_line_search.yaml
- zbmath/ (cont.)
-
templates/
- base.html
- documents.html &c.
- search.html
- macro.html
- documents_macros.html
-
static/
- scripts.js
- styles.css
-
templates/
Problems
- too much CSS (not clear what is still used)
- same problem for Jinja code, images...
- global state, ad-hoc representation
- outdated Bootstrap version
- no test suite
- Tools & Resources
- Semantic Entity Linking
- Affiliations
- Research Data Tab
- Did You Mean
In the Pipeline
Thank you!
Questions?
zbmath.org
By fmux
zbmath.org
- 52