You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Basically it's purpose (AFAIK) is to help in very specific Oqtane-internal dialogs to configure Database settings. As of now, there is no relevant reason why Module Developers should access this. It's actually important that they don't ever use this, since some day you may make it more generic and have to rename (like to GenericInputField) or modify it and not worry about external effects.
So my point is there should be a clear distinction between
APIs for public use, which developers creating solutions on Oqtane should use. These must of course remain very stable and be well documented.
APIs for the building of Oqtane and Oqtane-internal dialogs and processes which are expected to only ever be referenced in the Oqtane solution, so we can freely rename them, modify them etc. as we see fit, without worrying about side effects.
There are a few ways to do this, including
Adding Attributes like the [PrivateApi] and hiding these in documentation
Makeing them internal and configuring the assembly so internal models are available on the core Oqtane projects, basically making internal a public inside Oqtane only
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
While documenting I stumbled across an architecture issue which I believe will haunt us in future if we don't address them early.
To explain, I'll demonstrate this on the
ConnectionStringField
class documented here: http://docs.oqtane.me/api/Oqtane.Models.ConnectionStringField.htmlBasically it's purpose (AFAIK) is to help in very specific Oqtane-internal dialogs to configure Database settings. As of now, there is no relevant reason why Module Developers should access this. It's actually important that they don't ever use this, since some day you may make it more generic and have to rename (like to
GenericInputField
) or modify it and not worry about external effects.So my point is there should be a clear distinction between
There are a few ways to do this, including
[PrivateApi]
and hiding these in documentationinternal
and configuring the assembly so internal models are available on the core Oqtane projects, basically makinginternal
a public inside Oqtane onlyYour thoughts.
Beta Was this translation helpful? Give feedback.
All reactions