From 78d02e539b0089ef1ab1808de5fb1c4719985023 Mon Sep 17 00:00:00 2001 From: Bram van den Bogaard Date: Thu, 10 Feb 2022 13:10:17 +0000 Subject: [PATCH] Merged PR 3843: Update readme --- Infocaster.Umbraco.DateFolders.sln | 1 + LICENSE | 20 +++++ README.md | 102 +++++++++++++++++++++--- ReadMe.txt | 23 +++--- docs/assets/Infocaster_Corner.png | Bin 0 -> 17453 bytes docs/assets/infocaster_nuget_pink.png | Bin 0 -> 4034 bytes docs/assets/infocaster_nuget_pink.svg | 66 +++++++++++++++ docs/assets/infocaster_nuget_yellow.png | Bin 0 -> 4007 bytes docs/assets/infocaster_nuget_yellow.svg | 66 +++++++++++++++ 9 files changed, 257 insertions(+), 21 deletions(-) create mode 100644 LICENSE create mode 100644 docs/assets/Infocaster_Corner.png create mode 100644 docs/assets/infocaster_nuget_pink.png create mode 100644 docs/assets/infocaster_nuget_pink.svg create mode 100644 docs/assets/infocaster_nuget_yellow.png create mode 100644 docs/assets/infocaster_nuget_yellow.svg diff --git a/Infocaster.Umbraco.DateFolders.sln b/Infocaster.Umbraco.DateFolders.sln index 5af6f14..ab09653 100644 --- a/Infocaster.Umbraco.DateFolders.sln +++ b/Infocaster.Umbraco.DateFolders.sln @@ -10,6 +10,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution .gitignore = .gitignore azure-pipelines.yml = azure-pipelines.yml GitVersion.yml = GitVersion.yml + LICENSE = LICENSE README.md = README.md ReadMe.txt = ReadMe.txt EndProjectSection diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4efded2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2022 Infocaster BV + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md index 3708e6b..b0f1343 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,99 @@ -# Datefolders -This package creates Datefolders (year/month(/day)) for the specified doctype for Umbraco 9. For umbraco 8 use v3, for older versions please use v2 +

+ +

-# Behavior +

