DP+ 3.0 tracking issue
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 8/100
- issue の種類
- 機能追加
- 明瞭さ
- 説明が足りない
- 活発さ
- 静か
- 技術スタック
- bootstrap, postgresql, python
調査の方向性
This is a tracking issue for the DP+ 3.0 release rather than a single task, and its unchecked item (incorporating the TX Form Pages: Registration, Upload and Review formpages) is design-heavy. Start by reading the linked PRs #263, #264 and #307 to see how the work has landed, and check the scheming form snippets in the repository. Done would mean the remaining unchecked items are closed or split into their own issues.
索引モデルが issue の本文から書いたものです。
説明
DP+ 3.0 will make the Data Resource Upload Flow (DRUF) that was developed for the Texas Water Data Hub generally available.
The DRUF is interactive FAIRification, featuring:
- ckanext-scheming 3.0 powered Dataset Form Pages with a standard Upload page in the beginning, and a Review page at the end.
- metadata formulas - Excel like formula DSL using jinja2 that can calculate/suggest metadata. They can either be pre-calculated and assigned automatically or offered as suggestions.
- Extensible formula helper library - since the formulas are written in jinja2, additional helpers can be easily added. The formula helpers will prioritize precalculating DCAT-US 3 recommended optional properties that are otherwise too hard to calculate manually (#218)
- suggestion UX/UI - a Suggestion UI using Bootstrap popovers that show the Suggestion and the Formula.
- apply scheming 3.0 changes
- reorganize project for maintainability https://github.com/dathere/datapusher-plus/pull/264
(DO THIS FIRST, BEFORE ITEMS BELOW) - https://github.com/dathere/datapusher-plus/pull/263 — merged 2025-11-23 (
69f5481); truncate in its own txn so theAccessExclusivelock is held for the shortest possible window, eliminating UI hangs on large COPY-into-datastore jobs. - incorporate TX Form Pages implementation - specifically, the Registration Formpage and the Upload formpage in the beginning, and the Review Formpage at the end.
- incorporate AI-powered suggestions for Description and Data Dictionary using qsv describegpt — backend in #301 (
fdc3714), scheming UI in #302 (ad28ebc), qsv-flag + envelope-shape fixes from LM Studio E2E in #303, and Vitest + jsdom unit suite in #304 (which also caught a production bug where the polling JS was readingSTATUSfrom the wrong path and would never have terminated). Opt-in viackanext.datapusher_plus.enable_ai_suggestions(off by default; needs an OpenAI-compatible endpoint configured in qsv's describegpt prompt-file). Per-field opt-in viaai_suggestion: trueon the scheming field config; AI buttons appear next to opted-in fields on markdown / text / select form snippets, polling JS reads suggestions frompackage["dpp_suggestions"]["ai_suggestions"]and applies on click. - extend qsv describegpt so that it can use a controlled vocabulary for suggested tags. The controlled vocabulary will be configurable and point to the specified CKAN resource with the following columns
tag,description,AI guidance.AI guidancewill be customizable instructions when/how to use the associated tag. - leverage qsv's delimiter inferencing (see #256) — done in
efb254f;format_converter.py:319-340now sniffs and normalizes non-comma CSVs - #261
- #262
- #265 — stash + restore Data Dictionary across DP+ job failures, landed in #307 (
59e08d7). Analysis stage writes a small per-resource JSON snapshot to disk before deleting the existing datastore;_rollback_databasereads it back on failure and re-creates the datastore with the originalinfodicts (and propertypederived fromtype_override) and zero rows. A retry branch inAnalysisStage._parse_statsre-loads the stash when no live datastore exists, so the dictionary survives even when the failure happened outside the database transaction. Stash mtime is surfaced in restore logs so operators can spot stale-restore vs. genuine retry. New knobckanext.datapusher_plus.dictionary_stash_dir(defaults to<tempdir>/dpp_dict_stash).
- 主要言語
- Python
- スター
- 47
- フォーク
- 33
- 平均マージ
- 2時間 28分
- マージ済み PR(30日)
- 10
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
dathere/datapusher-plus のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
dathere/datapusher-plus#359 ·
メンテナーはふだん 1 日以内に返信
-
"Total elapsed time" in the JOB DONE line is ~1.79 billion seconds (perf_counter overwrites the time.time() start)対応中かも @tino097 が 14 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 35/100
dathere/datapusher-plus#355 ·
メンテナーはふだん 1 日以内に返信
-
FormulaProcessing stage always skipped on CKAN 2.10+: ckan.plugins is a list, stage calls .split() on it対応中かも @tino097 が 14 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 25/100
dathere/datapusher-plus#354 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
dathere/datapusher-plus#340 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 53/100
dathere/datapusher-plus#338 ·
メンテナーはふだん 1 日以内に返信
dathere/datapusher-plus の issue をすべて見る
似ている issue
-
needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
gke-labs/kube-agents#5671 ·
メンテナーはふだん 1 日以内に返信
-
docs(auth): Method B step 4 should tell users to tick "Use this client for an AI-powered agent"オープンdocumentation next-release v0.9.6
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
khuisman/mcp-gee-sweet#1446 ·
メンテナーはふだん 1 日以内に返信
-
model:sonnet runtime:claude security size:S
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
FootprintAI/Containarium#3671 ·
メンテナーはふだん 1 日以内に返信
-
HolidayBase: reassigning `language` does not re-initialize translations or re-populate holidays対応中かも @shikhabhadoria が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
vacanza/holidays#4116 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug CLI exec
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信