clamsproject / clams-python

CLAMS SDK for python
http://sdk.clams.ai/
Apache License 2.0
4 stars 1 forks source link

synchronize user manual page btw app template and app directory #147

Closed keighrim closed 6 months ago

keighrim commented 1 year ago

Because

(related to https://github.com/clamsproject/apps/issues/21)

There's a PR open in the app directory (https://github.com/clamsproject/apps/pull/41) that publishes the general app user manual as a webpage under the app-directory.

My reasoning behind the PR was that sdk.clams.ai holds documentation for app developers, while apps.clams.ai holds information for the app users.

That said, the one that's included in the app scaffolding needs to be retired or synchronized.

Done when

CLAMS-generic-readme.md file is removed and instead add a link to the app user manual to the main readme .

Or keep it as is and find a way to automatically synchronize its contents to https://apps.clams.ai/clamsapp .

Additional context

No response

keighrim commented 1 year ago

My primary concern with https://github.com/clamsproject/apps/pull/41 is that it separates the user manual from the sdk repository, but there's chance of a SDK update causing changes in the app usability (even minor, like recent additional of multivalued runtime parameters). In such a case, SDK developers also need to update something that's now part of the SDK repository, and I don't like that fragmentation.

Here's one way to create an automatic synchronization mechanism;

  1. On SDK repo side, we keep the user manual up to date in the SDK repository (because SDK is the piece of software that determines the behaviors of apps, and thus the contents of the manual)
  2. On apps repo side, we use https://github.com/rolinh/jekyll-remote-markdown/ for automatic synchronization (this can only be done after https://github.com/clamsproject/apps/issues/42 is resolved)
  3. When there's a push to the SDK main branch that has changes in the user manual file, we manually invoke jekyll-build workflow on the apps repo side.

One problem is that once we set up a manual jekyll-build workflow, it will replace the default github pages workflow. Hence we need to carefully design the workflow to make sure the app registration workflow is not affected.

keighrim commented 6 months ago

on the https://github.com/clamsproject/apps side implementation (remote import of the markdown file in this repo), see https://github.com/clamsproject/apps/compare/93eb274d5c8a9b5bb326440fa45393a6655114a3..fc5ad13dc19e83286712cab2bce50fcb776f373b