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.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
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; the same scenarios, filmed in help mode, are the GIFs of the help pages
中文简介正在准备中。当前显示原文说明。
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
中文简介正在准备中。当前显示原文说明。