+DateFolders + +[![Downloads](https://img.shields.io/nuget/dt/Infocaster.Umbraco.DateFolders?color=ff0069)](https://www.nuget.org/packages/Infocaster.Umbraco.DateFolders/) +[![Nuget (with prereleases)](https://img.shields.io/nuget/vpre/Infocaster.Umbraco.DateFolders?color=ffc800)](https://www.nuget.org/packages/Infocaster.Umbraco.DateFolders/) +![GitHub](https://img.shields.io/github/license/Infocaster/DateFolders?color=ff0069) + +

+This package makes it easy to separate your content base on the day on which it is added. +With websites becoming bigger and bigger it is important that the content editors can easily find their content. This package makes that possible! +A great use case for this is a website that shows articles or blog posts. With this package they will always be ordered correctly by date, no matter how many items the content editor has written. + + +## Requirements +This package creates Datefolders (year/month(/day)) for the specified doctype for Umbraco 8.2.x+ . For umbraco 7 use v2 and older versions please use v1.4

+**for Umbraco 9 use version 9.0.x and above!** + +## Getting Started +The DateFolders package is also available via NuGet. Visit [The DateFolders package on NuGet](https://www.nuget.org/packages/Infocaster.Umbraco.DateFolders/). +After installing the package, just complete the configuration steps below and you'll be good to go! + +## Behavior - When you create a document with doctype "itemDocType", this package will automatically create year/month/day folders for it - When you edit the "itemDateProperty", the document is automatically moved to the correct year/month/day folder - Automatically cleans up empty year, month and day folders - Orders the items in the year, month and dayfolders by "itemDateProperty" with every action ## Configuration -Add these keys/values to your appsettings.json in a new section: - -
+```json
 "DateFolders": {
-    "ItemDateProperty":  "",            // the property of the itemDocType to read the date from (e.g. "startDate") (don't add this key if you just want to use the document's create date)
-    "CreateDayFolders": false,          // boolean indicating whether or not day folders should be created
-    "OrderByDescending": true,          // boolean indicating sort order for date folders (default: false)
-    "FolderDocType": "dateFolder",      // the doctype to use for creating the year/month/day folders (e.g "DateFolder")
-    "ItemDocTypes": [ "contentPage" ]   // the doctype alias to create datefolders for (e.g. "newsItem") - multiple doctype aliases are allowed
+    "ItemDateProperty":  "",            
+    "CreateDayFolders": false,          
+    "OrderByDescending": true,          
+    "FolderDocType": "dateFolder",      
+    "ItemDocTypes": [ "contentPage" ]   
 }
-
\ No newline at end of file +``` + +- **ItemDocTypes** | The doctype alias to create datefolders for. (e.g. "contentPage") - comma separated values are allowed for multiple doctype aliases +- **ItemDateProperty** | The property of the itemDocType to read the date from. (e.g. "startDate") (don't add this key if you just want to use the document's create date) +- **DateFolderDocType** | The doctype to use for creating the year/month/day folders. (e.g "DateFolder") +- **CreateDayFolders** | Boolean indicating whether or not day folders should be created, if false only years and months are created. +- **OrderByDecending** | Boolean indicating sort order for date folders (default: false) + +## Credits ## +The Support Module is made by Infocaster, a Dutch company dedicated to improving your Umbraco experience. + +## Changelog +Version 9.0.0 +- Updated to use umbraco v9. + +Version 3.0.0 +- Updated to use umbraco v8. + +Version 2.1.2 +- Fixed nested date folders. +- Fix to sort + +Version 2.1.1 +- Fixed cast error when using Date picker with DB type date. + +Version 2.1 +- Removed legacy configuration settings +- Added datefolders:OrderByDecending +- Implemented fix for 'Publish At' given by - Wayne Godfrey +- Refactored to reduce code complexity + +Version 2.0.1 +- Fix to order by child name + +Version 2.0 +- Updated to use umbraco v6 api. +- Fixed ordering to handle non date folders. + +Version 1.4 +- Removed Threading (Threading can cause the back-end to be out-of-sync, therefore removed) +- Changed configuration keys, added prefix (legacy still works) +- Added day folders feature (configurable, off by default) +- Fixed silly order by hard-coded propertyAlias bug + +Version 1.3 +- Better exception handling (speechbubble) +- Exception get's handled when the datefoler document type doesn't exist +- Month folders are now named with a leading zero if the month number is a single number (01, 02 etc.) +- Exception get's handled when a date item is created under the 'Content' root node + +Version 1.2 +- Support for multiple docTypes (comma separated) + +Version 1.1 +- Tree get's synced automatically + + + + \ No newline at end of file diff --git a/ReadMe.txt b/ReadMe.txt index ab458e6..a6b262d 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,4 +1,3 @@ - _____ _ __ _ _ | __ \ | | / _| | | | | | | | | __ _| |_ ___ | |_ ___ | | __| | ___ _ __ ___ @@ -7,18 +6,24 @@ |_____/ \__,_|\__\___| |_| \___/|_|\__,_|\___|_| |___/ ------------------------------------------------------------------ +======================================================== Add the following configuration to your appsettings.json file: "DateFolders": { - "ItemDateProperty": "", // the property of the itemDocType to read the date from (e.g. "startDate") (don't add this key if you just want to use the document's create date) - "CreateDayFolders": false, // boolean indicating whether or not day folders should be created - "OrderByDescending": true, // boolean indicating sort order for date folders (default: false) - "FolderDocType": "dateFolder", // the doctype to use for creating the year/month/day folders (e.g "DateFolder") - "ItemDocTypes": [ "contentPage" ] // the doctype alias to create datefolders for (e.g. "newsItem") - multiple doctype aliases are allowed + "ItemDateProperty": "", + "CreateDayFolders": false, + "OrderByDescending": true, + "FolderDocType": "dateFolder", + "ItemDocTypes": [ "contentPage" ] } ------------------------------------------------------------------ +ItemDocType | The doctype alias to create datefolders for. (e.g. "contentPage") - comma separated values are allowed for multiple doctype aliases +ItemDateProperty | The property of the itemDocType to read the date from. (e.g. "startDate") (don't add this key if you just want to use the document's create date) +DateFolderDocType | The doctype to use for creating the year/month/day folders. (e.g "DateFolder") +CreateDayFolders | Boolean indicating whether or not day folders should be created, if false only years and months are created. +OrderByDecending | Boolean indicating sort order for date folders (default: false) -More information: https://our.umbraco.com/packages/developer-tools/datefolders/ \ No newline at end of file +For more information, check out the links below: +Github - https://github.com/Infocaster/Datefolders +Our Umbraco - https://our.umbraco.com/packages/developer-tools/datefolders \ No newline at end of file diff --git a/docs/assets/Infocaster_Corner.png b/docs/assets/Infocaster_Corner.png new file mode 100644 index 0000000000000000000000000000000000000000..4d401d4974ac4cd13941dbcc1f4e088029a2c075 GIT binary patch literal 17453 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 literal 0 HcmV?d00001 diff --git a/docs/assets/infocaster_nuget_pink.png b/docs/assets/infocaster_nuget_pink.png new file mode 100644 index 0000000000000000000000000000000000000000..122cc2692003d056879d6dd25b0123843fa49bbb GIT binary patch literal 4034 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 literal 0 HcmV?d00001 diff --git a/docs/assets/infocaster_nuget_pink.svg b/docs/assets/infocaster_nuget_pink.svg new file mode 100644 index 0000000..49313af --- /dev/null +++ b/docs/assets/infocaster_nuget_pink.svg @@ -0,0 +1,66 @@ + + + + + + + + + + diff --git a/docs/assets/infocaster_nuget_yellow.png b/docs/assets/infocaster_nuget_yellow.png new file mode 100644 index 0000000000000000000000000000000000000000..e4a6f116e3d910b82f36f946a9f8ac1ecddbab1a GIT binary patch literal 4007 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 + + + + + + + + +