|
|
|
|
|
|
|
|
|
|
|
|
Data shape |
core critical |
Evaluation |
required in app meta? |
Add later? |
db table |
Uploaded app |
Single File app |
Store view in ds-host |
app distribution site |
App Name |
I18N (?) string |
|
in metadata or in code |
warn if missing |
|
app (latest) and app version |
dropapp.json |
run createApp |
show |
appinfo.toml |
App Version |
semver |
for sequencing of versions |
in metadata or in code |
required (could default to 0.0.1 if missing) |
|
app version |
dropapp.json |
run createApp |
show |
appinfo.toml |
App Entrypoint |
rel path from app archive root |
for running |
default of app.js or app.ts |
if not sfa and not default |
|
app version (or not? bake that into bootstrap.js at install time?) |
dropapp.json |
no - there's only one file |
|
appinfo.toml |
ds lib support version |
semver of ds_lib_support |
what sandbox code to run it with |
run deno info to see what version it loads |
coherent value required |
Right now we have DS api at 0, and it's fine, so could potentially add later. |
app version |
dropapp.json |
eval in getApp |
show |
appinfo.toml |
Data Schema |
integer for now |
yes |
run createApp |
schema 0 if none (should have no disk access?) |
|
app version |
dropapp.json |
evaluate |
show |
appinfo.toml |
Migrations |
array of objects with fields: from, to? |
yes, tells if it's possible to migrate appspace data |
run createApp, look at migrations |
|
|
|
|
|
|
|
Route risk |
Public-dynamic, public-static, private |
|
reun create app get routes |
|
|
|
|
|
|
|
Permissions (later) |
|
yes |
run createApp |
evaluated |
Assume no permissions to grant if absent |
gets it own table probably? Unclear |
dropapp.json |
|
show |
appinfo.toml |
Signature |
string with sig and pub key? |
for app identification and hence sequencing (?) |
signature must be against an archive to be verifiable |
No. sign archive and put sig in presentation layer |
Not signed if no signature field. |
Probably at least a bool? Or put full sig in app table? |
Should be included |
not possible? |
show |
appinfo.toml |
Vendored |
bool |
yes to know if net needed |
deno info |
evaluated |
Assume not vendored unless specified |
|
dropapp.json |
evaluate |
show |
appinfo.toml |
Code characteristics |
Remote, TS, none |
yes |
deno info on app code with json output? |
evaluated |
Assume remote, TS. Note these can be evaluated locally (probably). |
|
dropapp.json |
|
show |
appinfo.toml |
App Icon |
rel path to file |
|
|
optional, name + atach |
|
app (latest) and app version |
Include in package |
no or link? |
show |
appinfo.toml link? |
App Main Screenshot |
rel path to file |
|
|
No bc you need access to it without loading archive |
Nice to have. Can display app withtout this. |
app |
Include in package |
no or lnk? |
show |
appinfo.toml link? |
DS Packaging Version |
int? x.y? |
for reading the metadata |
in metadata or in code |
required (could infer from DS API version?) |
Assume it's the first released version if not mentioned? |
|
dropapp.json |
if package ver means metadata ver, then yes |
use internally |
appinfo.toml |
|
|
|
|
|
|
|
|
|
|
|
Language(s) |
metadata. single string, array, or lang => completion table |
yes, later when users specify language |
in metadata |
notice if missing |
Assume en |
app and app version? Or leave for later |
metadata.json |
|
show |
appinfo.toml |
Authors |
see package.json? |
|
in metadata or in code |
warn if missing? |
|
|
metadata.json |
|
show |
appinfo.toml |
App distribution URL |
URL string |
for app identification |
in metadata or in code or determined at acquisition |
? |
|
app, for app identification to user |
metadata.json |
|
show |
appinfo.toml |
Repository |
URL |
|
in metadata or in code |
optional |
|
|
metadata.json |
|
show |
appinfo.toml |
Related apps |
array of url, id, relation |
|
|
optional |
|
|
metadata.json |
|
show |
appinfo.toml |
Keywordfs |
array of English strings (not I18N so they match up) |
|
|
optional |
|
|
metadata.json |
|
show |
appinfo.toml |
Homepage |
URL |
|
in metadata or in code |
optional |
|
|
metadata.json |
|
show |
appinfo.toml |
License |
SPDX value, and URL and or path to file |
|
in metadata or in code |
warn if missing |
|
|
Include in package |
link to license text |
show |
appinfo.toml plus link |
Funding |
URL but maybe also I18N string? |
|
|
optional |
|
app (always use latest) |
metadata.json |
|
show |
appinfo.toml |
Help/docs/support URL |
URL(s) |
|
|
? |
|
App only (only latest info is relevant. |
metadata.json |
|
show |
appinfo.toml |
Age appropriateness |
(is there a standard for this? |
|
|
|
|
|
metadata.json |
|
show |
appinfo.toml |
Download Size |
either string, or integer number of bytes? |
|
|
No, measure archive and report on outside. |
|
|
metadata.json |
not realy relevant |
sho |
appinfo.toml |
Release date |
YYYY-MM-DD string? Should it be keyed to version to prevent accidental stale data? Or do we assume it's a generated date? |
|
|
|
|
|
|
|
|
|
Features? |
I18N string or something |
|
|
|
|
|
metadata.json |
|
show |
appinfo.toml |
Privacy |
Would like defined anti-patterns like YUNoHost |
|
|
optional |
|
|
metadata.json |
|
show |
appinfo.toml |
|
|
|
|
|
|
|
|
|
|
|
App Description (short) |
I18N string |
|
|
|
|
app |
|
|
show |
|
App description (long) |
I18N string (long) or ref local file or URL |
|
|
optional |
|
|
? |
|
show |
appinfo.toml |
More schreenshots |
table of (I18N title, I18N alt, rel filepath) |
|
|
No. Presentation |
|
|
? |
|
? |
appinfo.toml + links |
Release Notes |
rel path(s) to I18N Md file -- or just single language for this? |
|
|
notice if missing. Ugrading without rel notes is bad. |
|
|
Would be nice to have |
|
show |
?? |
Actual Help Files |
presentation |
|
|
|
|
|
? |
|
no |
appinfo.toml link |
|
|
|
|
|
|
|
|
|
|
|
Listing of versions |
array of semvers |
|
Need collection of existing versions |
? |
|
|
Include: signature? release date (good info) |
|
show / use internally |
at /versions ? |