-
Notifications
You must be signed in to change notification settings - Fork 4
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
[UC] Server / Storage Description #21
Comments
i feel like there's a CVE user-story hiding in here 😄 |
Would some kind of templating language (even of optional/opt-in) be in-scope here? I feel like the group needs to decide (separately?) if this could be in-scope or if the timeline inclines the group to establish an "extension point" and comes back to it in later iterations... |
I assume that @csarven 's intent was not necessarily to include such a feature in the spec, but to not define a spec that would make such feature(s) impossible. He'll correct me if I got it wrong. [edit] maybe I am wrong, at least in part. |
Right, I mean that URI template as an example, and can be among many things that could be potentially described in a storage description. No doubt it is generally wide open as to what could be described. It's also clear that all of this could be split into separate use cases, but for now, they all fit under the broader case of describing something about the storage. This is because the notion of storage is fundamental: what it can do, what it represents, and so on. I'll update the use case description with more detail. |
IMO all those use cases need more specific context. In collaborative environments, there can be dozens of servers, dozens of apps, and dozens of other parties involved. Whenever a server is mentioned, it should be clear how it relates to the actor. If the actor isn't a developer, there is a good chance they will not know much about underlying infrastructure; instead, casual actors would see things as pod provided by ACME, etc. Some of the one-liners heavily suggest that the actor is a developer and not a casual user. I think it would be better to make it explicit. |
On the contrary, all of this is ultimately for the "user". The "developer" seeks to discover and present information within an interface, in the appropriate context. Once again, the examples I listed are grounded in incubated work. The user is never expected to discover, fetch, or process storage information on their own. Thus, nothing heavy is being suggested here beyond the obvious:
Let me know if you'd like me to create a use case along the lines of: "Describe Resources" that is human and machine-readable. since based on your reasoning, anything short of human-readable will be for the developer as opposed to the user, so we'll have to make sure that will be applied consistently. |
I can't imagine talking to any of my neighbors or to someone I meet at the farmer's market and hearing them say word URI templates. LWS could decide to meet those needs by using URI templates. Still, Pepe and Beto should never have to understand that such a thing exists. Just as I don't need to know which time of the year to plant zucchini or how to prescribe lenses for myopia. |
Once again, I copied the examples for a category and marked my comment as a draft intentionally. The broader context is about storage descriptions (or something similar) in all cases. Even if Torres were portrayed as a "developer" in the draft example, that role is not mutually exclusive with others, such as a "casual user" (see also cyborgs). Additional parallels include dogfooding, eating one's own cooking, self-publishing, etc. What seems evident is that the concept of a storage description holds value for a variety of actors. Recognising this only strengthens the proposal. Even if the specific draft example involving Torres were omitted, it would not diminish the larger picture - the idea that some details about a storage system remain universally useful. That said, I went ahead and revised the content, added more example use cases, and expanded the remaining details. While some specific use cases might warrant their own separate exploration, this potential does not preclude their inclusion as part of the general use case here. |
This was discussed during the #lws meeting on 13 January 2025. View the transcriptStorage Description<gb> Issue 21 [UC] Server / Storage Description (by csarven) [triage] [usecase] acoburn: I agree. It may not be the best one to use now. Maybe alternatively try #21 csarven: Data management, maybe? I think Hadrian made a good point to focus on the core one(s). So, data management and data discovery. acoburn: Any further topics? Nope |
Server and/or storage "description" (in its general sense) encompasses a category of use cases. I originally raised this issue in solid/specification#355, where I provided several specific examples. I've adapted and extended the examples:
Use cases:
Preconditions:
What conditions must be in place or assumed before this use case can begin?
Trigger:
What (user or system) event or action initiates this use case?
When actors generally needs to assess the storage system's description to ensure compatibility with their requirements, which may prompt the need for updates. This could be initiated by a need to verify policies, available resources, or alignment with existing standards before committing data or actions to the storage.
Actors:
Describe the primary actor, and any other relevant actors involved in this use case
Distinction:
What unique challenges or distinguishing factors (like technical issues, user experience needs, workflow integration, etc.) are associated with this use case?
Scenario:
Describe an ideal or happy-case scenario where this use case would play out as intended.
An individual or system reviewing the storage description to assess its alignment with specific requirements, policies, or standards. This enables them to determine the storage's suitability and potentially initiate updates if necessary to ensure compatibility and meet the intended use case.
Alternative case(s):
What alternative flows or variations should the system handle for this use case?
Error scenario:
What unexpected issues or errors might arise, and how should the system handle them?
See also #34
Acceptance Criteria:
What conditions or criteria must be met for this use case to be considered successfully handled? What limitations are acceptable?
References:
List any relevant resources or examples that could inform this use case, possibly from other domains or solutions.
The text was updated successfully, but these errors were encountered: