Skip to content
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

Preparing v3.0.0 release #174

Merged
merged 91 commits into from
Oct 20, 2021
Merged

Preparing v3.0.0 release #174

merged 91 commits into from
Oct 20, 2021

Conversation

leekelleher
Copy link
Owner

Preparation for Contentment v3.0.0 release.

I'm unsure what major version this should be.
My gut instinct was to v9.0 it, but then I'm tying myself to
Umbraco versions, unable to make my own breaking-changes.
I've gone with v3.0 for now.
Plus a bunch of other dependencies to be injected!

Oh and the odd inclusion of `new ConfigurationField`,
as my old syntax sugar extension method got removed.
C'est la vie `¯\_(ツ)_/¯`
I think I'll need to remove them completely, but keeping them
around in case I've missed setting one of the values elsewhere.
I don't understand Razor Pages enough (yet) to make the relevant amends.
I'm not keen on using the `ViewContext` property's setter method to do
this, but it appears there isn't an equivalent to the `SetViewData()`
override method.
Unsure what to do about those, as SQLCE support is an extra assembly
dependency, so would mean that I'd need to make an assumption that
everyone is using it. No idea what would break if that dependency wasn't
there - probably YSoD (or whatever the new "screen-of-death" is called?)
…on method

This makes sense. Still took me a good while to figure it out.
This commit is where I got up to before stopping with it.
Can't figure out why none of the API controllers are working in the back-office.
Already burnt many hours on this.
Will need to investigate how to populate them later.
e.g. `.Url()` is an important one
Turns out that it's only useful if I'm building directly from
Contentment's Visual Studio solution.
to list from the webroot, as opposed to the content root.
I'm still unsure how to do agnostic SQL queries,
(for either SQL Server or SQLCE).

If Umbraco can do it, why can't I?
As injecting `IEntityService` directly caused some internal timeout.
Wrapping in a `Lazy<>` works around this. `¯\_(ツ)_/¯`
Calling `XPathDocument` with a HTTPS URL throws an exception.
Regular HTTP is fine.

The JSON data-source uses `WebClient`, which is fine with a HTTPS URL.

Unsure whether this is a bug with my code, my machine or `XPathDocument`.
I'll investigate later and refactor as necessary.
Seems that Umbraco v9 doesn't like `internal` Tree classes.
This worked on v8. `¯\_(ツ)_/¯`
I expected subtle changes with Type Reflection for .NET Core.

I'd prefer to not have to rely on silently swallowing an exception,
in fact I'd prefer not to have a try/catch at all - and do it "properly"
leekelleher and others added 25 commits July 8, 2021 12:56
I'm going with "alpha" for this initial
release against Umbraco v9.0.0-RC001.
As I'm unsure what I'll come up against.

My aim is to keep the alphas/betas short lived.
Hit this issue...
https://docs.microsoft.com/en-us/dotnet/core/tools/sdk-errors/netsdk1005

Replaced the old "vswhere.exe" and MSBuild.exe calls with `dotnet` cli.

Removed the Umbraco package XML manifest - no longer needed.
Thanks to @KevinJump and @bergmania for help for me to resolve this.

Fixes #124
Update to Umbraco 9 RC2 and fix breaking changes
Bumped minimum Umbraco version dependency to v9.0.0-rc002
Small tweak to save calling `_umbracoContextAccessor.GetRequiredUmbracoContext()` twice.
Bumped minimum Umbraco version dependency to v9.0.0-rc003.

