-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
URL・クエリパラメータ等の整理 #163
Comments
上記に伴い、ClassDataStoreも生徒役と教員役で別々のものを保持しておいたほうがよいのではないかと思われる Edited: nuxt-link以外でのページ遷移で毎回初期化されるらしいので、生徒役と教員役でデータが混在することは無い模様。この観点としては今回は分離しなくても良さそう。(データ構造の観点からは別途議論) |
新旧対応表
|
現在までは Nuxt.js の Dynamic Routes に依存したURLになっており、実際のURLにはさほどの意味を持たせていないと言う認識です。整理するのは良いことだと思うのですが、悩ましいですね。 参考まで、 #140 対応時にはとりあえず
ということで、これまであまりURLは意識していなかったのですが、APIサーバーというわけでも無いのでURLは簡潔な方が良いのかなとは思っています。 |
変更案 > これについてはPJ初期から個人的には強く意識しているように、ユーザーはいわゆる先生だったり生徒である必要性が無い為、 |
かなり先の話ですが、スタディログなどが発生した場合は、子ども側にもある種の編集・管理は発生しうるので、 admin / user は避けたいです。 |
parent に関しては、保護者・養育者が親だけではないので、こちらも避けたい形です。 |
ということで、個人的には、単語による種々の制約を受けにくいという意味では、現在の
というのは結構(モデリング)センスあると思っていて、単数形/複数形の整理はしておいた方が良いかとは思います。 |
この場合、
と解釈できるかなと思います |
時間割表示に |
など、他の理由などにより、現在はアカウントを必要としない利用者が将来的に編集機能を利用する可能性が発生した場合不自然になるので避けた方が無難かなとは思います。 余談ですが、丁度昼間たまたま pinterest/ktlint: An anti-bikeshedding Kotlin linter with built-in formatterを一読したところで、自転車置き場議論について少し考えたところでした。名付けは本当難しいですね。 |
人を限定しないギリギリな属人的表現を攻めると educator / learner が可能に思われます(どっちも比較的馴染みのない単語ですが) |
でもsignupの入力事項が異なる可能性があるからやっぱり何か階層分けが必要...? |
そうですね、もちろん冗談半分ですが英単語ではなくドマイナーな言語の単語とかを使えばあるいは、と思いきや、その単語は他の言語で酷い意味を持つみたいなこともあるのが世の常でしょうか... 😿 |
実装上のことを考えると |
よく考えると、現在の |
実装やシステムアーキテクチャを無視して考えれば、アカウントはいわゆる先生だろうが生徒だろうがアカウント、それぞれ権限が異なれば出来ることが違うだけ、アカウント不要なものは認可フリーというだけの話と考える事も出来ますかね。 |
「the depth of your URL structure」は全て開発者の想定内で済むはずなので、Unknown Dynamic Nested Routesまでは使わなくても済むかなと 本件に関しては「利用者がわかりやすい」も追求したいですが、それよりも個人的には「開発者がわかりやすい」の方を重視したいところでもあります。
そうですね。各時間割表ページから |
そうすると、時間割表を見るだけ・編集もできるの二項対立に落ち着くので
ですっきりしますかね。ここを揃えたい理由( この案では、その他のアカウント関連はどっか別階層を用意する想定です( |
アカウント関連は、「教育者」「学習者」の訳語にそれぞれ teacher / student も出てきてしまうので(再逆引きすれば教員と生徒にはなるが)
生徒側は用語の一般さでいえば student、 整理すると teacher アカウントと learner アカウント、みたいな感じになるかと |
だれにとってのわかりやすさか問題 URLを設計する上では、REST API Naming Conventions and Best Practices – REST API Tutorial のような考えもあり、また example.com/1/fo-bar-baz ( |
①ユーザーの視認性・理解しやすさ(混乱を招かない) |
これまで話には出てきていないですが、ありうるユースケースとして、学校のクラスのだれかがこのシステムで時間割を作って、友達が使うといったこともあっても良いなと思ったことはあります。 |
とりあえずアカウント関連の前に、他のページについて整理すると、アカウント関連以外は基本現状のままで
だけ変える、というところに異論はありませんか? |
の結果が
なのだとすると、 単語選定は本Issueの本来の目的では無いので、要請があればそれにあわせれば良いでしょうし、それまではかりに |
ふむ... どうしましょうか
なので上手く機能しないんですよね (自転車置き場議論って何かの時事的話題かと思っていたけど、そういう法則があるのか) |
ちょっと気になったのでコメントさせて下さい アカウントはアカウントだと思います。あえて言うなら 「(teacherが使う)アカウント」「(leanerが使う)アカウント」、それぞれ異なるのは権限など認可により制御されるだけのもので、やはりアカウントに他ならないです。役割でも無いです。 例えば銀行の口座があって、A先生が開設した口座と、X仙人が開設した口座があっても、ヒトはどちらも単なる「口座」として捉えている(でろう)ように、アカウントはアカウントで良いと思います。 |
あぁ、 teacherが使うアカウント用のページが詰まってるディレクトリ → |
このスレをずっと見ていましたが、あまりに未来の可能性のことまで広げすぎているかなという感じがしました。 |
あくまで開発者的視点で個人的な観点ですが、「teacherでログインしてないと見られないページ」は「middlewareがteacherログインページに追い返す」という挙動があるので、その挙動が起きるページを何かしらのディレクトリにまとめたいという思惑があります( しかもよくみると |
当初の提案に関して提案者としては、利用者について考慮していたのはキャピタライズの部分だけで、残り99%は開発者目線でした |
/userと/accountに分かれちゃってますが、ここについては別に分ける必要がないので #159 の対応と共にuserに統一しようと思っています。 /edit、/lessonについても必ずしもその階層になくてはいけないわけではない(/user/editなどにしてもOK)です! |
再検討案件 |
このあたり、認証系(ガードのあり方)も絡めて議論したい感じです。 |
時間割を見るだけのページ(生徒側を想定。以下「生徒役」ユーザー)と、時間割の編集が可能なページ(教員側を想定。以下「教員役」ユーザー)でURLを大別するとわかりやすいのではないか。
/
: サービストップページ(兼 生徒役ログインページ)/terms
: 利用規約(閲覧のみ)ページ(現/policy
から/terms
に変更予定 )/about
: 紹介ページ?/student
ディレクトリ: 生徒役用のページ群/student
: 時間割ページ(現/classes
)/student/lesson?id=
: 各授業の詳細ページ(現/lesson
)/teacher
ディレクトリ: 教員役用のページ群/teacher/login
: 教員役ログインページ(現/account/login
)/teacher/signup
: 教員役登録ページ(現/user/signup
)/teacher/signup/agree
: 教員役 登録時利用規約同意ページ(現/terms
から/agree
に変更予定 )/teacher/agree
/teacher/reset-password
: 未使用・パスワードリセット(現/account/resetPassword
)usernamerecovery
forgotpassword
reset
など/teacher/edit
: 時間割を見て授業を登録したり編集したりするページ(現/edit
)/teacher/classes/new
: 新クラス登録ページ(現/user/registerClass
)/teacher/classes/success
: 新クラス登録完了ページ(現/user/registered
)/teacher/classes/select
: クラス一覧・選択ページ(現/user/classlist
)各ページ名は
が良いと思われる。lowerCamelCaseの例はあまり見られず、またnon-techなユーザーにはこのようなキャピタライズは自然に見えないだろう。
どのサイトでも、そもそも単語が複数にならないような工夫をしていた。
The text was updated successfully, but these errors were encountered: