Add support for a new curve data format in the Curves package converter system
日本語の概要は準備中です。原文の説明を表示しています。
Save, publish, create, attach to, or share a Datagrok project, including turning data sync on. The save and share flows drive the platform dialogs through their AI functions.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
The Save Project dialog is the platform's save/publish entry and the only reliable way to get
per-table data sync, creation-script dependency linking, and the correct upload order. Do not
hand-write project/table saves with grok.dapi — open the dialog and drive it through its
functions.
Open the dialog (datagrok_exec) — do NOT await the dialog promise (it resolves only when
the dialog closes):
const project = grok.shell.project;
DG.Project.showSaveDialog({
tables: [t], views: [view], // add more pairs for multi-table saves
project: project.isOnServer ? project : undefined, // re-publish into the SAME project
name: project.isOnServer ? undefined : '<name the user gave>',
});
return {dialogOpened: true};
Find it: list_view_widgets — the dialog is an extra root ref dlg0 ("Save project");
note also the child ref of its entity-list widget (type ProjectEntityMoveWidget).
Read its state: get_view_function_result(name: 'getProjectSaveInfo', widget: 'dlg0') —
name (with validity), description, presentation mode, and every entity to be saved, with
dataSync / dataSyncPossible per table.
Adjust only what the user asked for, via call_view_function:
dlg0: setProjectName, setProjectDescription, setPresentationMode, setSaveMode
(when the dialog offers it)listEntities, setDataSync(table, enabled),
setEntityAction(name, action)Every function returns {success: false, error: ...} with the reason when something can't be
done (e.g. data sync without a creation script) — report that reason; never work around it
with raw tag/meta writes.
Confirm: call_view_function(name: 'clickButton', parameters: {name: 'OK'}, widget: 'dlg0')
— applies the save and closes the dialog. If the user wanted to review first, stop before this
step and say the dialog is ready.
Verify server-side (datagrok_verify) — the upload is asynchronous, so if the first
re-read misses, confirm the dialog has closed and retry once:
const p = await grok.dapi.projects.filter('friendlyName = "<name>"').first();
return p != null;
When data sync was requested, also verify the table:
(await grok.dapi.tables.find('<tableInfoId>')).tags['.data-sync'] === 'sync'.
A synced table re-runs its creation script when the project opens. The platform records that
script only when the query/script runs through its own pipeline — grok.functions.call /
grok.data.query run as processed calls and record nothing. So for "query the database and save
it with data sync":
Make sure the query is saved on the server: create it with
connection.query('<name>', '<sql>'), q = await grok.dapi.queries.save(q), then re-read by
id (grok.dapi.queries.find(q.id)) — never by name, duplicates shadow name lookups.
Run the server copy so the result opens in the workspace with a creation script:
const call = q.prepare({});
await call.call(false, undefined, {processed: false});
Open the Save dialog (above) and setDataSync(table, true). If it answers
"no creation script", step 2 didn't happen — fix that instead of forcing tags.
datagrok_projects(op: "create", args: {name}) once.datagrok_projects(op: "share", args: {projectId, groups, access}) —
access "View"|"Edit", default "View"; ask when no group is named.
When the platform's Share dialog is open instead (a dlg<N> ref), drive it the same way:
getShareInfo, addShareGrantee(name), setShareAccess(access), setShareMessage(message),
then clickButton OK.grok.dapi.tables.save / uploadDataFrame / projects.save — the
dialog handles upload order, table meta, and sync dependencies; manual writes corrupt them..data-sync / .script tags directly — use setDataSync and let it refuse when the
precondition fails.getProjectSaveInfo, or check the dialog
closed); a second dialog or a duplicate project is worse than a late answer.setDataSync (or dataSyncPossible) confirms it.まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Add support for a new curve data format in the Curves package converter system
日本語の概要は準備中です。原文の説明を表示しています。
Create info panels that appear in the context panel based on semantic types
日本語の概要は準備中です。原文の説明を表示しています。
Add a new single-objective optimization algorithm to the sci-comp library. Use when the user asks to implement a new optimizer (e.g. gradient descent, BFGS, simulated annealing, differential evolution).
日本語の概要は準備中です。原文の説明を表示しています。
Add unit tests to a Datagrok package
日本語の概要は準備中です。原文の説明を表示しています。
Answer a "how do I …" question about the platform with a Gherkin scenario on @datagrok-libraries/bdd that is filmed into a how-to video (grok-bdd guide), so the answer is demonstrated, sent as a video plus numbered steps, and kept as a regression test
日本語の概要は準備中です。原文の説明を表示しています。
Translate hand-written Playwright specs (or any existing UI tests) into Gherkin features on @datagrok-libraries/bdd, then prove the features test what they claim by backward-matching them against the originals with independent reviewers, and fix the gaps in the core, the library and the features
日本語の概要は準備中です。原文の説明を表示しています。