-
Notifications
You must be signed in to change notification settings - Fork 6
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
Promote IInitialisationSettings interface to BHoM #480
Conversation
@BHoMBot check project-compliance |
@FraserGreenroyd to confirm, the following actions are now queued:
|
@FraserGreenroyd fix requested for project compliance. The errors with the CSProject ( I will apply the fixes to every case detailed on the checks tab with the exception of any references to the target framework. I am unable to provide fixes to the Target Framework automatically, these will need to be performed manually. If you want to perform the fixes in a different manner please resolve this manually and rerun the check. If you are happy for me to go ahead and perform this action, please reply with:
|
@BHoMBot fix project file ref. 21569055403 |
@FraserGreenroyd I have queued up your request to fix the |
@FraserGreenroyd I am now going to fix the project compliance in accordance with the annotations previously made. |
@FraserGreenroyd to confirm I have now resolved the project compliance issues and pushed a commit to this Pull Request. |
@BHoMBot check project-compliance |
@FraserGreenroyd to confirm, the following actions are now queued:
|
@FraserGreenroyd to confirm, the following actions are now queued:
|
e2bf974
to
c86ac03
Compare
@FraserGreenroyd just to let you know, I have provided a |
@FraserGreenroyd just to let you know, I have provided a |
@FraserGreenroyd to confirm, the following actions are now queued:
There are 8 requests in the queue ahead of you. |
@FraserGreenroyd just to let you know, I have provided a |
@FraserGreenroyd to confirm, the following actions are now queued:
There are 5 requests in the queue ahead of you. |
@FraserGreenroyd just to let you know, I have provided a |
@BHoMBot check core |
@FraserGreenroyd to confirm, the following actions are now queued:
There are 5 requests in the queue ahead of you. |
@FraserGreenroyd just to let you know, I have provided a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approval based off my review on linked PR.
@BHoMBot check ready-to-merge |
@Tom-Kingstone to confirm, the following actions are now queued:
|
@FraserGreenroyd just to let you know, I have provided a |
NOTE: Depends on
BHoM/BHoM#1598
#480
Issues addressed by this PR
Fixes BHoM/BHoMAnalytics_Toolkit#73
BHoM_UI has not been upgraded toNetStandard2.0
because many of the GUI components are not compatible. The BHoM_UI project is typically only depended upon by the other UIs (Grasshopper, Excel, etc.) which are also notNetStandard2.0
compliant. However, BHoMAnalytics_Toolkit, and others, depend on the UI_oM and UI_Engine, and particularly as @adecler continues prototyping up our zero code tools, they requireNetStandard2.0
DLLs, and the issue as described in BHoM/BHoMAnalytics_Toolkit#73 is basically the Analytics Toolkit is unhappy because the UI elements it depends on are inNetFramework
rather thanNetStandard
.Thus, UI_oM and UI_Engine have been upgraded toNetStandard2.0
while BHoM_UI has been left onNetFramework
but given some tweaks to support it.I have then added the alternative configuration forZeroCodeTool
which will be used when building the Nugets to exclude the BHoM_UI project when it builds for Nugets.To test this, compile this PR and then compile a UI of your choice (Grasshopper, Excel, etc.) to ensure it is built on top of this PR, and then play around with the UI. Try and use the search menus and stuff which rely on theNetFramework
elements more to ensure they aren't broken.While all of the above is still true and valid, testing revealed too many issues owing to the need for the UIs to remain within the
NetFramework
era of the runtime frameworks. Therefore, upgrading the oM and Engine did not work as intended and caused issues when using the UIs.So instead I went back to the original toolkit - BHoMAnalytics_Toolkit - and questioned why it was depending on BHoM_UI in the first place. It turns out, it's entirely for the interface
IInitialisationSettings
so that BHoMAnalytics could have their own settings object to be handled on initialisation. As great as that is, a dependency on UI_oM for just that seems overkill, especially as BHoMAnaltyics_Toolkit is not a UI itself, nor does it have a UI, and thus could arguably not depend on BHoM_UI for its work.Thus, this solution - move the interface it needs from here up to the core BHoM repository within the base oM (BHoM). This makes sense from my perspective as while initialisation settings are nice to use from a UI, they are not only needed from a UI context, so having them in the core makes more sense to be more accessible for contexts outside the UI.