跳转到主要内容

Snovault 混合对象关系型数据库框架

项目描述

SnoVault JSON-LD 数据库框架

系统安装 (OSX Big Sur(测试), Catlina(10.15.x), Mojave(10.14.6))

我们将尽力保持更新,以适应OSX、Xcode和brew的更新。但是以下步骤仅供参考,并不能保证在您的特定系统上一定能工作。请访问依赖项的网站以获取详细说明,或者在pull request中告知我们任何更改。
  1. 命令行工具
    xcode-select --install
  2. brew: https://brew.sh.cn/ . 确保已安装git

  3. Python 3.8.5

  4. Postgres@11 (Postgres@9.3 也适用)
    brew install postgresql@11
    # May need to add postgres to PATH in your shell profile, e.g. ~/.bash_profile, ~/.zshrc
    # echo 'export PATH="/usr/local/opt/postgresql@11/bin:$PATH"' >> YOUR_SHELL_PROFILE
  5. Node 10.x.x
    brew install node@12

    您可能需要使用 brew link node@12node/npm 链接起来,然后添加到您的 PATH

  6. Ruby - 非系统版本,用于安装compass并避免权限错误
    brew install ruby
    # May need to add ruby to your bash_profile/zshrc and restart terminal
  7. Compass
    gem install compass
    # Test the install
    compass -v
    # If the command is not found then find your ruby bin directory
    ls /usr/local/lib/ruby/gem/
    # If you have two versions use the active one
    ruby -v
    # Using the correct ruby version bin diretory, make a sym link
    ln -s /usr/local/lib/ruby/gems/2.6.0/bin/compass /usr/local/opt/ruby/bin/compass
  8. Java 11
    brew install openjdk@11
    # Add to your PATH in terminal profile, i.e. ~/.bash_profile or ~/.zshrc
    export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
  9. Elasticsearch 5.x
    # Download tar: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.0.tar.gz
    
    # Decompress
    tar -xvf ~/Downloads/elasticsearch-5.6.0.tar.gz -C /usr/local/opt/
    
    # Add to PATH in your terminal profile, i.e. ~/.bash_profile or ~/.zshrc
    export PATH="/usr/local/opt/elasticsearch-5.6.0/bin:$PATH"
    
    # Restart terminal and check versions
    elasticsearch -V
  10. Brew 依赖项
    brew install libmagic nginx graphviz redis
  11. 测试用的Chrome驱动器

    Chromedriver 需要添加到您的 PATH 中。如果在python虚拟环境中工作,则可以将chromedriver添加到您的 -venv-dir/bin 目录。

    您还需要安装Chrome(如果尚未安装)。此外,允许 chromedriver 运行 bdd 测试(系统偏好设置->安全和隐私)

应用程序安装

  1. 在您的工目录中创建一个虚拟环境。这里我们使用python3 venv模块。如果您愿意,也可以使用conda的venv
    cd your-work-dir
    python3 -m venv snovault-venv
    source snovault-venv/bin/activate
    pip install -U pip==21.0.1
  2. 克隆repo并安装需求
    cd snovault
    pip install -e '.[dev]'
    如果psycopg2编译失败,您可能需要在pip安装之前将LDFLAGS设置为 pg_config --ldflags 的输出。
    LDFLAGS=$(pg_config --ldflags) pip install -e '.[dev]'

    如果您遇到以下类似的运行时错误

    ImportError: dlopen(/Users/foo/venv/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so, 2): Symbol not found: _PQencryptPasswordConn
    Referenced from: /Users/foo/venv/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so
    Expected in: /usr/lib/libpq.5.dylib
    in /Users/foo/venv/lib/python3.7/site-packages/psycopg2/_psycopg.cpython-37m-darwin.so

    您可能需要在 LDFLAGS 中添加由 pg_config --ldflags 给出的,以及通常位于 -L/usr/local/opt/postgresql@11/libbrew-安装的Postgres头文件。

  3. 构建应用程序
    # Make sure you are in the snovault-venv
    make clean && buildout
  4. 运行应用程序
    # Make sure you are in the snovault-venv
    dev-servers development.ini --app-name app --clear --init --load
    # In a separate terminal, make sure you are in the snovault-venv
    pserve development.ini
  5. 浏览到 http://localhost:6543

  6. 运行测试
    • 没有参数运行非bdd测试

    # Make sure you are in the snovault-venv
    ./circle-tests.sh bdd
    ./circle-tests.sh npm
    ./circle-tests.sh