I'm not sure why, but Contentment v3.0.0-alpha004
didn't work with Umbraco v9.0.0-rc003.
Don't run upgrades if Umbraco isn't set up #135
# Conflicts:
#	.gitignore
#	VERSION
#	src/Umbraco.Community.Contentment/Core/Trees/TreeCollectionBuilderExtensions.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataListConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/CountriesDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/NumberRangeDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/TextInput/TextInputConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/Umbraco.Community.Contentment.csproj
Bumped minimum Umbraco version dependency to v9.0.0.
# Conflicts:
#	VERSION
#	src/Umbraco.Community.Contentment/Umbraco.Community.Contentment.csproj
# Conflicts:
#	VERSION
#	build/_nuget-post-install.targets
#	build/build-assets.ps1
#	build/build-pkgs.ps1
#	build/manifest-nuget-core.nuspec
#	src/.editorconfig
#	src/Umbraco.Community.Contentment/Composing/CompositionExtensions.cs
#	src/Umbraco.Community.Contentment/Composing/ContentmentComponent.cs
#	src/Umbraco.Community.Contentment/Composing/ContentmentComposer.cs
#	src/Umbraco.Community.Contentment/Composing/ContentmentListItemCollectionBuilder.cs
#	src/Umbraco.Community.Contentment/Composing/UmbracoBuilderExtensions.cs
#	src/Umbraco.Community.Contentment/Configuration/ContentmentSettings.cs
#	src/Umbraco.Community.Contentment/Configuration/ContentmentVersion.cs
#	src/Umbraco.Community.Contentment/Constants.cs
#	src/Umbraco.Community.Contentment/Core/DictionaryExtensions.cs
#	src/Umbraco.Community.Contentment/Core/Trees/TreeCollectionBuilderExtensions.cs
#	src/Umbraco.Community.Contentment/Core/Trees/TreeCollectionExtensions.cs
#	src/Umbraco.Community.Contentment/Core/Xml/UmbracoXPathPathSyntaxParser.cs
#	src/Umbraco.Community.Contentment/DataEditors/Buttons/ButtonsDataListEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/Bytes/BytesConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/Bytes/BytesDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/Bytes/BytesValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/CheckboxList/CheckboxListDataListEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/CodeEditor/CodeEditorConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/CodeEditor/CodeEditorDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/CodeEditor/CodeEditorValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/ConfigurationEditor/ConfigurationEditorDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/ConfigurationEditor/ConfigurationEditorModel.cs
#	src/Umbraco.Community.Contentment/DataEditors/ConfigurationEditor/ConfigurationEditorUtility.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlockPreviewModel.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlockPreviewView.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksApiController.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksDataValueEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksTypesConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentBlocksViewHelper.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/ContentTypeCacheHelper.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/DisplayModes/BlocksDisplayMode.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/DisplayModes/ListDisplayMode.cs
#	src/Umbraco.Community.Contentment/DataEditors/ContentBlocks/DisplayModes/StackDisplayMode.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataListApiController.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataListConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataListDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataListValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/CountriesDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/CurrenciesDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/EnumDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/ExamineDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/JsonDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/LanguagesDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/NumberRangeDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/PhysicalFileSystemDataSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/SqlDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/TextDelimitedDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/TimeZoneDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoContentDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoContentPropertiesDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoContentTypesDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoContentXPathDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoDictionaryDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoEntityDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoImageCropDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoLanguagesDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoMemberGroupDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoMembersDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoTagsDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoUserGroupDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UmbracoUsersDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/UserDefinedDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/XmlDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/XmlSitemapChangeFrequencyDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/XmlSitemapPriorityDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/uCssClassNameDataListSource.cs
#	src/Umbraco.Community.Contentment/DataEditors/DropdownList/DropdownListDataListEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/IconPicker/IconPickerValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/ItemPicker/ItemPickerDataListEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/Notes/NotesConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/Notes/NotesConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/Notes/NotesDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/Notes/NotesValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/NumberInput/NumberInputConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/NumberInput/NumberInputDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/NumberInput/NumberInputValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/RadioButtonList/RadioButtonListDataListEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/ReadOnly/ReadOnlyDataValueEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/RenderMacro/RenderMacroConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/RenderMacro/RenderMacroDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/RenderMacro/RenderMacroValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/Tags/TagsDataListEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/TemplatedLabel/TemplatedLabelConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/TemplatedLabel/TemplatedLabelDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/TemplatedLabel/TemplatedLabelValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/TemplatedList/TemplatedListDataListEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/TextInput/TextInputConfigurationEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/TextInput/TextInputDataEditor.cs
#	src/Umbraco.Community.Contentment/DataEditors/TextInput/TextInputValueConverter.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/AllowClearConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/DisableSortingConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/EnableDevModeConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/EnableFilterConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/HideLabelConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/HtmlAttributesConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/MaxItemsConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/ShowDescriptionsConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/ConfigurationFields/ShowIconsConfigurationField.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/IContentmentEditorItem.cs
#	src/Umbraco.Community.Contentment/DataEditors/_/IContentmentListItem.cs
#	src/Umbraco.Community.Contentment/Migrations/ContentmentPlan.cs
#	src/Umbraco.Community.Contentment/Migrations/Install/RegisterUmbracoPackageEntry.cs
#	src/Umbraco.Community.Contentment/Notifications/ContentmentTelemetryHandler.cs
#	src/Umbraco.Community.Contentment/Notifications/ContentmentUmbracoApplicationStartingNotification.cs
#	src/Umbraco.Community.Contentment/Telemetry/CompositionExtensions.cs
#	src/Umbraco.Community.Contentment/Trees/CompositionExtensions.cs
#	src/Umbraco.Community.Contentment/Trees/ContentmentTreeController.cs
#	src/Umbraco.Community.Contentment/Umbraco.Community.Contentment.csproj
#	src/Umbraco.Community.Contentment/Web/Controllers/EnumDataListSourceApiController.cs
#	src/Umbraco.Community.Contentment/Web/Extensions/HtmlHelperExtensions.cs
#	src/Umbraco.Community.Contentment/Web/Extensions/PublishedContentTypeExtensions.cs
#	src/Umbraco.Community.Contentment/Web/Extensions/PublishedElementExtensions.cs
#	src/Umbraco.Community.Contentment/Web/PublishedCache/DetachedPublishedElement.cs
#	src/Umbraco.Community.Contentment/Web/PublishedCache/DetachedPublishedProperty.cs
#	src/Umbraco.Community.Contentment/Web/Serialization/PublishedContentContractResolver.cs
#	src/Umbraco.Community.Contentment/Web/UI/App_Plugins/Contentment/backoffice/contentment/index.html
#	src/Umbraco.Community.Contentment/Web/UI/App_Plugins/Contentment/backoffice/contentment/index.js
# Conflicts:
#	VERSION
#	src/Umbraco.Community.Contentment/DataEditors/DataList/DataSources/EnumDataListSource.cs
#	src/Umbraco.Community.Contentment/Umbraco.Community.Contentment.csproj
@leekelleher leekelleher added the release A release tag label Oct 20, 2021
@leekelleher leekelleher added this to the v3.0.0 milestone Oct 20, 2021
@leekelleher leekelleher self-assigned this Oct 20, 2021
@leekelleher leekelleher merged commit fc8a64e into master Oct 20, 2021
@leekelleher leekelleher deleted the dev/v3.0 branch October 20, 2021 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release A release tag
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants