Update storage addon development guide#18
Open
chiku-samugari wants to merge 2 commits into
Open
Conversation
…tion Rewrite the storage addon developer guide for the latest construction, whose backend is the upstream osf.io + GravyValet + WaterButler and whose frontend is angular-osf. StorageAddon/README.md: - Add a "開発環境の準備" (development environment) section: run osf.io / GravyValet / WaterButler as independent Docker Compose projects and angular-osf via `ng serve`, unified behind a single-origin Caddy reverse proxy on http://localhost. All local changes live in override files; the upstream sources stay untouched. Covers per-service setup, the bring-up order, and health checks. - Describe a storage addon as a standalone plugin (triplet: osf.io addon + GravyValet foreign addon imp + WaterButler provider), installed via pip/poetry as normal Python packages instead of being embedded in the osf.io / GravyValet / WaterButler codebases. - Add the GravyValet addon imp section (ForeignAddonImpConfig, the imp / addon_imp_name properties, the unique app label, build_wb_config). - Update the osf.io addon part (proxy models + TypedModelRejoinMixin, AppConfig, getattr-based settings, migration stripping), document the identifier coupling rule (short_name / _provider / addon_imp_name / wb_key / WaterButler entry point), and the credential/settings delegation flow: osf.io -> GravyValet -> WaterButler - Drop RDM/ember-only content (mako templates, *-cfg.js, Fangorn, JS i18n, storageAddons.json, RDM timestamp); the UI is provided by angular-osf and GravyValet. - Switch the running example from "My MinIO" to NextCloud, with clickable links to the `nextcloud_plugin` repository. - Update install/verification steps (addons.json short_name, ADDONS_FOLDER_CONFIGURABLE, GravyValet ADDON_IMPS, wb_key; NextCloud Docker walkthrough), and add a screenshot of the NextCloud ExternalStorageService setup in the GravyValet admin. Figures (StorageAddon/images/): - Add Mermaid sources + rendered PNGs and embed three figures: the single-origin proxy routing (proxy-routing), the triplet install (architecture), and the credential/settings delegation (delegation), rendered on a white background so they stay legible in GitHub dark mode. Also add a naming/identifier diagram source (naming); the identifier relationships themselves are given in-text as a table. - Remove the superseded RDM UML diagrams (osf_class, wb_class, crud). Remove the orphaned RDM-osf.io "My MinIO" example sources under StorageAddon/osf.io/ and StorageAddon/waterbutler/ (43 files), no longer referenced after the rewrite. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… guide Add a「新規ユーザの登録(サインアップ)とメール確認」subsection to 「開発環境の準備」covering the three things that must line up for local sign-up email confirmation to work on the single-origin stack: - enable_mailhog waffle switch — otherwise the send takes the SendGrid path, raises (no local API key), and the request transaction rolls back, so the unconfirmed user is never created (HTTP 500). - populate_notification_types seeding — otherwise the NotificationType rows have empty templates, yielding an empty body / Subject: None. Also document the 2h ttl_cached_property cache on NotificationTypeEnum.*.instance that requires restarting the osf.io app containers after seeding. - Caddy /confirm route — add /confirm /confirm/* to the @Flask matcher so the confirmation link reaches osf.io Flask (:5000) instead of falling through to the angular SPA (which resolves it as /v2/guids/confirm/ -> 404). - Add mailhog to the backend startup command in 起動手順のまとめ. - Note that features.yaml is the one tracked file edited (for the sign-up switch defaults), unlike the other override-only files. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ストレージアドオンの開発ガイドを更新します。
バックエンドにGravyValetが追加され、Webフロントエンドがangular-osfに置き換わった現在のOSFでのストレージアドオン開発のためのローカル環境の構築と、その環境を利用したストレージアドオン開発の手順を説明する内容に更新しました。