更改

Snovault 1.0.68 (发布) 编码 v130

  1. SNO2-25-multiple-types (#402)

Snovault 1.0.67 (发布) 编码 v129.2

  1. SNO2-21-files-crash (#399)

Snovault 1.0.66 (发布) 编码 v129.0

  1. ENCM-89-support-big-image-attachments (#390)

Snovault 1.0.65 (发布) 编码 v128.0

  1. 增加字段限制 (#388)

Snovault 1.0.64 (发布) 编码 v128.0

  1. 固定splitter (#385)

Snovault 1.0.63 (发布) 编码 v128.0

  1. ENCM-29-pin-antlr (#379)

Snovault 1.0.62 (发布) 编码 v124.0

  1. SNO-217-register-search-config-pieces-from-item (#370)

Snovault 1.0.61 (发布) 编码 v124.0

  1. SNO-214-upgrade-node-to-version-12-for-circleci-tests (#365)

  2. SNO-210-read-columns-from-configs (#368)

  3. SNO-216 修复dev-servers无打印内容时的100% CPU使用率 (#367)

  4. SNO-212 允许gzip附件 (#363)

  5. SNO-213-circleci-node-install-fix (#364)

  6. SNO-211-increase-batch-size-in-scroll-api (#360)

Snovault 1.0.60 (发布) 编码 v121.0

  1. SNO-209-move-search-code-to-independent-package (#356)

  2. SNO-206-use-redis-cache-for-rnget-view (#354)

  3. SNO-207-facet-groups-support (#355)

  4. SNO-205-allow-customization-of-default-sort (#353)

Snovault 1.0.59 (发布) 编码 v120.0

  1. SNO-204-allow-facet-caching (#351)

Snovault 1.0.58 (发布) 编码 v118.0

  1. SNO-170-avoid-rendering-from-database-3 (#346)

  2. SNO-202-upgrade-python (#345)

Snovault 1.0.57 (已发布) 编码 v116.0

  1. 撤销 SNO-202-python3.8.5-upgrade (#338)

  2. SNO-201-add-search-config-registry (#336)

  3. SNO-202-python3.8.5-upgrade (#335)

Snovault 1.0.56 (已发布) 编码 v115.0

  1. SNO-200-remove-nonsubstring-filter-from-mapping (#332)

  2. SNO-199-allow-customization-of-search-fields (#333)

  3. SNO-197-add-range-queries-and-min-max-aggs (#329)

  4. SNO-198-allow-configuration-of-reserved-search-params (#330)

  5. SNO-138-fix-pytest-warnings (#324)

  6. SNO-182-readme-update (#323)

Snovault 1.0.55 (已发布) 编码 v114.0

  1. SNO-192-update-pip-install (#321)

Snovault 1.0.54 (已发布) 编码 v113.0

  1. SNO-27-pip-installable (#316)

  2. SNO-191-pyramid-env-vars (#318)

  3. SNO-117-search-as-you-type (#220)

Snovault 1.0.53 (已发布) 编码 v112.0

  1. SNO-158-create-minimally-indexed-deploy

  2. SNO-190-pin-setuptools-in-circle-ci (#315)

Snovault 1.0.52 (已发布) 编码 v111.0

  1. SNO-185-Log-connection-error (#311)

  2. SNO-183-allow-specification-of-cart-in-search (#310)

  3. SNO-181-Update-install-readme (#309)

Snovault 1.0.51 (已发布) 编码 v109.0

  1. SNO-174-add-local-storage-redis (#299)

  2. SNO-176-invalidate-object-when-unlinked (#303)

  3. SNO-177-add-view-with-specified-fields (#300)

  4. SNO-178-fix-indexer-test (#304)

Snovault 1.0.50 (已发布) 编码 v108.0

  1. SNO-168-stream-heterogeneous-uuids (#292)

  2. SNO-169 创建管理员用户创建命令 (#293)

Snovault 1.0.49 (已发布) 编码 v106.0

  1. SNO-166-update-query-string (#288)

Snovault 1.0.48 (已发布) 编码 v105.0

  1. SNO-163-install-graphviz (#285)

Snovault 1.0.47 (已发布) 编码 v104.0

  1. SNO-159-allow-remote-indexing (#282)

Snovault 1.0.46 (已发布) 编码 v103.0 (未发布)

  1. SNO-160-use-boolean-values-in-facets (#280)

  2. SNO-116 使用 summary_matrix 代替 summary (#278)

  3. SNO-157-make-facets-collapsable (#275)

Snovault 1.0.45 (已发布) 编码 v102.0

  1. SNO-154-fix-magic-json-bug (#272)

  2. SNO-156 使用 pyramid_retry 2.1.1 (#273)

  3. SNO-137-add-search-doc (#267)

  4. SNO-152 修复 circle-ci 浏览器安装 (#269)

Snovault 1.0.44 (已发布) 编码 v99.0

  1. SNO-150 删除重复项并修复 antlr 版本 (#266)

  2. SNO-149-allow-specification-of-audit-field (#265)

  3. SNO-143 更新并切换 readme (#252)

  4. SNO-148-uuid-indexing-times-new-line-bit (#192)

  5. SNO-144-redirect-downloads-through-nginx-or-apache (#192)

Snovault 1.0.43 (已发布) 编码 v98.0

  1. SNO-146-clean-up-threadmanager-on-pyramid-retry-exception (#261)

Snovault 1.0.42 (已发布) 编码 v97.0

  1. SNO-145-handle-missing-obj-on-request (#258)

Snovault 1.0.41 (已发布) 编码 v97rc

  1. SNO-142 修复 ubutnu 18 在 v96x1rc1 上的小错误 (#252)

  2. SNO-141 更新 osx catalina readme (#252)

  3. SNO-140 允许使用标志截断 uuid (#249)

  4. SNO-139 记录详细的初始索引时间 (#249)

  5. SNO-135 更新 osx catalina 的安装 (#249)

  6. SNO-132 更新到 py37 lrowe pr 并修复 (#249)

Snovault 1.0.40 (已发布) 编码 v95.0

  1. SNO-129-add-fielded-generator-response (#244)

  2. SNO-128-make-select-calculated-properties-view (#245)

  3. SNO-133-setuptools-test-failure (#247)

Snovault 1.0.39 (已发布) 编码 v94.0

  1. SNO-126-allow-default-value-for-missing-aggregation-field (#242)

Snovault 1.0.38 (已发布) 编码 v93.0

  1. SNO-125-switch-batch-download-to-query-string (#238)

  2. SNO-118-simple-query-string (#240)

  3. SNO-123-limit-es-scan (#237)

  4. SNO-121-fix-circleci-apt-install (#224)

Snovault 1.0.37 (已发布) 编码 v92.0

  1. SNO-119-escape-regex-slash (#221)

  2. [热修复] SNO-120-stream-large-json (#222)

  3. SNO-115-delete-old-search-code (#219)

Snovault 1.0.36 (已发布) 编码 v91.0

  1. SNO-112-fix-npm-audit-issues (#216)

  2. SNO-113-make-audit-view (#217)

Snovault 1.0.35 (未发布)

  1. SNO-95-refactor-search (#214)

Snovault 1.0.34 (已发布) 编码 v88.0

  1. SNO-108-improve-search-new (#212)

  2. SNO-105-fix-batchupgrade-tests-sno103 (#211)

  3. SNO-106-fix-spec-char-500-error (#209)

Snovault 1.0.33 (已发布) 编码 v87.0

  1. SNO-103 修复 batch-upgrade 错误记录 (#206)

  2. SNO-102 使用-openjdk-java-for-circleci (#205)

Snovault 1.0.32 (已发布) 编码 v87rc1

  1. SNO-99 将 travis 测试迁移到 circleci (#202)

  2. SNO-100 并行化 batchupgrade 脚本 (#201)

  3. SNO-92 修复批量升级日志 (#201)

  4. SNO-101 重构批量升级 (#201)

Snovault 1.0.31 (已发布) 编码 v86.0

  1. SNO-98 更新 sauce connect 至 4.5.3 (#199)

  2. SNO-93 用户计数不匹配 (#191)

  3. SNO-90 添加高级查询 (#183)

Snovault 1.0.30 (已发布) 编码 v85x2

  1. SNO-96 修复索引测试 (#196)

Snovault 1.0.29 (已发布) 编码 v85rc1

  1. SNO-91 更新 travis-java-ref (#188)

  2. SNO-87 在配置文件 URL 不工作的情况下修复问题 (#179)

  3. SNO-86 转义搜索文本 (#178)

  4. SNO-88 修复用户搜索计数 (#180)

Snovault 1.0.28 (已发布) 编码 v84rc1

  1. SNO-89 修复索引器中的退避错误密钥 (#181)

  2. SNO-85 面板重新出现 (#175)

Snovault 1.0.27 (已发布) 编码 v83.0

  1. SNO-83 为 EXIF 旋转 img 附件 (#174)

Snovault 1.0.26 (已发布) 编码 v82.0

  1. SNO-78 添加长面板类型 (#168)

  2. SNO-80 面板类型自动完成 (#168)

  3. SNO-73 添加 uuid 队列模块 (#162)

Snovault 1.0.25 (已发布) 编码 v81.0

  1. SNO-77 将审核添加到 submit_for 验证 (#166)

Snovault 1.0.24 (已发布) 编码 v80.0

  1. SNO-75-fix-linux-travis-option (#163)

Snovault 1.0.23 (已发布) 编码 v79.0 同样

  1. SNO-72 更新 uuid 模块的 simple (#158)

Snovault 1.0.22 (已发布) 编码 v79.0 同样

  1. SNO-68 停止使用 _all 进行索引 (#155)

  2. SNO-74 删除 npm shrinkwrap json (#157)

Snovault 1.0.21 (已发布) 编码 v78.0 同样

  1. SNO-65 将索引器 uuid 重构为服务器客户端 (#151)

Snovault 1.0.20 (已发布) 编码 v78.0

  1. SNO-63 更新 pip requests 并删除 wal-e 请求 (#150)

  2. SNO-66 添加新端点以将模式映射到模式标题 (#152)

Snovault 1.0.19 (已发布) 编码 v77.0

  1. SNO-60-check-report-res-has-view (#147)

  2. SNO-50 购物车初始化 (#142)

  3. SNO-59-fix-index-logger-name (#137)

  4. SNO-53 将索引标志添加到索引器 (#137)

Snovault 1.0.18 (已发布) 编码 v76.0

  1. SNO-49 更改审计继承默认值 (#132)

  2. SNO-31 重构与搜索相关的视图 (#141) (#143)

1.0.17 1. [热修复] SNO-54-fix-schema-copy-line (#136)

1.0.16 1. SNO-52-alter-select-distinct-values (#131)

1.0.15 1. SNO-48-add-embed-cache-to-ini (#127)

1.0.14 1. SNO-45 增加嵌入容量 (#123)

1.0.13 1. SNO-46 删除未使用的搜索类型参数 (#122) 2. SNO-43 清理 snovault 启动 (#116)

1.0.12 1. SNO-42 明确检查调用次数 (#118)

1.0.11 01. SNO-41-put-validator-accession (#112)

1.0.10 01. SNO-35 修复 get_rev_links 中的错误 (#111) 02. SNO-40 将 blob 存储升级到 boto3 (#110)

1.0.9: 01. SNO-38 从 get_related_uuids 返回列表 (#108, #105)

1.0.8: 与 1.0.9 一起发布 01. SNO-36-update-buildout (#104) 02. SNO-34-nginx-dev-proxy-headers (#103)

1.0.7: 唯一更新已撤销。空发布。

1.0.6: 01. SNO-33 从集合中指定 get_by_unique_key 的索引 (#94) 02. SNO-28 将 ES 存储限制为为 snovault 资源创建的索引 (#93)

1.0.5: 01. SNO-30 将索引器状态从索引器文件中分离并更新 02. SNO-10 通过两步删除审计索引 03. SNO-9 向新的索引器元对象添加 API 端点 04. SNO-25 将 uniqueItems 用于检查序列化值 (#85) 05. SNO-26 将 schemas 映射视图添加到配置文件 (#86) 06. SNO-29 限制表单更新时的审计 07. SNO-19 更新 DOI 首选解析器 URL (#80)

1.0.4: -SNO-15 向存储属性表添加索引 -SNO-14 更新删除脚本

1.0.3: -SNO-8 向配置文件页面添加 JSONSchemas 类型 (#73)

1.0.2: * 在发布 ENCD v65 第二部分时发现的问题

-SNO-12: 在 es 索引器搜索中设置最大子句参数 (#75) -SNO-11: 向 ES 索引器搜索查询添加超时 (#74)

1.0.1: * 发布 ENCD v65 时发现的问题

-SNO-6: 修复索引查询过多子句失败 -SNO-5: 将 psycopg 更新为与 encoded 版本 2.7.3 匹配

1.0.0:

  • 31 删除

  • ES5 修复:更新索引设置分片编号

0.33:

  • ES5 更新:ENCD-2488 ES5 更新也称为 RM3910

  • 修复 travis 构建:为类似 ENCD-3722 的 travis 预安装 setuptools

0.32:

  • 更新到ENCD-3669,编辑视图中的对象不包括不可提交的逆链接。

0.31:

  • ENCD-3684指定https索引以修复构建,更新更改日志。

  • 使用notSubmittable代替calculatedProperty来指示可能无法提交的属性。与ENCD-3669相关。

0.30:

  • 文档依赖Java 8。

  • 禁用第二次索引遍历。

0.29:

  • 修复记录索引错误。

  • 添加有关索引的文档。

0.28:

  • 添加对在模式中指定为抽象类型的子对象添加和更新的支持。

  • 将索引分为两个阶段。

0.27:

  • 将嵌入式缓存移动到连接并增加大小。

  • 修复当错误路径包含整数时的升级错误报告。

0.26:

  • 索引器:限制工作进程为1个任务,并根据索引的项目数量调整块大小。

0.25:

  • 索引器:限制工作进程为4个任务以避免内存不足错误。

0.24:

  • 如果模式指定了显式的映射,则在构建Elasticsearch映射时使用它。这为边缘情况(例如,不索引页面布局结构)提供了一个逃生阀。

  • 升级到sauceconnect v4.4.4

  • 向wsgi_tests添加port_range(mrmin)

0.23: - 替换copy.deepcopy()以实现更快的索引

0.22: - 新的Image Magic版本,修复Sauce Labs

0.21: - (pypi错误,与0.22相同)

0.20: - 补丁mpindexer以获得更好的错误消息

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

snovault-1.0.68.tar.gz (192.3 kB 查看散列)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面