Skip to content

Commit

Permalink
Merge pull request #352 from leekelleher/dev/v4.x
Browse files Browse the repository at this point in the history
Preparing v4.5.0 release
  • Loading branch information
leekelleher authored Oct 11, 2023
2 parents d4b1657 + 89ae0ee commit 4189968
Show file tree
Hide file tree
Showing 177 changed files with 3,621 additions and 735 deletions.
8 changes: 6 additions & 2 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,14 @@ Given there are now multiple versions of Contentment that support multiple versi
- The [`dev/v1.x`](https://github.com/leekelleher/umbraco-contentment/tree/dev/v1.x) branch is for Contentment **v1.4.x** patch releases, this targets Umbraco **v8.6.1**.
- The [`dev/v2.x`](https://github.com/leekelleher/umbraco-contentment/tree/dev/v2.x) branch is for Contentment **v2.2.x** patch releases, this targets Umbraco **v8.14.0**.
- The [`dev/v3.x`](https://github.com/leekelleher/umbraco-contentment/tree/dev/v3.x) branch is for Contentment **v3.4.x** patch releases, this targets both Umbraco **v8.17.0** and **v9.0.0**.
- The [`dev/v4.x`](https://github.com/leekelleher/umbraco-contentment/tree/dev/v4.x) branch is for Contentment **v4.x** (current) releases, this targets Umbraco **v8.17.0**, **v9.5.0**, **v10.0.0** and **v11.0.0**.
- The [`dev/v4.x`](https://github.com/leekelleher/umbraco-contentment/tree/dev/v4.x) branch is for Contentment **v4.x** (current) releases, this targets Umbraco **v8.17.0**, **v9.5.0**, **v10.0.0**, **v11.0.0** and **v12.0.0**.
- The `dev/v5.x` branch will be for Contentment **v5.x** (future) releases, this will target Umbraco **v10.0.0**, **v11.0.0**, **v12.0.0** and **v13.0.0**.
- The `dev/v6.x` branch will be for Contentment **v6.x** (future) releases, this will target Umbraco **v15.0.0**.
- The `dev/v7.x` branch will be for Contentment **v7.x** (future) releases, this will target Umbraco **v15.0.0**,**v16.0.0** and **v17.0.0**.


### Further reading

I've been thinking a lot about Jeff Geerling's post ["Why I close PRs (OSS project maintainer notes)"](https://www.jeffgeerling.com/blog/2016/why-i-close-prs-oss-project-maintainer-notes) lately. If you do submit a PR and feel that I'm closing down the conversation, this is most likely the rationale behind it.
I've been thinking a lot about Jeff Geerling's post ["Why I close PRs (OSS project maintainer notes)"](https://www.jeffgeerling.com/blog/2016/why-i-close-prs-oss-project-maintainer-notes) lately.
If you do submit a PR and feel that I'm closing down the conversation, this is most likely the rationale behind it.

6 changes: 0 additions & 6 deletions .github/IDEAS.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,12 @@

- Content Blocks - add Content Picker support, (think Content Blocks + MNTP, for reusable blocks).

- Griddle - a lightweight version of the Grid, (think a stacked block editor with the richness of Grid editors).

- Content Picker + Templated Label
With a similar feel to [Multiple Content Picker with Preview](https://our.umbraco.com/packages/website-utilities/content-picker-with-preview/).
- https://github.com/Offroadcode/Multiple-Content-Node-Picker-With-Preview
- https://github.com/umbraco/Umbraco-CMS/blob/v10/contrib/src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.controller.js
- https://github.com/umbraco/Umbraco-CMS/blob/v10/contrib/src/Umbraco.Web.UI.Client/src/views/propertyeditors/contentpicker/contentpicker.html#L9-L19

- Data Picker - a picker for larger queryable data-sources; for scenarios where Data List has its limitations.

- Block - a single item edition of the Block List editor.

- [Time Duration](https://github.com/leekelleher/umbraco-contentment/discussions/114)


Expand Down
47 changes: 27 additions & 20 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Let's take a look inside...
- [Code Editor](../docs/editors/code-editor.md) - a code snippet editor, _(using the ACE library that is bundled with Umbraco)._
- [Content Blocks](../docs/editors/content-blocks.md) - a block editor, configurable using element types.
- [Data List](../docs/editors/data-list.md) - an editor that combines a custom data source with a custom list editor.
- [Data Picker](../docs/editors/data-picker.md) - advanced picker editor to query a custom data source.
- [Editor Notes](../docs/editors/editor-notes.md) - Similar to [Notes](../docs/editors/notes.md), with enhanced UI options.
- [Icon Picker](../docs/editors/icon-picker.md) - an editor to select an icon (from the Umbraco icon library).
- [List Items](../docs/editors/list-items.md) - an editor to manage items with a name, value, icon and description.
Expand All @@ -40,25 +41,27 @@ Let's take a look inside...
- [Textbox List](../docs/editors/textbox-list.md) - a multi-textstring editor, adds a textbox for each item in a custom data source.
- [Text Input](../docs/editors/text-input.md) - a textstring editor, configurable with HTML5 options.

#### Telemetry
#### [Telemetry](../docs/telemetry.md)

Information about the [telemetry feature](../docs/telemetry.md).

#### Releases
#### [Releases](../releases)

Downloads are available on the [releases page](https://github.com/leekelleher/umbraco-contentment/releases).
Downloads are available on the [releases page](../releases).

#### Installation

_**Please note...**_

- v4.x supports **Umbraco v8.17** (on .NET 4.7), **Umbraco v9.5** (on .NET 5.0 only), **Umbraco v10.0** (on .NET 6.0) and **Umbraco v11.0** (on .NET 7.0), it will support those versions and above.
- v4.x supports **Umbraco v8.17.0** (on .NET 4.7.2), **Umbraco v10** (on .NET 6.0) and **Umbraco v11/v12** (on .NET 7.0), it will support those versions and above.
- v3.x supports **Umbraco v8.17.0** and **Umbraco v9.0.0**, it will work on latest Umbraco v8.x and v9.x releases.
- v2.x was developed against **Umbraco v8.14.0**, it will still work on latest Umbraco v8.x releases.
- v1.x was developed against **Umbraco v8.6.1**, it will still work on latest Umbraco v8.x releases.

With Contentment v3+ on Umbraco v9+ (.NET 5+), you can only install a package from the [NuGet package repository](https://www.nuget.org/packages/Our.Umbraco.Community.Contentment). For Umbraco v8.x, the package can still be installed from either [Our Umbraco](https://our.umbraco.com/packages/backoffice-extensions/contentment/) or NuGet package repositories.

To understand more about which Umbraco CMS versions are actively supported by Umbraco HQ, please see [Umbraco's Long-term Support (LTS) and End-of-Life (EOL) policy](https://umbraco.com/products/knowledge-center/long-term-support-and-end-of-life/).

##### NuGet package repository

To [install from NuGet](https://www.nuget.org/packages/Umbraco.Community.Contentment), you can run the following command from the `dotnet` CLI:
Expand All @@ -76,27 +79,23 @@ If you are using Umbraco v8.x, and prefer to install Contentment from the backof

#### Demo website

[A demo website is available for testing purposes.](../src/Umbraco.Cms.10.0.0/README.md) _(Please note, you will need to clone the repository and run locally.)_
[A demo website is available for testing purposes.](../src/Umbraco.Cms.10.x/README.md) _(Please note, you will need to clone the repository and run locally.)_


### Documentation
### [Documentation](../docs/)

[Documentation for each of the components - with screenshots, use-cases and code examples](../docs/) - can be found in the `/docs` folder.
Documentation for each of the components - with screenshots, use-cases and code examples - can be found in the `/docs` folder.

Please note, you may find other components within Contentment that have not yet been documented.<br>
_Let's call those "life's little surprises"._


#### Known issues

- **Compatibility with Umbraco v9 running .NET 6.0** (on Contentment v4)
- Due to how the .NET multi-targeting support has been implemented in Contentment, if you are running Umbraco v9 on .NET 6.0 and want to install the Contentment package, you may experience an `NU1107: Version conflict detected` error. At present, the workarounds are to either upgrade to Umbraco v10, or use Contentment v3.x. If you have an alternative workaround suggestion, please do let me know. [See #223 for details.](https://github.com/leekelleher/umbraco-contentment/issues/223) _(Note: v9 on .NET 5.0 is totally fine.)_

- **Data List**
- When using the Umbraco Content data source with an XPath query, inside a Nested Content editor, it will not be able to identify the contextual containing node ID. e.g. your XPath query will not work. [See #30 for details.](https://github.com/leekelleher/umbraco-contentment/issues/30)
- When using the Umbraco Content data source with an XPath query that contains a `$` prefix parameter, the preview will not display the items. [See #120 for details.](https://github.com/leekelleher/umbraco-contentment/issues/120)
- With Umbraco v9 (Contentment v3), SQL data source does not support querying SQL CE. [See #172 for details.](https://github.com/leekelleher/umbraco-contentment/issues/172)
- With Umbraco v10 (Contentment v4), SQL data source does not support querying SQLite, _(yet!)_ [See #258 for details.](https://github.com/leekelleher/umbraco-contentment/issues/258)
- When using the **Umbraco Content** data source with an XPath query, inside a Nested Content or Block List editors, it will not be able to identify the contextual containing node ID. e.g. your XPath query will not work. [See #30 for details.](https://github.com/leekelleher/umbraco-contentment/issues/30)
- When using the **Umbraco Content** data source with an XPath query that contains a `$` prefix parameter, the preview will not display the items. [See #120 for details.](https://github.com/leekelleher/umbraco-contentment/issues/120)
- With Umbraco v10 (Contentment v4), **SQL** data source does not support querying SQLite, _(yet!)_ [See #258 for details.](https://github.com/leekelleher/umbraco-contentment/issues/258)


### [Roadmap](ROADMAP.md)
Expand All @@ -108,12 +107,12 @@ If you would like to know what is coming up in future releases, then take a look

I've been doing open source for a long time. I have suffered my fair share of burnout and empathy fatigue.

I reserve the right to address bug reports or feature requests in my own time, or ignore them completely.
I reserve the right to address bug reports or feature requests **in my own time**, or ignore them completely.

**Any feedback is welcome and appreciated.** But please keep in mind, I am not your personal support developer.
**Any feedback is welcome and appreciated.** Please keep in mind, I am not your personal support developer.

If you are really stuck, do remember that the Umbraco community is amongst the friendliest on our planet, learn to embrace it.
Ask for help on the [Our Umbraco support forum](https://our.umbraco.com/), or the [Community Discord Channel](https://community.umbraco.com/get-involved/community-discord-channel/), I am sure someone can help you there.
If you are really stuck, do remember that the Umbraco community is amongst the friendliest on our planet, learn to embrace it.
Ask for help on the [Our Umbraco support forum](https://our.umbraco.com/), or the [Community Discord Server](https://community.umbraco.com/get-involved/community-discord-server/), I am sure someone can help you there.


### Contributions, collaborations, rules of engagement
Expand All @@ -136,7 +135,8 @@ Copyright &copy; [Lee Kelleher](https://leekelleher.com).

All source code is licensed under the [Mozilla Public License](../LICENSE).

#### A note about licensing
<details>
<summary><strong>A note about licensing</strong></summary>

Historically, I used the [MIT license](https://opensource.org/licenses/MIT) for my open-source projects, regretfully I no longer feel MIT reflects my spirit of encouraging open source collaboration.
The main difference with the [Mozilla Public License](https://opensource.org/licenses/MPL-2.0) is that if you make any modifications to the source code, then you **must** make those changes publicly available.
Expand All @@ -147,6 +147,7 @@ If you do not to intend to modify the source code, then you will still have the

For more information about the **Mozilla Public License**, please visit: <https://www.mozilla.org/en-US/MPL/2.0/FAQ/>

</details>

### Acknowledgements

Expand All @@ -155,7 +156,7 @@ For more information about the **Mozilla Public License**, please visit: <https:
- [Lee Kelleher](https://leekelleher.com) - ([GitHub](https://github.com/leekelleher), [Mastodon](https://mastodon.social/@leekelleher), [Twitter](https://twitter.com/leekelleher))

<details>
<summary>Current development effort: <b>1,637+ hours</b> (between 2019-03-13 to 2023-04-25)</summary>
<summary>Current development effort: <b>~1,674+ hours</b> (between 2019-03-13 to 2023-08-24)</summary>

_To give you an idea of how much human developer time/effort has been put into making this package._

Expand All @@ -165,8 +166,14 @@ _To give you an idea of how much human developer time/effort has been put into m
#### Special thanks

- Thank you to [Umbrella](https://umbrellainc.co.uk) for facilitating the time and resource to help me initiate this project.
- Kudos to [Gibe](https://gibe.digital/) for enabling the development of the [Data Picker](../docs/editors/data-picker.md) editor.


#### Logo

The package logo uses the [Happy](https://thenounproject.com/term/happy/375493/) (by [Nick Bluth](https://thenounproject.com/nickbluth/)) icon from the [Noun Project](https://thenounproject.com), licensed under [CC BY 3.0 US](https://creativecommons.org/licenses/by/3.0/us/).


### Icons

The [Social Links](../docs/editors/social-links.md) editor makes use of social media icons from the Font Awesome library, (as downloaded SVG files). These are licensed under the [Font Awesome Free License](https://fontawesome.com/license/free) agreement, specifically under the [CC BY 4.0 License](https://creativecommons.org/licenses/by/4.0/).
32 changes: 26 additions & 6 deletions .github/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

Here is a _provisional_ roadmap for the Contentment for Umbraco package, to be actioned at my own pleasure.

> To note: I try to follow the [Semantic Versioning](https://semver.org/) standard.
> TL;DR, `[Major].[Minor].[Patch]`, Major = breaking-change; Minor = feature; Patch = bug-fix.

## v1

Expand Down Expand Up @@ -111,24 +114,41 @@ Property Editors are:
- Data List: [Umbraco Content Property Value](https://github.com/leekelleher/umbraco-contentment/pull/287) data-source.
- Data List Item editor _(the one that is used in the User-defined data-source)._

### v4.5
### [v4.5](https://github.com/leekelleher/umbraco-contentment/releases/tag/4.5.0)

- [Data Picker](https://github.com/leekelleher/umbraco-contentment/pull/297)
- Data List: [Umbraco Backoffice Sections](https://github.com/leekelleher/umbraco-contentment/commit/c8a2f0f8552b2ad3a778782f13c45cbb18aff88c) data-source.

### v4.6

- [Content Blocks](../docs/editors/content-blocks.md) ["Templated" display mode](https://github.com/leekelleher/umbraco-contentment/discussions/278)
- Content Blocks - add Content Picker support, (think Content Blocks + MNTP, for reusable blocks). _Thank @lssweatherhead_ :wink:

### v4.7

- Content Blocks: ["Templated" display mode](https://github.com/leekelleher/umbraco-contentment/discussions/278)


## v5

- `(⌐■_■)` _I'm parking the idea of a v5! Originally, my plans was for v5 to drop support for v8 and v9, focusing on v10+, but with v14 (new backoffice) on the horizon, I might save my development efforts._
- _Adds support for Umbraco 13 (.NET 8)._
- _Removes support for Umbraco 8 (.NET Framework 4.7.2) and Umbraco 9 (.NET 5)._
- _Convert to a Razor Class Library?_ :thinking:


## Future feature releases
## v6

- [Support for the new Umbraco backoffice, aka Bellissima](https://github.com/leekelleher/umbraco-contentment/issues/316).
- _Adds support for Umbraco 15 (.NET 9)._
- _Removes support for Umbraco 10 (.NET 6), Umbraco 11, 12 (.NET 7) and Umbraco 13 (.NET 8)._

_Who knows?!_ `¯\_(ツ)_/¯`

**I have [a few of ideas](IDEAS.md)**, or [suggest your own idea?](https://github.com/leekelleher/umbraco-contentment/discussions/new?category=ideas)
## v7

- _Adds support for Umbraco 17 (.NET 10)._


## Future feature (minor) releases

_Who knows?!_ `¯\_(ツ)_/¯`

**I have [a bunch of ideas](IDEAS.md)**, or [suggest your own idea?](https://github.com/leekelleher/umbraco-contentment/discussions/new?category=ideas)
9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,23 @@ Thumbs.db
.DS_Store
*.log
.vs
node_modules/

artifacts/
build/__umb/*
build/assets/
build/build-push-nuget.ps1
build/build-push-umb.ps1
src/packages/*/**
src/Umbraco.Cms.10.x/appsettings-schema.json
src/Umbraco.Cms.*.x/appsettings-schema.json
src/Umbraco.Cms.*.x/appsettings-schema.Umbraco.Cms.json
src/Umbraco.Cms.*.x/umbraco-package-schema.json
src/Umbraco.Cms.8.x/App_Data/*
src/Umbraco.Cms.*.x/App_Plugins/*/**
src/Umbraco.Cms.8.x/Umbraco/*
src/Umbraco.Cms.*.x/Umbraco/Data/*
src/Umbraco.Cms.*.x/[Uu]mbraco/Data/*
src/Umbraco.Cms.*.x/[Uu]mbraco/Logs/*
src/Umbraco.Cms.*.x/Views/Partials/[Bb]lock[Ll]ist/*
src/Umbraco.Cms.*.x/Views/Partials/[Gg]rid/*
src/Umbraco.Community.Contentment/wwwroot/App_Plugins/Contentment/*
tools/*.exe
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4.4.6
4.5.0
2 changes: 1 addition & 1 deletion build/_nuget-post-install.targets
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<ContentmentPackageContentFilesPath>$(MSBuildThisFileDirectory)..\content\App_Plugins\Contentment\**\*.*</ContentmentPackageContentFilesPath>
</PropertyGroup>

<Target Name="CopyContentmentPackageAssets" BeforeTargets="Build">
<Target Name="CopyContentmentPackageAssets" BeforeTargets="BeforeBuild">
<ItemGroup>
<ContentmentPackageContentFiles Include="$(ContentmentPackageContentFilesPath)" />
</ItemGroup>
Expand Down
2 changes: 1 addition & 1 deletion build/_vs-copy-assets.targets
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
<ContentmentPackageContentFilesPath>$(MSBuildThisFileDirectory)assets\App_Plugins\Contentment\**\*.*</ContentmentPackageContentFilesPath>
</PropertyGroup>

<Target Name="CopyContentmentPackageAssets" BeforeTargets="Build">
<Target Name="CopyContentmentPackageAssets" BeforeTargets="BeforeBuild">
<ItemGroup>
<ContentmentPackageContentFiles Include="$(ContentmentPackageContentFilesPath)" />
</ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions build/build-assets.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@ foreach($razorFile in $razorFiles){

# CSS - Bundle & Minify
$targetCssPath = "${pluginFolder}contentment.css";
Get-Content -Raw -Path "${ProjectDir}**\**\*.css" | Set-Content -Encoding UTF8 -Path $targetCssPath;
Get-Content -Raw -Path "${ProjectDir}**\**\*.css" -Exclude "node_modules" | Set-Content -Encoding UTF8 -Path $targetCssPath;
& "${rootDir}\tools\AjaxMinifier.exe" $targetCssPath -o $targetCssPath

# JS - Bundle & Minify
$targetJsPath = "${pluginFolder}contentment.js";
Get-Content -Raw -Path "${ProjectDir}**\**\*.js" | Set-Content -Encoding UTF8 -Path $targetJsPath;
Get-Content -Raw -Path "${ProjectDir}**\**\*.js" -Exclude "node_modules" | Set-Content -Encoding UTF8 -Path $targetJsPath;
& "${rootDir}\tools\AjaxMinifier.exe" $targetJsPath -o $targetJsPath
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Here is the documentation for the Contentment property-editors...
- [Code Editor](../docs/editors/code-editor.md) - a code snippet editor, _(using the ACE library that is bundled with Umbraco)._
- [Content Blocks](../docs/editors/content-blocks.md) - a block editor, configurable using element types.
- [Data List](../docs/editors/data-list.md) - an editor that combines a custom data source with a custom list editor.
- [Data Picker](../docs/editors/data-picker.md) - advanced picker editor to query a custom data source.
- [Editor Notes](../docs/editors/editor-notes.md) - Similar to [Notes](../docs/editors/notes.md), with enhanced UI options.
- [Icon Picker](../docs/editors/icon-picker.md) - an editor to select an icon (from the Umbraco icon library).
- [List Items](../docs/editors/list-items.md) - an editor to manage items with a name, value, icon and description.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/editors/data-picker--property-editor-01.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/editors/data-picker--property-editor-02.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 4189968

Please sign in to comment.